Merge tag 'arm-soc/for-5.6/devicetree' of https://github.com/Broadcom/stblinux into...
[sfrench/cifs-2.6.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 21 0 &cpcap 20 0 &cpcap 19 0
47                                 &cpcap 54 0
48                         >;
49                         interrupt-names =
50                                 "chrg_det", "rvrs_chrg", "chrg_se1b", "se0conn",
51                                 "rvrs_mode", "chrgcurr2", "chrgcurr1", "vbusvld",
52                                 "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 &cpcap 19 0
106                                 &cpcap 18 0 &cpcap 17 0 &cpcap 16 0 &cpcap 49 0
107                                 &cpcap 48 0
108                         >;
109                         interrupt-names =
110                                 "id_ground", "id_float", "se0conn", "vbusvld",
111                                 "sessvld", "sessend", "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 };