[PATCH 3/3] media: uapi: Add 28-bit bayer media bus formats

From: Niklas Söderlund

Date: Tue Sep 08 2026 - 16:10:21 EST


Prepare for adding Renesas R-Car Gen5 video capture drivers which will
support 28-bit bayer formats.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx>
---
.../userspace-api/media/v4l/subdev-formats.rst | 132 +++++++++++++++++++++
include/uapi/linux/media-bus-format.h | 6 +-
2 files changed, 137 insertions(+), 1 deletion(-)

diff --git a/Documentation/userspace-api/media/v4l/subdev-formats.rst b/Documentation/userspace-api/media/v4l/subdev-formats.rst
index 39396931e726..d4f35f6236db 100644
--- a/Documentation/userspace-api/media/v4l/subdev-formats.rst
+++ b/Documentation/userspace-api/media/v4l/subdev-formats.rst
@@ -4310,6 +4310,138 @@ organization is given as an example for the first pixel only.
- r\ :sub:`2`
- r\ :sub:`1`
- r\ :sub:`0`
+ * .. _MEDIA-BUS-FMT-SBGGR28-1X28:
+
+ - MEDIA_BUS_FMT_SBGGR28_1X28
+ - 0x3029
+ -
+ - b\ :sub:`27`
+ - b\ :sub:`26`
+ - b\ :sub:`25`
+ - b\ :sub:`24`
+ - b\ :sub:`23`
+ - b\ :sub:`22`
+ - b\ :sub:`21`
+ - b\ :sub:`20`
+ - b\ :sub:`19`
+ - b\ :sub:`18`
+ - b\ :sub:`17`
+ - b\ :sub:`16`
+ - b\ :sub:`15`
+ - b\ :sub:`14`
+ - b\ :sub:`13`
+ - b\ :sub:`12`
+ - b\ :sub:`11`
+ - b\ :sub:`10`
+ - b\ :sub:`9`
+ - b\ :sub:`8`
+ - b\ :sub:`7`
+ - b\ :sub:`6`
+ - b\ :sub:`5`
+ - b\ :sub:`4`
+ - b\ :sub:`3`
+ - b\ :sub:`2`
+ - b\ :sub:`1`
+ - b\ :sub:`0`
+ * .. _MEDIA-BUS-FMT-SGBRG28-1X28:
+
+ - MEDIA_BUS_FMT_SGBRG28_1X28
+ - 0x302a
+ -
+ - g\ :sub:`27`
+ - g\ :sub:`26`
+ - g\ :sub:`25`
+ - g\ :sub:`24`
+ - g\ :sub:`23`
+ - g\ :sub:`22`
+ - g\ :sub:`21`
+ - g\ :sub:`20`
+ - g\ :sub:`19`
+ - g\ :sub:`18`
+ - g\ :sub:`17`
+ - g\ :sub:`16`
+ - g\ :sub:`15`
+ - g\ :sub:`14`
+ - g\ :sub:`13`
+ - g\ :sub:`12`
+ - g\ :sub:`11`
+ - g\ :sub:`10`
+ - g\ :sub:`9`
+ - g\ :sub:`8`
+ - g\ :sub:`7`
+ - g\ :sub:`6`
+ - g\ :sub:`5`
+ - g\ :sub:`4`
+ - g\ :sub:`3`
+ - g\ :sub:`2`
+ - g\ :sub:`1`
+ - g\ :sub:`0`
+ * .. _MEDIA-BUS-FMT-SGRBG28-1X28:
+
+ - MEDIA_BUS_FMT_SGRBG28_1X28
+ - 0x302b
+ -
+ - g\ :sub:`27`
+ - g\ :sub:`26`
+ - g\ :sub:`25`
+ - g\ :sub:`24`
+ - g\ :sub:`23`
+ - g\ :sub:`22`
+ - g\ :sub:`21`
+ - g\ :sub:`20`
+ - g\ :sub:`19`
+ - g\ :sub:`18`
+ - g\ :sub:`17`
+ - g\ :sub:`16`
+ - g\ :sub:`15`
+ - g\ :sub:`14`
+ - g\ :sub:`13`
+ - g\ :sub:`12`
+ - g\ :sub:`11`
+ - g\ :sub:`10`
+ - g\ :sub:`9`
+ - g\ :sub:`8`
+ - g\ :sub:`7`
+ - g\ :sub:`6`
+ - g\ :sub:`5`
+ - g\ :sub:`4`
+ - g\ :sub:`3`
+ - g\ :sub:`2`
+ - g\ :sub:`1`
+ - g\ :sub:`0`
+ * .. _MEDIA-BUS-FMT-SRGGB28-1X28:
+
+ - MEDIA_BUS_FMT_SRGGB28_1X28
+ - 0x302c
+ -
+ - r\ :sub:`27`
+ - r\ :sub:`26`
+ - r\ :sub:`25`
+ - r\ :sub:`24`
+ - r\ :sub:`23`
+ - r\ :sub:`22`
+ - r\ :sub:`21`
+ - r\ :sub:`20`
+ - r\ :sub:`19`
+ - r\ :sub:`18`
+ - r\ :sub:`17`
+ - r\ :sub:`16`
+ - r\ :sub:`15`
+ - r\ :sub:`14`
+ - r\ :sub:`13`
+ - r\ :sub:`12`
+ - r\ :sub:`11`
+ - r\ :sub:`10`
+ - r\ :sub:`9`
+ - r\ :sub:`8`
+ - r\ :sub:`7`
+ - r\ :sub:`6`
+ - r\ :sub:`5`
+ - r\ :sub:`4`
+ - r\ :sub:`3`
+ - r\ :sub:`2`
+ - r\ :sub:`1`
+ - r\ :sub:`0`

.. raw:: latex

diff --git a/include/uapi/linux/media-bus-format.h b/include/uapi/linux/media-bus-format.h
index 892b8c0a945e..2b8438d936ad 100644
--- a/include/uapi/linux/media-bus-format.h
+++ b/include/uapi/linux/media-bus-format.h
@@ -124,7 +124,7 @@
#define MEDIA_BUS_FMT_YUV16_1X48 0x202a
#define MEDIA_BUS_FMT_UYYVYY16_0_5X48 0x202b

-/* Bayer - next is 0x3029 */
+/* Bayer - next is 0x302d */
#define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001
#define MEDIA_BUS_FMT_SGBRG8_1X8 0x3013
#define MEDIA_BUS_FMT_SGRBG8_1X8 0x3002
@@ -165,6 +165,10 @@
#define MEDIA_BUS_FMT_SGBRG24_1X24 0x3026
#define MEDIA_BUS_FMT_SGRBG24_1X24 0x3027
#define MEDIA_BUS_FMT_SRGGB24_1X24 0x3028
+#define MEDIA_BUS_FMT_SBGGR28_1X28 0x3029
+#define MEDIA_BUS_FMT_SGBRG28_1X28 0x302a
+#define MEDIA_BUS_FMT_SGRBG28_1X28 0x302b
+#define MEDIA_BUS_FMT_SRGGB28_1X28 0x302c

/* JPEG compressed formats - next is 0x4002 */
#define MEDIA_BUS_FMT_JPEG_1X8 0x4001

--
2.55.0