# 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@mediatek.com>

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:
      - dongwoon,dw9768 # for DW9768 VCM
      - giantec,gt9769  # for GT9769 VCM

  reg:
    maxItems: 1

  vin-supply:
    description:
      Definition of the regulator used as Digital I/O voltage supply.

  vdd-supply:
    description:
      Definition of the regulator used as Digital core voltage supply.

  dongwoon,aac-mode:
    description:
      Indication of AAC mode select.
    allOf:
      - $ref: "/schemas/types.yaml#/definitions/uint32"
      - enum:
          - 1    #  AAC2 mode(operation time# 0.48 x Tvib)
          - 2    #  AAC3 mode(operation time# 0.70 x Tvib)
          - 3    #  AAC4 mode(operation time# 0.75 x Tvib)
          - 5    #  AAC8 mode(operation time# 1.13 x Tvib)
        default: 2

  dongwoon,aac-timing:
    description:
      Number of AAC Timing count that controlled by one 6-bit period of
      vibration register AACT[5:0], the unit of which is 100 us.
    allOf:
      - $ref: "/schemas/types.yaml#/definitions/uint32"
      - default: 0x20
        minimum: 0x00
        maximum: 0x3f

  dongwoon,clock-presc:
    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
          - 2    #  Dividing Rate -  1/2
          - 3    #  Dividing Rate -  1/4
          - 4    #  Dividing Rate -  8
          - 5    #  Dividing Rate -  4
        default: 1

required:
  - compatible
  - reg
  - vin-supply
  - vdd-supply

additionalProperties: false

examples:
  - |

    i2c {
        #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-timing = <0x39>;
        };
    };

...
