WIP FPC-III support
[linux/fpc-iii.git] / arch / arm / boot / dts / motorola-cpcap-mapphone.dtsi
blob08a7d3ce383f2ac133a7900549776f880fdd50ff
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * Common CPCAP configuration used on Motorola phones
4  */
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;
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                 };
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                         >;
34                         interrupt-names =
35                                 "eol", "lowbph", "lowbpl",
36                                 "chrgcurr1", "battdetb",
37                                 "cccal";
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                 };
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 21 0 &cpcap 20 0 &cpcap 19 0
50                                 &cpcap 54 0
51                         >;
52                         interrupt-names =
53                                 "chrg_det", "rvrs_chrg", "chrg_se1b", "se0conn",
54                                 "rvrs_mode", "chrgcurr2", "chrgcurr1", "vbusvld",
55                                 "battdetb";
56                         mode-gpios = <&gpio3 29 GPIO_ACTIVE_LOW
57                                       &gpio3 23 GPIO_ACTIVE_LOW>;
58                         io-channels = <&cpcap_adc 0 &cpcap_adc 1
59                                        &cpcap_adc 2 &cpcap_adc 5
60                                        &cpcap_adc 6>;
61                         io-channel-names = "battdetb", "battp",
62                                            "vbus", "chg_isense",
63                                            "batti";
64                 };
66                 cpcap_regulator: regulator {
67                         compatible = "motorola,mapphone-cpcap-regulator";
69                         cpcap_regulators: regulators {
70                         };
71                 };
73                 cpcap_audio: audio-codec {
74                         #sound-dai-cells = <1>;
76                         port@0 {
77                                 cpcap_audio_codec0: endpoint {
78                                 };
79                         };
80                         port@1 {
81                                 cpcap_audio_codec1: endpoint {
82                                 };
83                         };
84                 };
86                 cpcap_rtc: rtc {
87                         compatible = "motorola,cpcap-rtc";
89                         interrupt-parent = <&cpcap>;
90                         interrupts = <39 IRQ_TYPE_NONE>, <26 IRQ_TYPE_NONE>;
91                 };
93                 power_button: button {
94                         compatible = "motorola,cpcap-pwrbutton";
96                         interrupts = <23 IRQ_TYPE_NONE>;
97                 };
99                 cpcap_usb2_phy: phy {
100                         compatible = "motorola,mapphone-cpcap-usb-phy";
101                         pinctrl-0 = <&usb_gpio_mux_sel1 &usb_gpio_mux_sel2>;
102                         pinctrl-1 = <&usb_ulpi_pins>;
103                         pinctrl-2 = <&usb_utmi_pins>;
104                         pinctrl-3 = <&uart3_pins>;
105                         pinctrl-names = "default", "ulpi", "utmi", "uart";
106                         #phy-cells = <0>;
107                         interrupts-extended = <
108                                 &cpcap 15 0 &cpcap 14 0 &cpcap 28 0 &cpcap 19 0
109                                 &cpcap 18 0 &cpcap 17 0 &cpcap 16 0 &cpcap 49 0
110                                 &cpcap 48 0
111                         >;
112                         interrupt-names =
113                                 "id_ground", "id_float", "se0conn", "vbusvld",
114                                 "sessvld", "sessend", "se1", "dm", "dp";
115                         mode-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH
116                                       &gpio1 0 GPIO_ACTIVE_HIGH>;
117                         io-channels = <&cpcap_adc 2>, <&cpcap_adc 7>;
118                         io-channel-names = "vbus", "id";
119                         vusb-supply = <&vusb>;
120                 };
122                 led_red: led-red {
123                         compatible = "motorola,cpcap-led-red";
124                         vdd-supply = <&sw5>;
125                         label = "status-led:red";
126                 };
128                 led_green: led-green {
129                         compatible = "motorola,cpcap-led-green";
130                         vdd-supply = <&sw5>;
131                         label = "status-led:green";
132                 };
134                 led_blue: led-blue {
135                         compatible = "motorola,cpcap-led-blue";
136                         vdd-supply = <&sw5>;
137                         label = "status-led:blue";
138                 };
140                 led_adl: led-adl {
141                         compatible = "motorola,cpcap-led-adl";
142                         vdd-supply = <&sw5>;
143                         label = "button-backlight";
144                 };
146                 led_cp: led-cp {
147                         compatible = "motorola,cpcap-led-cp";
148                         vdd-supply = <&sw5>;
149                         label = "shift-key-light";
150                 };
151         };
154 &cpcap_regulators {
155         sw5: SW5 {
156                 regulator-min-microvolt = <5050000>;
157                 regulator-max-microvolt = <5050000>;
158                 regulator-enable-ramp-delay = <50000>;
159                 regulator-boot-on;
160         };
162         vcam: VCAM {
163                 regulator-min-microvolt = <2900000>;
164                 regulator-max-microvolt = <2900000>;
165                 regulator-enable-ramp-delay = <1000>;
166         };
168         /* Used by DSS and is the "zerov_regulator" trigger for SoC off mode */
169         vcsi: VCSI {
170                 regulator-min-microvolt = <1800000>;
171                 regulator-max-microvolt = <1800000>;
172                 regulator-enable-ramp-delay = <1000>;
173                 regulator-always-on;
174         };
176         vdac: VDAC {
177                 regulator-min-microvolt = <1800000>;
178                 regulator-max-microvolt = <1800000>;
179                 regulator-enable-ramp-delay = <1000>;
180         };
182         vdig: VDIG {
183                 regulator-min-microvolt = <1875000>;
184                 regulator-max-microvolt = <1875000>;
185                 regulator-enable-ramp-delay = <1000>;
186         };
188         vfuse: VFUSE {
189                 regulator-min-microvolt = <1500000>;
190                 regulator-max-microvolt = <3150000>;
191                 regulator-enable-ramp-delay = <1000>;
192         };
194         vhvio: VHVIO {
195                 regulator-min-microvolt = <2775000>;
196                 regulator-max-microvolt = <2775000>;
197                 regulator-enable-ramp-delay = <1000>;
198                 regulator-always-on;
199         };
201         /* Used by eMMC at mmc2 */
202         vsdio: VSDIO {
203                 regulator-min-microvolt = <2900000>;
204                 regulator-max-microvolt = <2900000>;
205                 regulator-enable-ramp-delay = <1000>;
206         };
208         vpll: VPLL {
209                 regulator-min-microvolt = <1200000>;
210                 regulator-max-microvolt = <1800000>;
211                 regulator-enable-ramp-delay = <100>;
212         };
214         vrf1: VRF1 {
215                 regulator-min-microvolt = <2775000>;
216                 regulator-max-microvolt = <2775000>;
217                 regulator-enable-ramp-delay = <1000>;
218         };
220         vrf2: VRF2 {
221                 regulator-min-microvolt = <2775000>;
222                 regulator-max-microvolt = <2775000>;
223                 regulator-enable-ramp-delay = <1000>;
224         };
226         vrfref: VRFREF {
227                 regulator-min-microvolt = <2500000>;
228                 regulator-max-microvolt = <2775000>;
229                 regulator-enable-ramp-delay = <100>;
230         };
232         vwlan1: VWLAN1 {
233                 regulator-min-microvolt = <1800000>;
234                 regulator-max-microvolt = <1900000>;
235                 regulator-enable-ramp-delay = <1000>;
236         };
238         /* Used by micro-SDIO at mmc1 */
239         vwlan2: VWLAN2 {
240                 regulator-min-microvolt = <3000000>;
241                 regulator-max-microvolt = <3000000>;
242                 regulator-enable-ramp-delay = <1000>;
243         };
245         vsim: VSIM {
246                 regulator-min-microvolt = <1800000>;
247                 regulator-max-microvolt = <2900000>;
248                 regulator-enable-ramp-delay = <1000>;
249         };
251         vsimcard: VSIMCARD {
252                 regulator-min-microvolt = <1800000>;
253                 regulator-max-microvolt = <2900000>;
254                 regulator-enable-ramp-delay = <1000>;
255         };
257         vvib: VVIB {
258                 regulator-min-microvolt = <1300000>;
259                 regulator-max-microvolt = <3000000>;
260                 regulator-enable-ramp-delay = <500>;
261         };
263         vusb: VUSB {
264                 regulator-min-microvolt = <3300000>;
265                 regulator-max-microvolt = <3300000>;
266                 regulator-enable-ramp-delay = <1000>;
267         };
269         vaudio: VAUDIO {
270                 regulator-min-microvolt = <2775000>;
271                 regulator-max-microvolt = <2775000>;
272                 regulator-enable-ramp-delay = <1000>;
273                 regulator-initial-mode = <0x00>; /* NORMAL */
274         };