diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c index a374845d7a2c..73d2f0c305f4 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c @@ -405,11 +405,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, @@ -438,6 +457,12 @@ static const struct unicam_fmt formats[] = { .depth = 14, .csi_dt = MIPI_CSI2_DT_RAW14, .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 */ {