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