]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: stm32: dcmipp: add Y10-Y12-Y14 in all subdevs
authorAlain Volmat <alain.volmat@foss.st.com>
Fri, 19 Dec 2025 14:30:38 +0000 (15:30 +0100)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Fri, 16 Jan 2026 13:08:52 +0000 (14:08 +0100)
DCMIPP can handle Y8 to Y14 input formats however until now only
Y8 was handled. Add support for Y10-Y12-Y14 in all relevant
subdevs.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-byteproc.c
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-input.c

index 6d42517817fd0a5a903c1a87acc211fba1d4c2ef..dcb791c56d4c8615636c749dd0e08deb56dd8934 100644 (file)
@@ -67,6 +67,9 @@ static const struct dcmipp_bytecap_pix_map dcmipp_bytecap_pix_map_list[] = {
        PIXMAP_MBUS_PFMT(VYUY8_2X8, VYUY),
        PIXMAP_MBUS_PFMT(VYUY8_1X16, VYUY),
        PIXMAP_MBUS_PFMT(Y8_1X8, GREY),
+       PIXMAP_MBUS_PFMT(Y10_1X10, Y10),
+       PIXMAP_MBUS_PFMT(Y12_1X12, Y12),
+       PIXMAP_MBUS_PFMT(Y14_1X14, Y14),
        PIXMAP_MBUS_PFMT(SBGGR8_1X8, SBGGR8),
        PIXMAP_MBUS_PFMT(SGBRG8_1X8, SGBRG8),
        PIXMAP_MBUS_PFMT(SGRBG8_1X8, SGRBG8),
index dde28ed288cd4b02cdc4a1a7033f394ab50e7f90..f45a3027f8f3ca05a4174d9a6e30eb30e2e6f1dd 100644 (file)
@@ -60,6 +60,9 @@ static const struct dcmipp_byteproc_pix_map dcmipp_byteproc_pix_map_list[] = {
        PIXMAP_MBUS_BPP(VYUY8_2X8, 2),
        PIXMAP_MBUS_BPP(VYUY8_1X16, 2),
        PIXMAP_MBUS_BPP(Y8_1X8, 1),
+       PIXMAP_MBUS_BPP(Y10_1X10, 2),
+       PIXMAP_MBUS_BPP(Y12_1X12, 2),
+       PIXMAP_MBUS_BPP(Y14_1X14, 2),
        PIXMAP_MBUS_BPP(SBGGR8_1X8, 1),
        PIXMAP_MBUS_BPP(SGBRG8_1X8, 1),
        PIXMAP_MBUS_BPP(SGRBG8_1X8, 1),
index c44d664f6a0bc5c43ff8eda7fb037ec06414cec7..c4bc76909b1ca844f248eb3601127d791c88ac9e 100644 (file)
@@ -25,6 +25,9 @@
 #define DCMIPP_PRCR_FORMAT_RAW12       0x2c
 #define DCMIPP_PRCR_FORMAT_RAW14       0x2d
 #define DCMIPP_PRCR_FORMAT_G8          0x4a
+#define DCMIPP_PRCR_FORMAT_G10         0x4b
+#define DCMIPP_PRCR_FORMAT_G12         0x4c
+#define DCMIPP_PRCR_FORMAT_G14         0x4d
 #define DCMIPP_PRCR_FORMAT_BYTE_STREAM 0x5a
 #define DCMIPP_PRCR_ESS                        BIT(4)
 #define DCMIPP_PRCR_PCKPOL             BIT(5)
@@ -89,6 +92,9 @@ static const struct dcmipp_inp_pix_map dcmipp_inp_pix_map_list[] = {
        PIXMAP_SINK_SRC_PRCR_SWAP(VYUY8_1X16, VYUY8_1X16, YUV422, 0, MIPI_CSI2_DT_YUV422_8B),
        /* GREY */
        PIXMAP_SINK_SRC_PRCR_SWAP(Y8_1X8, Y8_1X8, G8, 0, MIPI_CSI2_DT_RAW8),
+       PIXMAP_SINK_SRC_PRCR_SWAP(Y10_1X10, Y10_1X10, G10, 0, MIPI_CSI2_DT_RAW10),
+       PIXMAP_SINK_SRC_PRCR_SWAP(Y12_1X12, Y12_1X12, G12, 0, MIPI_CSI2_DT_RAW12),
+       PIXMAP_SINK_SRC_PRCR_SWAP(Y14_1X14, Y14_1X14, G14, 0, MIPI_CSI2_DT_RAW14),
        /* Raw Bayer */
        PIXMAP_SINK_SRC_PRCR_SWAP(SBGGR8_1X8, SBGGR8_1X8, RAW8, 0, MIPI_CSI2_DT_RAW8),
        PIXMAP_SINK_SRC_PRCR_SWAP(SGBRG8_1X8, SGBRG8_1X8, RAW8, 0, MIPI_CSI2_DT_RAW8),