The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH v4 0/3] Add Sony IMX471 camera sensor driver
@ 2026-06-09 12:49 Kate Hsuan
  2026-06-09 12:49 ` [PATCH v4 1/3] media: ipu-bridge: Add DMI information of Lenovo X9 to the image upside-down list Kate Hsuan
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Kate Hsuan @ 2026-06-09 12:49 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Hans de Goede, Hans Verkuil, Sakari Ailus,
	Serin Yeh, Tarang Raval, Damjan Georgievski
  Cc: linux-media, linux-kernel, Kate Hsuan

This patchset adds the Sony IMX471 camera sensor driver to the Linux
kernel and resolves the IPU7 camera can't work issueon Lenovo X9
laptops [1].

The patchset contains two patches:
1. Add DMI information of Lenovo X9 to the image upside-down list
2. Add Sony IMX471 image sensor driver

The IMX471 driver can be found in the Intel ipu6-drivers repository [2].
To comply with the sensor driver implementation, the clean-up work
includes:

1. Use CCI register helpers.

2. Enable and disable streams using enable_streams and disable_streams
   functions in struct v4l2_subdev_pad_ops. Invoke
   v4l2_subdev_s_stream_helper() to manage the streaming state.

3. Get rotation information from fwnode properties using
   v4l2_fwnode_device_parse().

4. Finalizes the initialization of the subdev, including allocation of
   the active state using v4l2_subdev_init_finalize().

5. Add the IMX471 driver to the Makefile and Kconfig file.

6. The mutex lock is managed by the V4l2 core.

7. Replace the supported link frequency with v4l2_link_freq_to_bitmap().

8. Drop unused codes.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=2454119
[2] https://github.com/intel/ipu6-drivers/commits/master/drivers/media/i2c/imx471.c

Changes in v4:
1. Add TBE20A0 (found on Lenovo X1 Carbon G14) to the supported sensors list.
2. Revert the sensor upside-down list to v1.
3. Decrease the max analog gain to 800 to mitigate the image flickering problem.
4. Return the error value when __v4l2_ctrl_modify_range() fails.
5. Fix indentation issue in Kconfig.
6. Fix the cci error value issue.
7. Drop unnecessary comments.
8. Drop unused link_freq control variable.

Changes in v3:
1. Naming the register addresses and set up the value with the correct value length.
2. Implement the .get_selection().
3. Drop "identified" field from struct imx471.
4. Drop "streaming" field from struct imx471 and use the __v4l2_ctrl_grab() instead.
5. Moreover, The naming for the register can be found in a seperated patch. If we
   agree with the patch, I will squash it into one patch.

Changes in v2:
1. Change the Bayer format setting according to the vertical and horizontal flip settings.
2. Replace the self-owned mutex with the v4l2 subdev state.
3. Rework the flip control.
4. Manage the regulators using devm_regulator_bulk_get|disable|enbale API
5. Invoke devm_v4l2_sensor_clk_get to get clock-frequency

Kate Hsuan (3):
  media: ipu-bridge: Add DMI information of Lenovo X9 to the image
    upside-down list
  media: ipu-bridge: Add Sony IMX471 for Lenovo X1 Carbon G14
  media: i2c: imx471: Add Sony IMX471 image sensor driver

 MAINTAINERS                          |   6 +
 drivers/media/i2c/Kconfig            |  10 +
 drivers/media/i2c/Makefile           |   1 +
 drivers/media/i2c/imx471.c           | 949 +++++++++++++++++++++++++++
 drivers/media/pci/intel/ipu-bridge.c |  34 +
 5 files changed, 1000 insertions(+)
 create mode 100644 drivers/media/i2c/imx471.c

-- 
2.54.0


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2026-06-12  6:58 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-09 12:49 [PATCH v4 0/3] Add Sony IMX471 camera sensor driver Kate Hsuan
2026-06-09 12:49 ` [PATCH v4 1/3] media: ipu-bridge: Add DMI information of Lenovo X9 to the image upside-down list Kate Hsuan
2026-06-10 21:59   ` Sakari Ailus
2026-06-11  7:25     ` Kate Hsuan
2026-06-11  8:24       ` Sakari Ailus
2026-06-11  9:41         ` Damjan Georgievski
2026-06-11 12:44           ` Sakari Ailus
2026-06-11 14:54             ` Mark Pearson
2026-06-12  6:58               ` Kate Hsuan
2026-06-11  9:42         ` Kate Hsuan
2026-06-11 12:42           ` Sakari Ailus
2026-06-09 12:49 ` [PATCH v4 2/3] media: ipu-bridge: Add Sony IMX471 for Lenovo X1 Carbon G14 Kate Hsuan
2026-06-09 12:49 ` [PATCH v4 3/3] media: i2c: imx471: Add Sony IMX471 image sensor driver Kate Hsuan
2026-06-10  7:11   ` Tarang Raval
2026-06-10 22:14     ` Sakari Ailus
2026-06-11  5:35       ` Tarang Raval
2026-06-11  6:38         ` Sakari Ailus
2026-06-11  6:46     ` Kate Hsuan
2026-06-11  7:29       ` Tarang Raval
2026-06-10 22:11   ` Sakari Ailus
2026-06-11  6:56     ` Kate Hsuan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox