This patch series is a collection of miscellaneous cleanups and
improvements to the imx214 driver.
The series converts the driver to the CCI helpers and adds controls
needed to make the driver work with libcamera.
The changes are inspired by the imx219 driver.
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
Changes in v2:
- Add patch to fix link frequency
- Don't use and remove fmt and crop from struct imx214
- Squash patch 1/13 and 2/13
- Only check if #lanes == 4
- Add comment that enum_frame_interval() shouldn't be used by userspace
- Set V4L2_CID_VBLANK step size to 2 (according to datasheet Table 4-4)
- Increase IMX214_VBLANK_MIN to limit max frame rate of full resolution
to the documented 30 fps
- As bpp is always 10, simplify setting IMX214_REG_CSI_DATA_FORMAT and
IMX214_REG_OPPXCK_DIV
- Simplify imx214_get_format_code()
- Cluster hflip and vflip
- Remove kernel log note from 11/13, issue was fixed by a kernel update
- Add A-b tags
- Link to v1: https://lore.kernel.org/r/20240902-imx214-v1-0-c96cba989315@apitzsch.eu
---
André Apitzsch (13):
media: i2c: imx214: Fix link frequency
media: i2c: imx214: Use subdev active state
media: i2c: imx214: Simplify with dev_err_probe()
media: i2c: imx214: Convert to CCI register access helpers
media: i2c: imx214: Replace register addresses with macros
media: i2c: imx214: Drop IMX214_REG_EXPOSURE from mode reg arrays
media: i2c: imx214: Check number of lanes from device tree
media: i2c: imx214: Add vblank and hblank controls
media: i2c: imx214: Extract format and crop settings
media: i2c: imx214: Implement vflip/hflip controls
media: i2c: imx214: Add analogue/digital gain control
media: i2c: imx214: Verify chip ID
media: i2c: imx214: Add test pattern control
drivers/media/i2c/Kconfig | 1 +
drivers/media/i2c/imx214.c | 1320 +++++++++++++++++++++++++++-----------------
2 files changed, 800 insertions(+), 521 deletions(-)
---
base-commit: dc492038a748d54f9be2a31a629c44710989034c
change-id: 20240818-imx214-8324784c7bee
Best regards,
--
André Apitzsch <git@apitzsch.eu>