blob: ddc7a7bb33c0de974a74ecf754f0a4644c5fc46b [file] [log] [blame]
Tony Lindgren0d4cb3c2017-03-05 20:11:56 -08001/*
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>;
Tony Lindgren4fd14a42017-04-04 09:22:25 -070014 interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
Tony Lindgren0d4cb3c2017-03-05 20:11:56 -080015 interrupt-controller;
16 #interrupt-cells = <2>;
17 #address-cells = <1>;
18 #size-cells = <0>;
19 spi-max-frequency = <3000000>;
20 spi-cs-high;
21
Tony Lindgren94b9a8a2017-04-09 16:20:29 -070022 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
Tony Lindgrenc3d28e52017-06-01 07:26:37 -070029 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
Tony Lindgren8a1a6252017-04-09 16:21:59 -070045 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
Tony Lindgren0d4cb3c2017-03-05 20:11:56 -080064 cpcap_regulator: regulator {
65 compatible = "motorola,mapphone-cpcap-regulator";
66
67 cpcap_regulators: regulators {
68 };
69 };
Sebastian Reichel45ce6cf2017-03-05 20:11:56 -080070
Sebastian Reichel1f64d432018-02-23 21:02:53 +010071 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
Sebastian Reichel45ce6cf2017-03-05 20:11:56 -080084 cpcap_rtc: rtc {
85 compatible = "motorola,cpcap-rtc";
86
87 interrupt-parent = <&cpcap>;
88 interrupts = <39 IRQ_TYPE_NONE>, <26 IRQ_TYPE_NONE>;
89 };
Sebastian Reichel594e8082017-03-05 20:11:57 -080090
91 power_button: button {
92 compatible = "motorola,cpcap-pwrbutton";
93
94 interrupts = <23 IRQ_TYPE_NONE>;
95 };
Sebastian Reichel836a0b02017-03-05 18:22:34 +010096
Tony Lindgren8434fbe2017-04-09 16:22:08 -070097 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
Sebastian Reichel836a0b02017-03-05 18:22:34 +0100120 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 };
Tony Lindgren0d4cb3c2017-03-05 20:11:56 -0800149 };
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
Tony Lindgren26bfad62017-03-27 17:40:20 -0700236 /* Used by micro-SDIO at mmc1 */
Tony Lindgren0d4cb3c2017-03-05 20:11:56 -0800237 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
Tony Lindgren0d4cb3c2017-03-05 20:11:56 -0800249 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>;
Sebastian Reichelaed09a42017-07-10 16:33:41 +0200271 regulator-initial-mode = <0x00>; /* NORMAL */
Tony Lindgren0d4cb3c2017-03-05 20:11:56 -0800272 };
273};