Tony Lindgren | 0d4cb3c | 2017-03-05 20:11:56 -0800 | [diff] [blame] | 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>; |
Tony Lindgren | 4fd14a4 | 2017-04-04 09:22:25 -0700 | [diff] [blame] | 14 | interrupts = <7 IRQ_TYPE_LEVEL_HIGH>; |
Tony Lindgren | 0d4cb3c | 2017-03-05 20:11:56 -0800 | [diff] [blame] | 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 | |
Tony Lindgren | 94b9a8a | 2017-04-09 16:20:29 -0700 | [diff] [blame] | 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 | |
Tony Lindgren | c3d28e5 | 2017-06-01 07:26:37 -0700 | [diff] [blame] | 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 | |
Tony Lindgren | 8a1a625 | 2017-04-09 16:21:59 -0700 | [diff] [blame] | 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 | |
Tony Lindgren | 0d4cb3c | 2017-03-05 20:11:56 -0800 | [diff] [blame] | 64 | cpcap_regulator: regulator { |
| 65 | compatible = "motorola,mapphone-cpcap-regulator"; |
| 66 | |
| 67 | cpcap_regulators: regulators { |
| 68 | }; |
| 69 | }; |
Sebastian Reichel | 45ce6cf | 2017-03-05 20:11:56 -0800 | [diff] [blame] | 70 | |
Sebastian Reichel | 1f64d43 | 2018-02-23 21:02:53 +0100 | [diff] [blame] | 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 | |
Sebastian Reichel | 45ce6cf | 2017-03-05 20:11:56 -0800 | [diff] [blame] | 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 | }; |
Sebastian Reichel | 594e808 | 2017-03-05 20:11:57 -0800 | [diff] [blame] | 90 | |
| 91 | power_button: button { |
| 92 | compatible = "motorola,cpcap-pwrbutton"; |
| 93 | |
| 94 | interrupts = <23 IRQ_TYPE_NONE>; |
| 95 | }; |
Sebastian Reichel | 836a0b0 | 2017-03-05 18:22:34 +0100 | [diff] [blame] | 96 | |
Tony Lindgren | 8434fbe | 2017-04-09 16:22:08 -0700 | [diff] [blame] | 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 | |
Sebastian Reichel | 836a0b0 | 2017-03-05 18:22:34 +0100 | [diff] [blame] | 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 | }; |
Tony Lindgren | 0d4cb3c | 2017-03-05 20:11:56 -0800 | [diff] [blame] | 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 | |
Tony Lindgren | 26bfad6 | 2017-03-27 17:40:20 -0700 | [diff] [blame] | 236 | /* Used by micro-SDIO at mmc1 */ |
Tony Lindgren | 0d4cb3c | 2017-03-05 20:11:56 -0800 | [diff] [blame] | 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 | |
Tony Lindgren | 0d4cb3c | 2017-03-05 20:11:56 -0800 | [diff] [blame] | 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>; |
Sebastian Reichel | aed09a4 | 2017-07-10 16:33:41 +0200 | [diff] [blame] | 271 | regulator-initial-mode = <0x00>; /* NORMAL */ |
Tony Lindgren | 0d4cb3c | 2017-03-05 20:11:56 -0800 | [diff] [blame] | 272 | }; |
| 273 | }; |