Loading...
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Common CPCAP configuration used on Motorola phones
4 */
5
6&mcspi1 {
7 cpcap: pmic@0 {
8 compatible = "motorola,cpcap", "st,6556002";
9 reg = <0>; /* cs0 */
10 interrupt-parent = <&gpio1>;
11 interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
12 interrupt-controller;
13 #interrupt-cells = <2>;
14 #address-cells = <1>;
15 #size-cells = <0>;
16 spi-max-frequency = <9600000>;
17 spi-cs-high;
18 spi-cpol;
19 spi-cpha;
20
21 cpcap_adc: adc {
22 compatible = "motorola,mapphone-cpcap-adc";
23 interrupts-extended = <&cpcap 8 0>;
24 interrupt-names = "adcdone";
25 #io-channel-cells = <1>;
26 };
27
28 cpcap_battery: battery {
29 compatible = "motorola,cpcap-battery";
30 interrupts-extended =
31 <&cpcap 6 0>, <&cpcap 5 0>, <&cpcap 3 0>,
32 <&cpcap 20 0>, <&cpcap 54 0>, <&cpcap 57 0>;
33 interrupt-names =
34 "eol", "lowbph", "lowbpl",
35 "chrgcurr1", "battdetb", "cccal";
36 io-channels = <&cpcap_adc 0>, <&cpcap_adc 1>,
37 <&cpcap_adc 5>, <&cpcap_adc 6>;
38 io-channel-names = "battdetb", "battp",
39 "chg_isense", "batti";
40 power-supplies = <&cpcap_charger>;
41 };
42
43 cpcap_charger: charger {
44 compatible = "motorola,mapphone-cpcap-charger";
45 interrupts-extended =
46 <&cpcap 13 0>, <&cpcap 12 0>, <&cpcap 29 0>,
47 <&cpcap 28 0>, <&cpcap 22 0>, <&cpcap 21 0>,
48 <&cpcap 20 0>, <&cpcap 19 0>, <&cpcap 54 0>;
49 interrupt-names =
50 "chrg_det", "rvrs_chrg", "chrg_se1b",
51 "se0conn", "rvrs_mode", "chrgcurr2",
52 "chrgcurr1", "vbusvld", "battdetb";
53 mode-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>,
54 <&gpio3 23 GPIO_ACTIVE_LOW>;
55 io-channels = <&cpcap_adc 0>, <&cpcap_adc 1>,
56 <&cpcap_adc 2>, <&cpcap_adc 5>,
57 <&cpcap_adc 6>;
58 io-channel-names = "battdetb", "battp",
59 "vbus", "chg_isense",
60 "batti";
61 };
62
63 cpcap_regulator: regulator {
64 compatible = "motorola,mapphone-cpcap-regulator";
65
66 cpcap_regulators: regulators {
67 };
68 };
69
70 cpcap_audio: audio-codec {
71 #sound-dai-cells = <1>;
72
73 port@0 {
74 cpcap_audio_codec0: endpoint {
75 };
76 };
77 port@1 {
78 cpcap_audio_codec1: endpoint {
79 };
80 };
81 };
82
83 cpcap_rtc: rtc {
84 compatible = "motorola,cpcap-rtc";
85
86 interrupt-parent = <&cpcap>;
87 interrupts = <39 IRQ_TYPE_NONE>, <26 IRQ_TYPE_NONE>;
88 };
89
90 power_button: button {
91 compatible = "motorola,cpcap-pwrbutton";
92
93 interrupts = <23 IRQ_TYPE_NONE>;
94 };
95
96 cpcap_usb2_phy: phy {
97 compatible = "motorola,mapphone-cpcap-usb-phy";
98 pinctrl-0 = <&usb_gpio_mux_sel1>, <&usb_gpio_mux_sel2>;
99 pinctrl-1 = <&usb_ulpi_pins>;
100 pinctrl-2 = <&usb_utmi_pins>;
101 pinctrl-3 = <&uart3_pins>;
102 pinctrl-names = "default", "ulpi", "utmi", "uart";
103 #phy-cells = <0>;
104 interrupts-extended =
105 <&cpcap 15 0>, <&cpcap 14 0>, <&cpcap 28 0>,
106 <&cpcap 19 0>, <&cpcap 18 0>, <&cpcap 17 0>,
107 <&cpcap 16 0>, <&cpcap 49 0>, <&cpcap 48 0>;
108 interrupt-names =
109 "id_ground", "id_float", "se0conn",
110 "vbusvld", "sessvld", "sessend",
111 "se1", "dm", "dp";
112 mode-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>,
113 <&gpio1 0 GPIO_ACTIVE_HIGH>;
114 io-channels = <&cpcap_adc 2>, <&cpcap_adc 7>;
115 io-channel-names = "vbus", "id";
116 vusb-supply = <&vusb>;
117 };
118
119 led_red: led-red {
120 compatible = "motorola,cpcap-led-red";
121 vdd-supply = <&sw5>;
122 label = "status-led:red";
123 };
124
125 led_green: led-green {
126 compatible = "motorola,cpcap-led-green";
127 vdd-supply = <&sw5>;
128 label = "status-led:green";
129 };
130
131 led_blue: led-blue {
132 compatible = "motorola,cpcap-led-blue";
133 vdd-supply = <&sw5>;
134 label = "status-led:blue";
135 };
136
137 led_adl: led-adl {
138 compatible = "motorola,cpcap-led-adl";
139 vdd-supply = <&sw5>;
140 label = "button-backlight";
141 };
142
143 led_cp: led-cp {
144 compatible = "motorola,cpcap-led-cp";
145 vdd-supply = <&sw5>;
146 label = "shift-key-light";
147 };
148 };
149};
150
151&cpcap_regulators {
152 sw5: SW5 {
153 regulator-min-microvolt = <5050000>;
154 regulator-max-microvolt = <5050000>;
155 regulator-enable-ramp-delay = <50000>;
156 regulator-boot-on;
157 };
158
159 vcam: VCAM {
160 regulator-min-microvolt = <2900000>;
161 regulator-max-microvolt = <2900000>;
162 regulator-enable-ramp-delay = <1000>;
163 };
164
165 /* Used by DSS and is the "zerov_regulator" trigger for SoC off mode */
166 vcsi: VCSI {
167 regulator-min-microvolt = <1800000>;
168 regulator-max-microvolt = <1800000>;
169 regulator-enable-ramp-delay = <1000>;
170 regulator-always-on;
171 };
172
173 vdac: VDAC {
174 regulator-min-microvolt = <1800000>;
175 regulator-max-microvolt = <1800000>;
176 regulator-enable-ramp-delay = <1000>;
177 };
178
179 vdig: VDIG {
180 regulator-min-microvolt = <1875000>;
181 regulator-max-microvolt = <1875000>;
182 regulator-enable-ramp-delay = <1000>;
183 };
184
185 vfuse: VFUSE {
186 regulator-min-microvolt = <1500000>;
187 regulator-max-microvolt = <3150000>;
188 regulator-enable-ramp-delay = <1000>;
189 };
190
191 vhvio: VHVIO {
192 regulator-min-microvolt = <2775000>;
193 regulator-max-microvolt = <2775000>;
194 regulator-enable-ramp-delay = <1000>;
195 regulator-always-on;
196 };
197
198 /* Used by eMMC at mmc2 */
199 vsdio: VSDIO {
200 regulator-min-microvolt = <2900000>;
201 regulator-max-microvolt = <2900000>;
202 regulator-enable-ramp-delay = <1000>;
203 };
204
205 vpll: VPLL {
206 regulator-min-microvolt = <1200000>;
207 regulator-max-microvolt = <1800000>;
208 regulator-enable-ramp-delay = <100>;
209 };
210
211 vrf1: VRF1 {
212 regulator-min-microvolt = <2775000>;
213 regulator-max-microvolt = <2775000>;
214 regulator-enable-ramp-delay = <1000>;
215 };
216
217 vrf2: VRF2 {
218 regulator-min-microvolt = <2775000>;
219 regulator-max-microvolt = <2775000>;
220 regulator-enable-ramp-delay = <1000>;
221 };
222
223 vrfref: VRFREF {
224 regulator-min-microvolt = <2500000>;
225 regulator-max-microvolt = <2775000>;
226 regulator-enable-ramp-delay = <100>;
227 };
228
229 vwlan1: VWLAN1 {
230 regulator-min-microvolt = <1800000>;
231 regulator-max-microvolt = <1900000>;
232 regulator-enable-ramp-delay = <1000>;
233 };
234
235 /* Used by micro-SDIO at mmc1 */
236 vwlan2: VWLAN2 {
237 regulator-min-microvolt = <3000000>;
238 regulator-max-microvolt = <3000000>;
239 regulator-enable-ramp-delay = <1000>;
240 };
241
242 vsim: VSIM {
243 regulator-min-microvolt = <1800000>;
244 regulator-max-microvolt = <2900000>;
245 regulator-enable-ramp-delay = <1000>;
246 };
247
248 vsimcard: VSIMCARD {
249 regulator-min-microvolt = <1800000>;
250 regulator-max-microvolt = <2900000>;
251 regulator-enable-ramp-delay = <1000>;
252 };
253
254 vvib: VVIB {
255 regulator-min-microvolt = <1300000>;
256 regulator-max-microvolt = <3000000>;
257 regulator-enable-ramp-delay = <500>;
258 };
259
260 vusb: VUSB {
261 regulator-min-microvolt = <3300000>;
262 regulator-max-microvolt = <3300000>;
263 regulator-enable-ramp-delay = <1000>;
264 };
265
266 vaudio: VAUDIO {
267 regulator-min-microvolt = <2775000>;
268 regulator-max-microvolt = <2775000>;
269 regulator-enable-ramp-delay = <1000>;
270 regulator-initial-mode = <0x00>; /* NORMAL */
271 };
272};
1/*
2 * Common CPCAP configuration used on Motorola phones
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9&mcspi1 {
10 cpcap: pmic@0 {
11 compatible = "motorola,cpcap", "st,6556002";
12 reg = <0>; /* cs0 */
13 interrupt-parent = <&gpio1>;
14 interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
15 interrupt-controller;
16 #interrupt-cells = <2>;
17 #address-cells = <1>;
18 #size-cells = <0>;
19 spi-max-frequency = <3000000>;
20 spi-cs-high;
21
22 cpcap_adc: adc {
23 compatible = "motorola,mapphone-cpcap-adc";
24 interrupts-extended = <&cpcap 8 0>;
25 interrupt-names = "adcdone";
26 #io-channel-cells = <1>;
27 };
28
29 cpcap_battery: battery {
30 compatible = "motorola,cpcap-battery";
31 interrupts-extended = <
32 &cpcap 6 0 &cpcap 5 0 &cpcap 3 0
33 &cpcap 20 0 &cpcap 54 0
34 >;
35 interrupt-names =
36 "eol", "lowbph", "lowbpl",
37 "chrgcurr1", "battdetb";
38 io-channels = <&cpcap_adc 0 &cpcap_adc 1
39 &cpcap_adc 5 &cpcap_adc 6>;
40 io-channel-names = "battdetb", "battp",
41 "chg_isense", "batti";
42 power-supplies = <&cpcap_charger>;
43 };
44
45 cpcap_charger: charger {
46 compatible = "motorola,mapphone-cpcap-charger";
47 interrupts-extended = <
48 &cpcap 13 0 &cpcap 12 0 &cpcap 29 0 &cpcap 28 0
49 &cpcap 22 0 &cpcap 20 0 &cpcap 19 0 &cpcap 54 0
50 >;
51 interrupt-names =
52 "chrg_det", "rvrs_chrg", "chrg_se1b", "se0conn",
53 "rvrs_mode", "chrgcurr1", "vbusvld", "battdetb";
54 mode-gpios = <&gpio3 29 GPIO_ACTIVE_LOW
55 &gpio3 23 GPIO_ACTIVE_LOW>;
56 io-channels = <&cpcap_adc 0 &cpcap_adc 1
57 &cpcap_adc 2 &cpcap_adc 5
58 &cpcap_adc 6>;
59 io-channel-names = "battdetb", "battp",
60 "vbus", "chg_isense",
61 "batti";
62 };
63
64 cpcap_regulator: regulator {
65 compatible = "motorola,mapphone-cpcap-regulator";
66
67 cpcap_regulators: regulators {
68 };
69 };
70
71 cpcap_audio: audio-codec {
72 #sound-dai-cells = <1>;
73
74 port@0 {
75 cpcap_audio_codec0: endpoint {
76 };
77 };
78 port@1 {
79 cpcap_audio_codec1: endpoint {
80 };
81 };
82 };
83
84 cpcap_rtc: rtc {
85 compatible = "motorola,cpcap-rtc";
86
87 interrupt-parent = <&cpcap>;
88 interrupts = <39 IRQ_TYPE_NONE>, <26 IRQ_TYPE_NONE>;
89 };
90
91 power_button: button {
92 compatible = "motorola,cpcap-pwrbutton";
93
94 interrupts = <23 IRQ_TYPE_NONE>;
95 };
96
97 cpcap_usb2_phy: phy {
98 compatible = "motorola,mapphone-cpcap-usb-phy";
99 pinctrl-0 = <&usb_gpio_mux_sel1 &usb_gpio_mux_sel2>;
100 pinctrl-1 = <&usb_ulpi_pins>;
101 pinctrl-2 = <&usb_utmi_pins>;
102 pinctrl-3 = <&uart3_pins>;
103 pinctrl-names = "default", "ulpi", "utmi", "uart";
104 #phy-cells = <0>;
105 interrupts-extended = <
106 &cpcap 15 0 &cpcap 14 0 &cpcap 28 0 &cpcap 19 0
107 &cpcap 18 0 &cpcap 17 0 &cpcap 16 0 &cpcap 49 0
108 &cpcap 48 1
109 >;
110 interrupt-names =
111 "id_ground", "id_float", "se0conn", "vbusvld",
112 "sessvld", "sessend", "se1", "dm", "dp";
113 mode-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH
114 &gpio1 0 GPIO_ACTIVE_HIGH>;
115 io-channels = <&cpcap_adc 2>, <&cpcap_adc 7>;
116 io-channel-names = "vbus", "id";
117 vusb-supply = <&vusb>;
118 };
119
120 led_red: led-red {
121 compatible = "motorola,cpcap-led-red";
122 vdd-supply = <&sw5>;
123 label = "status-led:red";
124 };
125
126 led_green: led-green {
127 compatible = "motorola,cpcap-led-green";
128 vdd-supply = <&sw5>;
129 label = "status-led:green";
130 };
131
132 led_blue: led-blue {
133 compatible = "motorola,cpcap-led-blue";
134 vdd-supply = <&sw5>;
135 label = "status-led:blue";
136 };
137
138 led_adl: led-adl {
139 compatible = "motorola,cpcap-led-adl";
140 vdd-supply = <&sw5>;
141 label = "button-backlight";
142 };
143
144 led_cp: led-cp {
145 compatible = "motorola,cpcap-led-cp";
146 vdd-supply = <&sw5>;
147 label = "shift-key-light";
148 };
149 };
150};
151
152&cpcap_regulators {
153 sw5: SW5 {
154 regulator-min-microvolt = <5050000>;
155 regulator-max-microvolt = <5050000>;
156 regulator-enable-ramp-delay = <50000>;
157 regulator-boot-on;
158 };
159
160 vcam: VCAM {
161 regulator-min-microvolt = <2900000>;
162 regulator-max-microvolt = <2900000>;
163 regulator-enable-ramp-delay = <1000>;
164 };
165
166 /* Used by DSS */
167 vcsi: VCSI {
168 regulator-min-microvolt = <1800000>;
169 regulator-max-microvolt = <1800000>;
170 regulator-enable-ramp-delay = <1000>;
171 regulator-boot-on;
172 };
173
174 vdac: VDAC {
175 regulator-min-microvolt = <1800000>;
176 regulator-max-microvolt = <1800000>;
177 regulator-enable-ramp-delay = <1000>;
178 };
179
180 vdig: VDIG {
181 regulator-min-microvolt = <1875000>;
182 regulator-max-microvolt = <1875000>;
183 regulator-enable-ramp-delay = <1000>;
184 };
185
186 vfuse: VFUSE {
187 regulator-min-microvolt = <1500000>;
188 regulator-max-microvolt = <3150000>;
189 regulator-enable-ramp-delay = <1000>;
190 };
191
192 vhvio: VHVIO {
193 regulator-min-microvolt = <2775000>;
194 regulator-max-microvolt = <2775000>;
195 regulator-enable-ramp-delay = <1000>;
196 regulator-always-on;
197 };
198
199 /* Used by eMMC at mmc2 */
200 vsdio: VSDIO {
201 regulator-min-microvolt = <2900000>;
202 regulator-max-microvolt = <2900000>;
203 regulator-enable-ramp-delay = <1000>;
204 };
205
206 vpll: VPLL {
207 regulator-min-microvolt = <1200000>;
208 regulator-max-microvolt = <1800000>;
209 regulator-enable-ramp-delay = <100>;
210 };
211
212 vrf1: VRF1 {
213 regulator-min-microvolt = <2775000>;
214 regulator-max-microvolt = <2775000>;
215 regulator-enable-ramp-delay = <1000>;
216 };
217
218 vrf2: VRF2 {
219 regulator-min-microvolt = <2775000>;
220 regulator-max-microvolt = <2775000>;
221 regulator-enable-ramp-delay = <1000>;
222 };
223
224 vrfref: VRFREF {
225 regulator-min-microvolt = <2500000>;
226 regulator-max-microvolt = <2775000>;
227 regulator-enable-ramp-delay = <100>;
228 };
229
230 vwlan1: VWLAN1 {
231 regulator-min-microvolt = <1800000>;
232 regulator-max-microvolt = <1900000>;
233 regulator-enable-ramp-delay = <1000>;
234 };
235
236 /* Used by micro-SDIO at mmc1 */
237 vwlan2: VWLAN2 {
238 regulator-min-microvolt = <3000000>;
239 regulator-max-microvolt = <3000000>;
240 regulator-enable-ramp-delay = <1000>;
241 };
242
243 vsim: VSIM {
244 regulator-min-microvolt = <1800000>;
245 regulator-max-microvolt = <2900000>;
246 regulator-enable-ramp-delay = <1000>;
247 };
248
249 vsimcard: VSIMCARD {
250 regulator-min-microvolt = <1800000>;
251 regulator-max-microvolt = <2900000>;
252 regulator-enable-ramp-delay = <1000>;
253 };
254
255 vvib: VVIB {
256 regulator-min-microvolt = <1300000>;
257 regulator-max-microvolt = <3000000>;
258 regulator-enable-ramp-delay = <500>;
259 };
260
261 vusb: VUSB {
262 regulator-min-microvolt = <3300000>;
263 regulator-max-microvolt = <3300000>;
264 regulator-enable-ramp-delay = <1000>;
265 };
266
267 vaudio: VAUDIO {
268 regulator-min-microvolt = <2775000>;
269 regulator-max-microvolt = <2775000>;
270 regulator-enable-ramp-delay = <1000>;
271 regulator-initial-mode = <0x00>; /* NORMAL */
272 };
273};