Add DeviceTree binding documentation for Dongwoon Anatech DW9768 voice coil actuator. Signed-off-by: Dongchun Zhu <dongchun.zhu@xxxxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> --- .../bindings/media/i2c/dongwoon,dw9768.yaml | 105 +++++++++++++++++++++ MAINTAINERS | 7 ++ 2 files changed, 112 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/i2c/dongwoon,dw9768.yaml diff --git a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9768.yaml b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9768.yaml new file mode 100644 index 0000000..b909e83 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9768.yaml @@ -0,0 +1,105 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# Copyright (c) 2020 MediaTek Inc. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/i2c/dongwoon,dw9768.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Dongwoon Anatech DW9768 Voice Coil Motor (VCM) Lens Device Tree Bindings + +maintainers: + - Dongchun Zhu <dongchun.zhu@xxxxxxxxxxxx> + +description: |- + The Dongwoon DW9768 is a single 10-bit digital-to-analog (DAC) converter + with 100 mA output current sink capability. VCM current is controlled with + a linear mode driver. The DAC is controlled via a 2-wire (I2C-compatible) + serial interface that operates at clock rates up to 1MHz. This chip + integrates Advanced Actuator Control (AAC) technology and is intended for + driving voice coil lenses in camera modules. + +properties: + compatible: + enum: + # for DW9768 VCM + - dongwoon,dw9768 + # for GT9769 VCM + - giantec,gt9769 + + reg: + maxItems: 1 + + vin-supply: + description: + Definition of the regulator used as I2C I/O interface power supply. + + vdd-supply: + description: + Definition of the regulator used as VCM chip power supply. + + dongwoon,aac-mode: + description: + Indication of AAC mode select. + allOf: + - $ref: "/schemas/types.yaml#/definitions/uint32" + - enum: + - 0 # Direct (default) + - 1 # AAC2 (operation time# 0.48 x Tvib) + - 2 # AAC3 (operation time# 0.70 x Tvib) + - 3 # AAC4 (operation time# 0.75 x Tvib) + - 4 # Reserved + - 5 # AAC8 (operation time# 1.13 x Tvib) + - 6 # Reserved + - 7 # Reserved + + dongwoon,aac-timing: + description: + Indication of AAC Timing count, unit of 0.1 milliseconds. + Valid values vary from 0 to 63 (default 32). + allOf: + - $ref: "/schemas/types.yaml#/definitions/uint32" + + dongwoon,clock-dividing-rate: + description: + Indication of VCM internal clock dividing rate select, as one multiple + factor to calculate VCM ring periodic time Tvib. + allOf: + - $ref: "/schemas/types.yaml#/definitions/uint32" + - enum: + - 0 # Dividing Rate - 2 + - 1 # Dividing Rate - 1 (default) + - 2 # Dividing Rate - 1/2 + - 3 # Dividing Rate - 1/4 + - 4 # Dividing Rate - 8 + - 5 # Dividing Rate - 4 + - 6 # Dividing Rate - Reserved + - 7 # Dividing Rate - Reserved + +required: + - compatible + - reg + - vin-supply + - vdd-supply + +additionalProperties: false + +examples: + - | + + i2c { + clock-frequency = <400000>; + #address-cells = <1>; + #size-cells = <0>; + + dw9768: camera-lens@c { + compatible = "dongwoon,dw9768"; + reg = <0x0c>; + + vin-supply = <&mt6358_vcamio_reg>; + vdd-supply = <&mt6358_vcama2_reg>; + dongwoon,aac-mode = <2>; + dongwoon,aac-timing = <57>; + }; + }; + +... diff --git a/MAINTAINERS b/MAINTAINERS index e64e5db..8d72c41 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5151,6 +5151,13 @@ T: git git://linuxtv.org/media_tree.git F: Documentation/devicetree/bindings/media/i2c/dongwoon,dw9714.txt F: drivers/media/i2c/dw9714.c +DONGWOON DW9768 LENS VOICE COIL DRIVER +M: Dongchun Zhu <dongchun.zhu@xxxxxxxxxxxx> +L: linux-media@xxxxxxxxxxxxxxx +S: Maintained +T: git git://linuxtv.org/media_tree.git +F: Documentation/devicetree/bindings/media/i2c/dongwoon,dw9768.yaml + DONGWOON DW9807 LENS VOICE COIL DRIVER M: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> L: linux-media@xxxxxxxxxxxxxxx -- 2.9.2