mbox series

[v1,0/2] media: i2c: Add support for GT97xx VCM

Message ID 20240420011840.23148-1-zhi.mao@mediatek.com (mailing list archive)
Headers show
Series media: i2c: Add support for GT97xx VCM | expand

Message

Zhi Mao (毛智) April 20, 2024, 1:18 a.m. UTC
This series add YAML DT binding and V4L2 sub-device driver for Giantec's GT9768&GT9769.
GT9768&GT9769 is a 10-bit DAC with 100mA output current sink capability, designed
for voice coil motor(VCM) with I2C control bus.

This driver supports:
 - support pm runtime function for suspend/resume
 - support camera lens focus position by V4L2_CID_FOCUS_ABSOLUTE CMD
 - used in camera features on ChromeOS application

Previous versions of this patch-set can be found here:
v0: https://lore.kernel.org/all/20240410104002.1197-1-zhi.mao@mediatek.com/

This series is based on linux-next, tag: next-20240419
Changes in v1:
- dts-binding files:
-- remove "aac-mode/aac-timing/clock-presc" control information
-- remove words:"drivers" in commit message, as bindings are for hardware
-- use compatible filename for YAML
-- remove some uselss comments, as they are clear from the compatibles
-- use "camera-lens" as node-name

- gt97xx vcm driver:
-- use BIT(x) method to define some MACROs
-- remove "aac-mode/aac-timing/clock-presc" control and use the default settings
-- fix duplicate "return" case in function:power_on()/power_off()
-- use API:device_get_match_data() and dev_err_probe() in function:probe()
-- fix some coding style of comments

Thanks

Zhi Mao (2):
  media: dt-bindings: i2c: add Giantec GT97xx VCM driver
  media: i2c: Add GT97xx VCM driver

 .../bindings/media/i2c/giantec,gt9769.yaml    |  56 +++
 drivers/media/i2c/Kconfig                     |  13 +
 drivers/media/i2c/Makefile                    |   1 +
 drivers/media/i2c/gt97xx.c                    | 436 ++++++++++++++++++
 4 files changed, 506 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/giantec,gt9769.yaml
 create mode 100644 drivers/media/i2c/gt97xx.c