aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/regulator/mt6323-regulator.txt237
-rw-r--r--drivers/regulator/Kconfig9
-rw-r--r--drivers/regulator/Makefile1
-rw-r--r--drivers/regulator/fixed.c14
-rw-r--r--drivers/regulator/lp873x-regulator.c14
-rw-r--r--drivers/regulator/max8973-regulator.c16
-rw-r--r--drivers/regulator/mt6323-regulator.c425
-rw-r--r--drivers/regulator/pv88060-regulator.c3
-rw-r--r--drivers/regulator/pv88080-regulator.c3
-rw-r--r--drivers/regulator/pv88090-regulator.c3
-rw-r--r--include/linux/regulator/mt6323-regulator.h52
11 files changed, 738 insertions, 39 deletions
diff --git a/Documentation/devicetree/bindings/regulator/mt6323-regulator.txt b/Documentation/devicetree/bindings/regulator/mt6323-regulator.txt
new file mode 100644
index 000000000000..c35d878b0960
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/mt6323-regulator.txt
@@ -0,0 +1,237 @@
1Mediatek MT6323 Regulator Driver
2
3All voltage regulators are defined as subnodes of the regulators node. A list
4of regulators provided by this controller are defined as subnodes of the
5PMIC's node. Each regulator is named according to its regulator type,
6buck_<name> and ldo_<name>. The definition for each of these nodes is defined
7using the standard binding for regulators at
8Documentation/devicetree/bindings/regulator/regulator.txt.
9
10The valid names for regulators are::
11BUCK:
12 buck_vproc, buck_vsys, buck_vpa
13LDO:
14 ldo_vtcxo, ldo_vcn28, ldo_vcn33_bt, ldo_vcn33_wifi, ldo_va, ldo_vcama,
15 ldo_vio28, ldo_vusb, ldo_vmc, ldo_vmch, ldo_vemc3v3, ldo_vgp1, ldo_vgp2,
16 ldo_vgp3, ldo_vcn18, ldo_vsim1, ldo_vsim2, ldo_vrtc, ldo_vcamaf, ldo_vibr,
17 ldo_vrf18, ldo_vm, ldo_vio18, ldo_vcamd, ldo_vcamio
18
19Example:
20
21 pmic: mt6323 {
22 mt6323regulator: regulators {
23 mt6323_vproc_reg: buck_vproc{
24 regulator-name = "vproc";
25 regulator-min-microvolt = < 700000>;
26 regulator-max-microvolt = <1350000>;
27 regulator-ramp-delay = <12500>;
28 regulator-always-on;
29 regulator-boot-on;
30 };
31
32 mt6323_vsys_reg: buck_vsys{
33 regulator-name = "vsys";
34 regulator-min-microvolt = <1400000>;
35 regulator-max-microvolt = <2987500>;
36 regulator-ramp-delay = <25000>;
37 regulator-always-on;
38 regulator-boot-on;
39 };
40
41 mt6323_vpa_reg: buck_vpa{
42 regulator-name = "vpa";
43 regulator-min-microvolt = < 500000>;
44 regulator-max-microvolt = <3650000>;
45 };
46
47 mt6323_vtcxo_reg: ldo_vtcxo{
48 regulator-name = "vtcxo";
49 regulator-min-microvolt = <2800000>;
50 regulator-max-microvolt = <2800000>;
51 regulator-enable-ramp-delay = <90>;
52 regulator-always-on;
53 regulator-boot-on;
54 };
55
56 mt6323_vcn28_reg: ldo_vcn28{
57 regulator-name = "vcn28";
58 regulator-min-microvolt = <2800000>;
59 regulator-max-microvolt = <2800000>;
60 regulator-enable-ramp-delay = <185>;
61 };
62
63 mt6323_vcn33_bt_reg: ldo_vcn33_bt{
64 regulator-name = "vcn33_bt";
65 regulator-min-microvolt = <3300000>;
66 regulator-max-microvolt = <3600000>;
67 regulator-enable-ramp-delay = <185>;
68 };
69
70 mt6323_vcn33_wifi_reg: ldo_vcn33_wifi{
71 regulator-name = "vcn33_wifi";
72 regulator-min-microvolt = <3300000>;
73 regulator-max-microvolt = <3600000>;
74 regulator-enable-ramp-delay = <185>;
75 };
76
77 mt6323_va_reg: ldo_va{
78 regulator-name = "va";
79 regulator-min-microvolt = <2800000>;
80 regulator-max-microvolt = <2800000>;
81 regulator-enable-ramp-delay = <216>;
82 regulator-always-on;
83 regulator-boot-on;
84 };
85
86 mt6323_vcama_reg: ldo_vcama{
87 regulator-name = "vcama";
88 regulator-min-microvolt = <1500000>;
89 regulator-max-microvolt = <2800000>;
90 regulator-enable-ramp-delay = <216>;
91 };
92
93 mt6323_vio28_reg: ldo_vio28{
94 regulator-name = "vio28";
95 regulator-min-microvolt = <2800000>;
96 regulator-max-microvolt = <2800000>;
97 regulator-enable-ramp-delay = <216>;
98 regulator-always-on;
99 regulator-boot-on;
100 };
101
102 mt6323_vusb_reg: ldo_vusb{
103 regulator-name = "vusb";
104 regulator-min-microvolt = <3300000>;
105 regulator-max-microvolt = <3300000>;
106 regulator-enable-ramp-delay = <216>;
107 regulator-boot-on;
108 };
109
110 mt6323_vmc_reg: ldo_vmc{
111 regulator-name = "vmc";
112 regulator-min-microvolt = <1800000>;
113 regulator-max-microvolt = <3300000>;
114 regulator-enable-ramp-delay = <36>;
115 regulator-boot-on;
116 };
117
118 mt6323_vmch_reg: ldo_vmch{
119 regulator-name = "vmch";
120 regulator-min-microvolt = <3000000>;
121 regulator-max-microvolt = <3300000>;
122 regulator-enable-ramp-delay = <36>;
123 regulator-boot-on;
124 };
125
126 mt6323_vemc3v3_reg: ldo_vemc3v3{
127 regulator-name = "vemc3v3";
128 regulator-min-microvolt = <3000000>;
129 regulator-max-microvolt = <3300000>;
130 regulator-enable-ramp-delay = <36>;
131 regulator-boot-on;
132 };
133
134 mt6323_vgp1_reg: ldo_vgp1{
135 regulator-name = "vgp1";
136 regulator-min-microvolt = <1200000>;
137 regulator-max-microvolt = <3300000>;
138 regulator-enable-ramp-delay = <216>;
139 };
140
141 mt6323_vgp2_reg: ldo_vgp2{
142 regulator-name = "vgp2";
143 regulator-min-microvolt = <1200000>;
144 regulator-max-microvolt = <3000000>;
145 regulator-enable-ramp-delay = <216>;
146 };
147
148 mt6323_vgp3_reg: ldo_vgp3{
149 regulator-name = "vgp3";
150 regulator-min-microvolt = <1200000>;
151 regulator-max-microvolt = <1800000>;
152 regulator-enable-ramp-delay = <216>;
153 };
154
155 mt6323_vcn18_reg: ldo_vcn18{
156 regulator-name = "vcn18";
157 regulator-min-microvolt = <1800000>;
158 regulator-max-microvolt = <1800000>;
159 regulator-enable-ramp-delay = <216>;
160 };
161
162 mt6323_vsim1_reg: ldo_vsim1{
163 regulator-name = "vsim1";
164 regulator-min-microvolt = <1800000>;
165 regulator-max-microvolt = <3000000>;
166 regulator-enable-ramp-delay = <216>;
167 };
168
169 mt6323_vsim2_reg: ldo_vsim2{