Merge tag 'for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / regulator / richtek,rtmv20-regulator.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/regulator/richtek,rtmv20-regulator.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Richtek RTMV20 laser diode regulator
8
9 maintainers:
10   - ChiYuan Huang <cy_huang@richtek.com>
11
12 description: |
13   Richtek RTMV20 is a load switch current regulator that can supply up to 6A.
14   It is used to drive laser diode. There're two signals for chip controls
15   (Enable/Fail), Enable pin to turn chip on, and Fail pin as fault indication.
16   There're still four pins for camera control, two inputs (strobe and vsync),
17   the others for outputs (fsin1 and fsin2). Strobe input to start the current
18   supply, vsync input from IR camera, and fsin1/fsin2 output for the optional.
19
20 properties:
21   compatible:
22     const: richtek,rtmv20
23
24   reg:
25     maxItems: 1
26
27   wakeup-source: true
28
29   interrupts:
30     maxItems: 1
31
32   enable-gpios:
33     description: A connection of the 'enable' gpio line.
34     maxItems: 1
35
36   richtek,ld-pulse-delay-us:
37     description: |
38       load current pulse delay in microsecond after strobe pin pulse high.
39     minimum: 0
40     maximum: 100000
41     default: 0
42
43   richtek,ld-pulse-width-us:
44     description: |
45       Load current pulse width in microsecond after strobe pin pulse high.
46     minimum: 0
47     maximum: 10000
48     default: 1200
49
50   richtek,fsin1-delay-us:
51     description: |
52       Fsin1 pulse high delay in microsecond after vsync signal pulse high.
53     minimum: 0
54     maximum: 100000
55     default: 23000
56
57   richtek,fsin1-width-us:
58     description: |
59       Fsin1 pulse high width in microsecond after vsync signal pulse high.
60     minimum: 40
61     maximum: 10000
62     default: 160
63
64   richtek,fsin2-delay-us:
65     description: |
66       Fsin2 pulse high delay in microsecond after vsync signal pulse high.
67     minimum: 0
68     maximum: 100000
69     default: 23000
70
71   richtek,fsin2-width-us:
72     description: |
73       Fsin2 pulse high width in microsecond after vsync signal pulse high.
74     minimum: 40
75     maximum: 10000
76     default: 160
77
78   richtek,es-pulse-width-us:
79     description: Eye safety function pulse width limit in microsecond.
80     minimum: 0
81     maximum: 10000
82     default: 1200
83
84   richtek,es-ld-current-microamp:
85     description: Eye safety function load current limit in microamp.
86     minimum: 0
87     maximum: 6000000
88     default: 3000000
89
90   richtek,lbp-level-microvolt:
91     description: Low battery protection level in microvolt.
92     minimum: 2400000
93     maximum: 3700000
94     default: 2700000
95
96   richtek,lbp-enable:
97     description: Low battery protection function enable control.
98     type: boolean
99
100   richtek,strobe-polarity-high:
101     description: Strobe pin active polarity control.
102     type: boolean
103
104   richtek,vsync-polarity-high:
105     description: Vsync pin active polarity control.
106     type: boolean
107
108   richtek,fsin-enable:
109     description: Fsin function enable control.
110     type: boolean
111
112   richtek,fsin-output:
113     description: Fsin function output control.
114     type: boolean
115
116   richtek,es-enable:
117     description: Eye safety function enable control.
118     type: boolean
119
120   lsw:
121     description: load switch current regulator description.
122     type: object
123     $ref: "regulator.yaml#"
124
125 required:
126   - compatible
127   - reg
128   - wakeup-source
129   - interrupts
130   - enable-gpios
131   - lsw
132
133 additionalProperties: false
134
135 examples:
136   - |
137     #include <dt-bindings/interrupt-controller/irq.h>
138     i2c {
139       #address-cells = <1>;
140       #size-cells = <0>;
141
142       rtmv20@34 {
143         compatible = "richtek,rtmv20";
144         reg = <0x34>;
145         wakeup-source;
146         interrupts-extended = <&gpio26 2 IRQ_TYPE_LEVEL_LOW>;
147         enable-gpios = <&gpio26 3 0>;
148
149         richtek,strobe-polarity-high;
150         richtek,vsync-polarity-high;
151
152         lsw {
153                 regulator-name = "rtmv20,lsw";
154                 regulator-min-microamp = <0>;
155                 regulator-max-microamp = <6000000>;
156         };
157       };
158     };
159 ...