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