mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v5 0/3] Add Sony IMX471 camera sensor driver
@ 2026-06-24  3:35 Kate Hsuan
  2026-06-24  3:35 ` [PATCH v5 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; 18+ messages in thread
From: Kate Hsuan @ 2026-06-24  3:35 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 v5:
1. Add a description for the DMI_BOARD_NAME in the ipu-bridge driver.
2. Check the numbers of MIPI lanes. The driver only support 4 lanes mode.
3. Fix many rumetime PM issues.
4. Drop pixel_rate control variable.
5. Drop unnecessary comments.
6. Name the registers.
7. Fix a leak in imx471_init_controls().

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           | 971 +++++++++++++++++++++++++++
 drivers/media/pci/intel/ipu-bridge.c |  41 ++
 5 files changed, 1029 insertions(+)
 create mode 100644 drivers/media/i2c/imx471.c

--
2.54.0


^ permalink raw reply	[flat|nested] 18+ messages in thread
* Re: [PATCH v5 3/3] media: i2c: imx471: Add Sony IMX471 image sensor driver
@ 2026-06-26 18:10 Anis TALBI
  0 siblings, 0 replies; 18+ messages in thread
From: Anis TALBI @ 2026-06-26 18:10 UTC (permalink / raw)
  To: hpa
  Cc: mchehab, johannes.goede, hverkuil+cisco, sakari.ailus, serin.yeh,
	tarang.raval, gdamjan, linux-media, linux-kernel

Hi Kate,

As mentioned on Bugzilla (#2454119), I successfully tested the v5 patchset via the Koji build on my Lenovo ThinkPad X9 (Lunar Lake). 

The camera stream works perfectly, and both the image orientation and the Bayer order (colors) are now 100% correct despite the upside-down mounting.

Tested-by: computman<anis@talbi.fr>

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

end of thread, other threads:[~2026-06-26 18:10 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-24  3:35 [PATCH v5 0/3] Add Sony IMX471 camera sensor driver Kate Hsuan
2026-06-24  3:35 ` [PATCH v5 1/3] media: ipu-bridge: Add DMI information of Lenovo X9 to the image upside-down list Kate Hsuan
2026-06-24  3:35 ` [PATCH v5 2/3] media: ipu-bridge: Add Sony IMX471 for Lenovo X1 Carbon G14 Kate Hsuan
2026-06-24  3:35 ` [PATCH v5 3/3] media: i2c: imx471: Add Sony IMX471 image sensor driver Kate Hsuan
2026-06-24  8:43   ` Tarang Raval
2026-06-24  9:08     ` Kate Hsuan
2026-06-24  9:58       ` Tarang Raval
2026-06-24 10:01         ` Sakari Ailus
2026-06-25  3:55           ` Kate Hsuan
2026-06-24  8:55   ` Sakari Ailus
2026-06-24  9:30     ` Kate Hsuan
2026-06-24 10:02       ` Sakari Ailus
2026-06-24 10:12   ` Vladimir Zapolskiy
2026-06-25  5:36     ` Kate Hsuan
2026-06-24 13:08   ` Kieran Bingham
2026-06-24 14:06     ` Tarang Raval
2026-06-25  5:46       ` Kate Hsuan
2026-06-26 18:10 Anis TALBI

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

all inboxes | Powered by JetHome®