From 6909a349d65624ce9b187a16b5594e567150d679 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 20 Jan 2023 11:56:54 +0000 Subject: [PATCH 307/697] media: bcm2835-unicam: Add support for RAW16 formats With the RAW16 formats now having a defined CSI2 data type ID, they can be added to the driver. Signed-off-by: Dave Stevenson --- .../media/platform/bcm2835/bcm2835-unicam.c | 35 ++++++++++++++++--- 1 file changed, 30 insertions(+), 5 deletions(-) --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c @@ -401,11 +401,30 @@ static const struct unicam_fmt formats[] .csi_dt = MIPI_CSI2_DT_RAW14, .valid_colorspaces = MASK_CS_RAW, }, { - /* - * 16 bit Bayer formats could be supported, but there is no CSI2 - * data_type defined for raw 16, and no sensors that produce it at - * present. - */ + .fourcc = V4L2_PIX_FMT_SBGGR16, + .code = MEDIA_BUS_FMT_SBGGR16_1X16, + .depth = 16, + .csi_dt = MIPI_CSI2_DT_RAW16, + .valid_colorspaces = MASK_CS_RAW, + }, { + .fourcc = V4L2_PIX_FMT_SGBRG16, + .code = MEDIA_BUS_FMT_SGBRG16_1X16, + .depth = 16, + .csi_dt = MIPI_CSI2_DT_RAW16, + .valid_colorspaces = MASK_CS_RAW, + }, { + .fourcc = V4L2_PIX_FMT_SGRBG16, + .code = MEDIA_BUS_FMT_SGRBG16_1X16, + .depth = 16, + .csi_dt = MIPI_CSI2_DT_RAW16, + .valid_colorspaces = MASK_CS_RAW, + }, { + .fourcc = V4L2_PIX_FMT_SRGGB16, + .code = MEDIA_BUS_FMT_SRGGB16_1X16, + .depth = 16, + .csi_dt = MIPI_CSI2_DT_RAW16, + .valid_colorspaces = MASK_CS_RAW, + }, { /* Greyscale formats */ .fourcc = V4L2_PIX_FMT_GREY, @@ -427,6 +446,12 @@ static const struct unicam_fmt formats[] .depth = 12, .csi_dt = MIPI_CSI2_DT_RAW12, .valid_colorspaces = MASK_CS_RAW, + }, { + .fourcc = V4L2_PIX_FMT_Y16, + .code = MEDIA_BUS_FMT_Y16_1X16, + .depth = 16, + .csi_dt = MIPI_CSI2_DT_RAW16, + .valid_colorspaces = MASK_CS_RAW, }, /* Embedded data format */ {