All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/4] Add Sony IMX471 camera sensor driver
@ 2026-06-29  7:40 Kate Hsuan
  2026-06-29  7:40 ` [PATCH v6 1/4] media: ipu-bridge: Add DMI information of Lenovo X9 to the image upside-down list Kate Hsuan
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Kate Hsuan @ 2026-06-29  7:40 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Hans de Goede, Hans Verkuil, Sakari Ailus,
	Serin Yeh, Tarang Raval, Damjan Georgievski, Kieran Bingham
  Cc: computman, linux-media, linux-kernel, Daniel Scally,
	Ilpo Järvinen, platform-driver-x86, 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 v6:
1. Add the con_id "vana" for the power enable to the int3472_gpio_map table.
2. Drop unnecessary macros.
3. Name the registers.

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 (4):
  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
  platform: int3472: discrete: con_id vana for Sony IMX471 as power
    enable
  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                    | 957 ++++++++++++++++++
 drivers/media/pci/intel/ipu-bridge.c          |  41 +
 drivers/platform/x86/intel/int3472/discrete.c |  18 +
 6 files changed, 1033 insertions(+)
 create mode 100644 drivers/media/i2c/imx471.c

-- 
2.54.0


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

end of thread, other threads:[~2026-07-08 12:26 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-29  7:40 [PATCH v6 0/4] Add Sony IMX471 camera sensor driver Kate Hsuan
2026-06-29  7:40 ` [PATCH v6 1/4] media: ipu-bridge: Add DMI information of Lenovo X9 to the image upside-down list Kate Hsuan
2026-06-29  7:40 ` [PATCH v6 2/4] media: ipu-bridge: Add Sony IMX471 for Lenovo X1 Carbon G14 Kate Hsuan
2026-06-29  7:40 ` [PATCH v6 3/4] platform: int3472: discrete: con_id vana for Sony IMX471 as power enable Kate Hsuan
2026-06-30  7:32   ` Tarang Raval
2026-06-30 13:33     ` Hans de Goede
2026-07-01  6:19       ` Tarang Raval
2026-07-01 11:01         ` Hans de Goede
2026-07-01 11:12           ` Sakari Ailus
2026-07-01 12:33             ` Tarang Raval
2026-07-02 18:05               ` Hans de Goede
2026-07-04 19:16                 ` Sakari Ailus
2026-07-06  7:16                   ` Tarang Raval
2026-07-06 13:05                     ` Kate Hsuan
2026-07-08  9:14                       ` Sakari Ailus
2026-07-08 12:26                         ` Tarang Raval
2026-07-02 18:01             ` Hans de Goede
2026-06-29  7:40 ` [PATCH v6 4/4] media: i2c: imx471: Add Sony IMX471 image sensor driver Kate Hsuan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.