v1: https://patchwork.linuxtv.org/project/linux-media/list/?series=7249 A branch for testing based on the most recent media-master is available at https://git.sr.ht/~jmondi_/linux #jmondi/media-master/ov5640-v2 If anyone with a DVP setup could verify I have not broken their use case I would very much appreciate that :) v1 -> v2: - rework the modes definition to process the full pixel array - rework get_selection to report the correct BOUND and DEFAULT targets - implement init_cfg - minor style changes as suggested by Laurent - test with 1 data lane Thanks j Jacopo Mondi (23): media: ov5640: Add pixel rate to modes media: ov5604: Re-arrange modes definition media: ov5640: Add ov5640_is_csi2() function media: ov5640: Associate bpp with formats media: ov5640: Add LINK_FREQ control media: ov5640: Update pixel_rate and link_freq media: ov5640: Rework CSI-2 clock tree media: ov5640: Rework timings programming media: ov5640: Fix 720x480 in RGB888 mode media: ov5640: Rework analog crop rectangles media: ov5640: Re-sort per-mode register tables media: ov5640: Remove ov5640_mode_init_data media: ov5640: Add HBLANK control media: ov5640: Add VBLANK control media: ov5640: Fix durations to comply with FPS media: ov5640: Implement init_cfg media: ov5640: Implement get_selection media: ov5640: Limit frame_interval to DVP mode only media: ov5640: Register device properties media: ov5640: Add RGB565_1X16 format media: ov5640: Add RGB888/BGR888 formats media: ov5640: Restrict sizes to mbus code media: ov5640: Adjust format to bpp in s_fmt drivers/media/i2c/ov5640.c | 1143 ++++++++++++++++++++++++++---------- 1 file changed, 830 insertions(+), 313 deletions(-) -- 2.35.0