Hi Sakari, Thank you for the patch. On Wed, Mar 13, 2024 at 09:25:10AM +0200, Sakari Ailus wrote: > Add a media bus code for ov2740 camera sensor embedded data and document > it. > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > --- > .../media/v4l/subdev-formats.rst | 66 +++++++++++++++++++ > include/uapi/linux/media-bus-format.h | 3 +- > 2 files changed, 68 insertions(+), 1 deletion(-) > > diff --git a/Documentation/userspace-api/media/v4l/subdev-formats.rst b/Documentation/userspace-api/media/v4l/subdev-formats.rst > index ca4da6a400ff..a875868ed951 100644 > --- a/Documentation/userspace-api/media/v4l/subdev-formats.rst > +++ b/Documentation/userspace-api/media/v4l/subdev-formats.rst > @@ -8594,3 +8594,69 @@ This mbus code are only used for "2-byte simplified tagged data format" (code > embedded data format codes. > > Also see :ref:`CCS driver documentation <media-ccs-routes>`. > + > +Omnivision OV2740 Embedded Data Format > +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > + > +The Omnivision OV2740 camera sensor produces the following embedded data format. > + > +.. flat-table:: Omnivision OV2740 Embedded Data Format. Octets at indices marked > + reserved or unused have been omitted from the table. > + :header-rows: 1 > + > + * - Byte > + - Concent description s/Concent/Content/ > + * - 0 > + - Sensor info What does this contain ? > + * - 4 > + - Analogue gain (bits 10--8) > + * - 5 > + - Analogue gain (bits 7--0) I wonder if you could simplify the table by writing * - 4 - Analogue gain (bits 10--0) * - 6 - Coarse integration time (bits 15--0) ... and documenting that all fields are in big-endian format. A size columns could then be useful I suppose. > + * - 6 > + - Coarse integration time (bits 15--8) > + * - 7 > + - Coarse integration time (bits 7--0) > + * - 10 > + - Dpc correction threshold (bits 9--2) > + * - 15 > + - Output image width (bits 15--8) > + * - 16 > + - Output image width (bits 7--0) > + * - 17 > + - Output image height (bits 15--8) > + * - 18 > + - Output image height (bits 7--0) > + * - 23 > + - MIPI header revision number What does this contain ? > + * - 31 > + - Vertical (bit 1) and horizontal flip (bit 0) > + * - 32 > + - Frame duration A What does this contain ? Same for frame duration B, context count, context select. > + * - 33 > + - Frame duration B > + * - 34 > + - Context count > + * - 35 > + - Context select > + * - 54 > + - Data pedestal (bits 9--2) > + * - 63 > + - Frame average (bits 9--2) > + * - 64 > + - Digital gain red > + * - 65 > + - Digital gain red Bit numbers are missing. > + * - 66 > + - Digital gain greenr > + * - 67 > + - Digital gain greenr > + * - 68 > + - Digital gain blue > + * - 69 > + - Digital gain blue > + * - 70 > + - Digital gain greenb > + * - 71 > + - Digital gain greenb > + * - 89 > + - Frame counter Does this wrap at 255 ? > diff --git a/include/uapi/linux/media-bus-format.h b/include/uapi/linux/media-bus-format.h > index 03f7e9ab517b..13e68c2ccb61 100644 > --- a/include/uapi/linux/media-bus-format.h > +++ b/include/uapi/linux/media-bus-format.h > @@ -183,7 +183,8 @@ > #define MEDIA_BUS_FMT_META_20 0x8006 > #define MEDIA_BUS_FMT_META_24 0x8007 > > -/* Specific metadata formats. Next is 0x9002. */ > +/* Specific metadata formats. Next is 0x9003. */ > #define MEDIA_BUS_FMT_CCS_EMBEDDED 0x9001 > +#define MEDIA_BUS_FMT_OV2740_EMBEDDED 0x9002 > > #endif /* __LINUX_MEDIA_BUS_FORMAT_H */ -- Regards, Laurent Pinchart