summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9768.yaml
blob: cb96e95d7e81c6981d72764310d007e6163e769e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# 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>;
        };
    };

...