media: stm32-dcmi: add support of 1X16 serial pixel formats variant
Commit Message
From: Hugues Fruchet <hugues.fruchet@st.com>
Add support of 1X16 serial pixel formats in order to support
CSI-2 camera sensor exposing 1x16 pixel formats only.
Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com>
---
drivers/media/platform/st/stm32/stm32-dcmi.c | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
Comments
Hi Hugues,
On Mon, May 16, 2022 at 11:20:48AM +0200, Hugues Fruchet wrote:
> From: Hugues Fruchet <hugues.fruchet@st.com>
>
> Add support of 1X16 serial pixel formats in order to support
> CSI-2 camera sensor exposing 1x16 pixel formats only.
>
> Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Sakari, if you're sending a new pull request for the ov5640 series,
could you include this one as otherwise dcmi would be broken when used
with that sensor.
Thanks
j
> ---
> drivers/media/platform/st/stm32/stm32-dcmi.c | 18 ++++++++++++------
> 1 file changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/media/platform/st/stm32/stm32-dcmi.c b/drivers/media/platform/st/stm32/stm32-dcmi.c
> index 09a743cd7004..b2ba4d95bfa3 100644
> --- a/drivers/media/platform/st/stm32/stm32-dcmi.c
> +++ b/drivers/media/platform/st/stm32/stm32-dcmi.c
> @@ -1592,25 +1592,31 @@ static int dcmi_set_default_fmt(struct stm32_dcmi *dcmi)
> return 0;
> }
>
> -/*
> - * FIXME: For the time being we only support subdevices
> - * which expose RGB & YUV "parallel form" mbus code (_2X8).
> - * Nevertheless, this allows to support serial source subdevices
> - * and serial to parallel bridges which conform to this.
> - */
> static const struct dcmi_format dcmi_formats[] = {
> {
> .fourcc = V4L2_PIX_FMT_RGB565,
> .mbus_code = MEDIA_BUS_FMT_RGB565_2X8_LE,
> .bpp = 2,
> + }, {
> + .fourcc = V4L2_PIX_FMT_RGB565,
> + .mbus_code = MEDIA_BUS_FMT_RGB565_1X16,
> + .bpp = 2,
> }, {
> .fourcc = V4L2_PIX_FMT_YUYV,
> .mbus_code = MEDIA_BUS_FMT_YUYV8_2X8,
> .bpp = 2,
> + }, {
> + .fourcc = V4L2_PIX_FMT_YUYV,
> + .mbus_code = MEDIA_BUS_FMT_YUYV8_1X16,
> + .bpp = 2,
> }, {
> .fourcc = V4L2_PIX_FMT_UYVY,
> .mbus_code = MEDIA_BUS_FMT_UYVY8_2X8,
> .bpp = 2,
> + }, {
> + .fourcc = V4L2_PIX_FMT_UYVY,
> + .mbus_code = MEDIA_BUS_FMT_UYVY8_1X16,
> + .bpp = 2,
> }, {
> .fourcc = V4L2_PIX_FMT_JPEG,
> .mbus_code = MEDIA_BUS_FMT_JPEG_1X8,
> --
> 2.25.1
>
Hi Jacopo,
On Mon, May 16, 2022 at 05:02:37PM +0200, Jacopo Mondi wrote:
> Hi Hugues,
>
> On Mon, May 16, 2022 at 11:20:48AM +0200, Hugues Fruchet wrote:
> > From: Hugues Fruchet <hugues.fruchet@st.com>
> >
> > Add support of 1X16 serial pixel formats in order to support
> > CSI-2 camera sensor exposing 1x16 pixel formats only.
> >
> > Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com>
>
> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
>
> Sakari, if you're sending a new pull request for the ov5640 series,
> could you include this one as otherwise dcmi would be broken when used
> with that sensor.
Just took this into my tree, with your refreshed ov5640 set.
Thanks!
Hi Sakari, Jacopo
Thanks for all !
On 5/18/22 19:08, Sakari Ailus wrote:
> Hi Jacopo,
>
> On Mon, May 16, 2022 at 05:02:37PM +0200, Jacopo Mondi wrote:
>> Hi Hugues,
>>
>> On Mon, May 16, 2022 at 11:20:48AM +0200, Hugues Fruchet wrote:
>>> From: Hugues Fruchet <hugues.fruchet@st.com>
>>>
>>> Add support of 1X16 serial pixel formats in order to support
>>> CSI-2 camera sensor exposing 1x16 pixel formats only.
>>>
>>> Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com>
>>
>> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
>>
>> Sakari, if you're sending a new pull request for the ov5640 series,
>> could you include this one as otherwise dcmi would be broken when used
>> with that sensor.
>
> Just took this into my tree, with your refreshed ov5640 set.
>
> Thanks!
>
BR,
Hugues.
@@ -1592,25 +1592,31 @@ static int dcmi_set_default_fmt(struct stm32_dcmi *dcmi)
return 0;
}
-/*
- * FIXME: For the time being we only support subdevices
- * which expose RGB & YUV "parallel form" mbus code (_2X8).
- * Nevertheless, this allows to support serial source subdevices
- * and serial to parallel bridges which conform to this.
- */
static const struct dcmi_format dcmi_formats[] = {
{
.fourcc = V4L2_PIX_FMT_RGB565,
.mbus_code = MEDIA_BUS_FMT_RGB565_2X8_LE,
.bpp = 2,
+ }, {
+ .fourcc = V4L2_PIX_FMT_RGB565,
+ .mbus_code = MEDIA_BUS_FMT_RGB565_1X16,
+ .bpp = 2,
}, {
.fourcc = V4L2_PIX_FMT_YUYV,
.mbus_code = MEDIA_BUS_FMT_YUYV8_2X8,
.bpp = 2,
+ }, {
+ .fourcc = V4L2_PIX_FMT_YUYV,
+ .mbus_code = MEDIA_BUS_FMT_YUYV8_1X16,
+ .bpp = 2,
}, {
.fourcc = V4L2_PIX_FMT_UYVY,
.mbus_code = MEDIA_BUS_FMT_UYVY8_2X8,
.bpp = 2,
+ }, {
+ .fourcc = V4L2_PIX_FMT_UYVY,
+ .mbus_code = MEDIA_BUS_FMT_UYVY8_1X16,
+ .bpp = 2,
}, {
.fourcc = V4L2_PIX_FMT_JPEG,
.mbus_code = MEDIA_BUS_FMT_JPEG_1X8,