xref: /linux/Documentation/devicetree/bindings/regulator/mediatek,mt6397-regulator.yaml (revision 2cd86f02c017bf9733e5cd891381b7d40f6f37ad)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/regulator/mediatek,mt6397-regulator.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MediaTek MT6397 Regulator
8
9maintainers:
10  - Sen Chu <sen.chu@mediatek.com>
11  - Macpaul Lin <macpaul.lin@mediatek.com>
12
13description:
14  Regulator node of the PMIC. This node should under the PMIC's device node.
15  All voltage regulators provided by the PMIC are described as sub-nodes of
16  this node.
17
18properties:
19  compatible:
20    items:
21      - const: mediatek,mt6397-regulator
22
23patternProperties:
24  "^(buck_)?v(core|drm|gpu|io18|pca(7|15)|sramca(7|15))$":
25    description: Buck regulators
26    type: object
27    $ref: regulator.yaml#
28    properties:
29      regulator-allowed-modes:
30        description: |
31          BUCK regulators can set regulator-initial-mode and regulator-allowed-modes to
32          values specified in dt-bindings/regulator/mediatek,mt6397-regulator.h
33        items:
34          enum: [0, 1]
35    unevaluatedProperties: false
36
37  "^(ldo_)?v(tcxo|(a|io)28)$":
38    description: LDOs with fixed 2.8V output and 0~100/10mV tuning
39    type: object
40    $ref: regulator.yaml#
41    properties:
42      regulator-allowed-modes: false
43    unevaluatedProperties: false
44
45  "^(ldo_)?vusb$":
46    description: LDOs with fixed 3.0V output and 0~100/10mV tuning
47    type: object
48    $ref: regulator.yaml#
49    properties:
50      regulator-allowed-modes: false
51    unevaluatedProperties: false
52
53  "^(ldo_)?v(cama|emc3v3|gp[123456]|ibr|mc|mch)$":
54    description: LDOs with variable output and 0~100/10mV tuning
55    type: object
56    $ref: regulator.yaml#
57    properties:
58      regulator-allowed-modes: false
59    unevaluatedProperties: false
60
61required:
62  - compatible
63
64additionalProperties: false
65
66examples:
67  - |
68    #include <dt-bindings/interrupt-controller/arm-gic.h>
69
70    mt6397_regulators: regulators {
71        compatible = "mediatek,mt6397-regulator";
72
73        mt6397_vpca15_reg: buck_vpca15 {
74            regulator-name = "vpca15";
75            regulator-min-microvolt = < 850000>;
76            regulator-max-microvolt = <1350000>;
77            regulator-ramp-delay = <12500>;
78            regulator-enable-ramp-delay = <200>;
79        };
80
81        mt6397_vpca7_reg: buck_vpca7 {
82            regulator-name = "vpca7";
83            regulator-min-microvolt = < 850000>;
84            regulator-max-microvolt = <1350000>;
85            regulator-ramp-delay = <12500>;
86            regulator-enable-ramp-delay = <115>;
87        };
88
89        mt6397_vsramca15_reg: buck_vsramca15 {
90            regulator-name = "vsramca15";
91            regulator-min-microvolt = < 850000>;
92            regulator-max-microvolt = <1350000>;
93            regulator-ramp-delay = <12500>;
94            regulator-enable-ramp-delay = <115>;
95        };
96
97        mt6397_vsramca7_reg: buck_vsramca7 {
98            regulator-name = "vsramca7";
99            regulator-min-microvolt = < 850000>;
100            regulator-max-microvolt = <1350000>;
101            regulator-ramp-delay = <12500>;
102            regulator-enable-ramp-delay = <115>;
103        };
104
105        mt6397_vcore_reg: buck_vcore {
106            regulator-name = "vcore";
107            regulator-min-microvolt = < 850000>;
108            regulator-max-microvolt = <1350000>;
109            regulator-ramp-delay = <12500>;
110            regulator-enable-ramp-delay = <115>;
111        };
112
113        mt6397_vgpu_reg: buck_vgpu {
114            regulator-name = "vgpu";
115            regulator-min-microvolt = < 700000>;
116            regulator-max-microvolt = <1350000>;
117            regulator-ramp-delay = <12500>;
118            regulator-enable-ramp-delay = <115>;
119        };
120
121        mt6397_vdrm_reg: buck_vdrm {
122            regulator-name = "vdrm";
123            regulator-min-microvolt = < 800000>;
124            regulator-max-microvolt = <1400000>;
125            regulator-ramp-delay = <12500>;
126            regulator-enable-ramp-delay = <500>;
127        };
128
129        mt6397_vio18_reg: buck_vio18 {
130            regulator-name = "vio18";
131            regulator-min-microvolt = <1500000>;
132            regulator-max-microvolt = <2120000>;
133            regulator-ramp-delay = <12500>;
134            regulator-enable-ramp-delay = <500>;
135        };
136
137        mt6397_vtcxo_reg: ldo_vtcxo {
138            regulator-name = "vtcxo";
139            regulator-min-microvolt = <2800000>;
140            regulator-max-microvolt = <2800000>;
141            regulator-enable-ramp-delay = <90>;
142        };
143
144        mt6397_va28_reg: ldo_va28 {
145            regulator-name = "va28";
146            /* fixed output 2.8 V */
147            regulator-enable-ramp-delay = <218>;
148        };
149
150        mt6397_vcama_reg: ldo_vcama {
151            regulator-name = "vcama";
152            regulator-min-microvolt = <1500000>;
153            regulator-max-microvolt = <2800000>;
154            regulator-enable-ramp-delay = <218>;
155        };
156
157        mt6397_vio28_reg: ldo_vio28 {
158            regulator-name = "vio28";
159            /* fixed output 2.8 V */
160            regulator-enable-ramp-delay = <240>;
161        };
162
163        mt6397_usb_reg: ldo_vusb {
164            regulator-name = "vusb";
165            /* fixed output 3.3 V */
166            regulator-enable-ramp-delay = <218>;
167        };
168
169        mt6397_vmc_reg: ldo_vmc {
170            regulator-name = "vmc";
171            regulator-min-microvolt = <1800000>;
172            regulator-max-microvolt = <3300000>;
173            regulator-enable-ramp-delay = <218>;
174        };
175
176        mt6397_vmch_reg: ldo_vmch {
177            regulator-name = "vmch";
178            regulator-min-microvolt = <3000000>;
179            regulator-max-microvolt = <3300000>;
180            regulator-enable-ramp-delay = <218>;
181        };
182
183        mt6397_vemc_3v3_reg: ldo_vemc3v3 {
184            regulator-name = "vemc_3v3";
185            regulator-min-microvolt = <3000000>;
186            regulator-max-microvolt = <3300000>;
187            regulator-enable-ramp-delay = <218>;
188        };
189
190        mt6397_vgp1_reg: ldo_vgp1 {
191            regulator-name = "vcamd";
192            regulator-min-microvolt = <1220000>;
193            regulator-max-microvolt = <3300000>;
194            regulator-enable-ramp-delay = <240>;
195        };
196
197        mt6397_vgp2_reg: ldo_vgp2 {
198            regulator-name = "vcamio";
199            regulator-min-microvolt = <1000000>;
200            regulator-max-microvolt = <3300000>;
201            regulator-enable-ramp-delay = <218>;
202        };
203
204        mt6397_vgp3_reg: ldo_vgp3 {
205            regulator-name = "vcamaf";
206            regulator-min-microvolt = <1200000>;
207            regulator-max-microvolt = <3300000>;
208            regulator-enable-ramp-delay = <218>;
209        };
210
211        mt6397_vgp4_reg: ldo_vgp4 {
212            regulator-name = "vgp4";
213            regulator-min-microvolt = <1200000>;
214            regulator-max-microvolt = <3300000>;
215            regulator-enable-ramp-delay = <218>;
216        };
217
218        mt6397_vgp5_reg: ldo_vgp5 {
219            regulator-name = "vgp5";
220            regulator-min-microvolt = <1200000>;
221            regulator-max-microvolt = <3000000>;
222            regulator-enable-ramp-delay = <218>;
223        };
224
225        mt6397_vgp6_reg: ldo_vgp6 {
226            regulator-name = "vgp6";
227            regulator-min-microvolt = <1200000>;
228            regulator-max-microvolt = <3300000>;
229            regulator-enable-ramp-delay = <218>;
230        };
231
232        mt6397_vibr_reg: ldo_vibr {
233            regulator-name = "vibr";
234            regulator-min-microvolt = <1200000>;
235            regulator-max-microvolt = <3300000>;
236            regulator-enable-ramp-delay = <218>;
237        };
238    };
239