Merge tag 'char-misc-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / mfd / richtek,rt5120.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/mfd/richtek,rt5120.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Richtek RT5120 PMIC
8
9 maintainers:
10   - ChiYuan Huang <cy_huang@richtek.com>
11
12 description: |
13   The RT5120 provides four high-efficiency buck converters and one LDO voltage
14   regulator. The device is targeted at providingthe processor voltage, memory,
15   I/O, and peripheral rails in home entertainment devices. The I2C interface is
16   used for dynamic voltage scaling of the processor voltage, power rails on/off
17   sequence control, operation mode selection.
18
19 properties:
20   compatible:
21     enum:
22       - richtek,rt5120
23
24   reg:
25     maxItems: 1
26
27   interrupts:
28     maxItems: 1
29
30   interrupt-controller: true
31
32   "#interrupt-cells":
33     const: 1
34
35   wakeup-source: true
36
37   richtek,enable-undervolt-hiccup:
38     type: boolean
39     description: |
40       If used, under voltage protection trigger hiccup behavior, else latchup as
41       default
42
43   richtek,enable-overvolt-hiccup:
44     type: boolean
45     description:
46       Like as 'enable-uv-hiccup', it configures over voltage protection to
47       hiccup, else latchup as default
48
49   vin1-supply:
50     description: phandle for buck1 input power source
51
52   vin2-supply:
53     description: phandle for buck2 input power source
54
55   vin3-supply:
56     description: phandle for buck3 input power source
57
58   vin4-supply:
59     description: phandle for buck4 input power source
60
61   vinldo-supply:
62     description: phandle for ldo input power source
63
64   regulators:
65     type: object
66
67     patternProperties:
68       "^buck[1-4]$":
69         type: object
70         $ref: /schemas/regulator/regulator.yaml#
71         unevaluatedProperties: false
72
73         properties:
74           regulator-allowed-modes:
75             description: |
76               Used to specify the allowed buck converter operating mode
77               mode mapping:
78                 0: auto mode
79                 1: force pwm mode
80             items:
81               enum: [0, 1]
82
83       "^(ldo|exten)$":
84         type: object
85         $ref: /schemas/regulator/regulator.yaml#
86         unevaluatedProperties: false
87
88     additionalProperties: false
89
90   powerkey:
91     type: object
92     description:
93       PON key that connected to RT5120 PMIC.
94
95     properties:
96       compatible:
97         enum:
98           - richtek,rt5120-pwrkey
99
100     required:
101       - compatible
102
103     additionalProperties: false
104
105 required:
106   - compatible
107   - reg
108   - interrupts
109   - '#interrupt-cells'
110   - interrupt-controller
111   - regulators
112   - powerkey
113
114 additionalProperties: false
115
116 examples:
117   - |
118     #include <dt-bindings/interrupt-controller/irq.h>
119
120     i2c {
121       #address-cells = <1>;
122       #size-cells = <0>;
123
124       pmic@62 {
125         compatible = "richtek,rt5120";
126         reg = <0x62>;
127         interrupts-extended = <&gpio_intc 32 IRQ_TYPE_LEVEL_LOW>;
128         interrupt-controller;
129         #interrupt-cells = <1>;
130         wakeup-source;
131
132         regulators {
133           buck1 {
134             regulator-name = "rt5120-buck1";
135             regulator-min-microvolt = <600000>;
136             regulator-max-microvolt = <1393750>;
137             regulator-allowed-modes = <0 1>;
138             regulator-boot-on;
139           };
140           buck2 {
141             regulator-name = "rt5120-buck2";
142             regulator-min-microvolt = <1100000>;
143             regulator-max-microvolt = <1100000>;
144             regulator-allowed-modes = <0 1>;
145             regulator-always-on;
146           };
147           buck3 {
148             regulator-name = "rt5120-buck3";
149             regulator-min-microvolt = <1800000>;
150             regulator-max-microvolt = <1800000>;
151             regulator-allowed-modes = <0 1>;
152             regulator-always-on;
153           };
154           buck4 {
155             regulator-name = "rt5120-buck4";
156             regulator-min-microvolt = <3300000>;
157             regulator-max-microvolt = <3300000>;
158             regulator-allowed-modes = <0 1>;
159             regulator-always-on;
160           };
161           ldo {
162             regulator-name = "rt5120-ldo";
163             regulator-min-microvolt = <1800000>;
164             regulator-max-microvolt = <1800000>;
165             regulator-always-on;
166           };
167           exten {
168             regulator-name = "rt5120-exten";
169             regulator-min-microvolt = <3000000>;
170             regulator-max-microvolt = <3000000>;
171             regulator-always-on;
172           };
173         };
174         powerkey {
175           compatible = "richtek,rt5120-pwrkey";
176         };
177       };
178     };