1 1.1.1.2 jmcneill // SPDX-License-Identifier: GPL-2.0 2 1.1 jmcneill #include <dt-bindings/input/input.h> 3 1.1 jmcneill 4 1.1 jmcneill #include "qcom-msm8960.dtsi" 5 1.1 jmcneill 6 1.1 jmcneill / { 7 1.1 jmcneill model = "Qualcomm MSM8960 CDP"; 8 1.1 jmcneill compatible = "qcom,msm8960-cdp", "qcom,msm8960"; 9 1.1 jmcneill 10 1.1 jmcneill aliases { 11 1.1 jmcneill serial0 = &gsbi5_serial; 12 1.1 jmcneill }; 13 1.1 jmcneill 14 1.1 jmcneill chosen { 15 1.1 jmcneill stdout-path = "serial0:115200n8"; 16 1.1 jmcneill }; 17 1.1 jmcneill 18 1.1 jmcneill soc { 19 1.1 jmcneill gsbi@16400000 { 20 1.1.1.3 jmcneill status = "okay"; 21 1.1 jmcneill qcom,mode = <GSBI_PROT_I2C_UART>; 22 1.1 jmcneill serial@16440000 { 23 1.1.1.3 jmcneill status = "okay"; 24 1.1 jmcneill }; 25 1.1 jmcneill }; 26 1.1 jmcneill 27 1.1 jmcneill amba { 28 1.1 jmcneill /* eMMC */ 29 1.1 jmcneill sdcc1: sdcc@12400000 { 30 1.1 jmcneill status = "okay"; 31 1.1 jmcneill }; 32 1.1 jmcneill 33 1.1 jmcneill /* External micro SD card */ 34 1.1 jmcneill sdcc3: sdcc@12180000 { 35 1.1 jmcneill status = "okay"; 36 1.1 jmcneill }; 37 1.1 jmcneill }; 38 1.1 jmcneill 39 1.1 jmcneill rpm@108000 { 40 1.1 jmcneill regulators { 41 1.1 jmcneill compatible = "qcom,rpm-pm8921-regulators"; 42 1.1 jmcneill vin_lvs1_3_6-supply = <&pm8921_s4>; 43 1.1 jmcneill vin_lvs2-supply = <&pm8921_s4>; 44 1.1 jmcneill vin_lvs4_5_7-supply = <&pm8921_s4>; 45 1.1 jmcneill vdd_ncp-supply = <&pm8921_l6>; 46 1.1 jmcneill vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; 47 1.1 jmcneill vdd_l21_l23_l29-supply = <&pm8921_s8>; 48 1.1 jmcneill vdd_l24-supply = <&pm8921_s1>; 49 1.1 jmcneill vdd_l25-supply = <&pm8921_s1>; 50 1.1 jmcneill vdd_l27-supply = <&pm8921_s7>; 51 1.1 jmcneill vdd_l28-supply = <&pm8921_s7>; 52 1.1 jmcneill 53 1.1 jmcneill /* Buck SMPS */ 54 1.1 jmcneill pm8921_s1: s1 { 55 1.1 jmcneill regulator-always-on; 56 1.1 jmcneill regulator-min-microvolt = <1225000>; 57 1.1 jmcneill regulator-max-microvolt = <1225000>; 58 1.1 jmcneill qcom,switch-mode-frequency = <3200000>; 59 1.1 jmcneill bias-pull-down; 60 1.1 jmcneill }; 61 1.1 jmcneill 62 1.1 jmcneill pm8921_s2: s2 { 63 1.1 jmcneill regulator-min-microvolt = <1300000>; 64 1.1 jmcneill regulator-max-microvolt = <1300000>; 65 1.1 jmcneill qcom,switch-mode-frequency = <1600000>; 66 1.1 jmcneill bias-pull-down; 67 1.1 jmcneill }; 68 1.1 jmcneill 69 1.1 jmcneill pm8921_s3: s3 { 70 1.1 jmcneill regulator-min-microvolt = <500000>; 71 1.1 jmcneill regulator-max-microvolt = <1150000>; 72 1.1 jmcneill qcom,switch-mode-frequency = <4800000>; 73 1.1 jmcneill bias-pull-down; 74 1.1 jmcneill }; 75 1.1 jmcneill 76 1.1 jmcneill pm8921_s4: s4 { 77 1.1 jmcneill regulator-always-on; 78 1.1 jmcneill regulator-min-microvolt = <1800000>; 79 1.1 jmcneill regulator-max-microvolt = <1800000>; 80 1.1 jmcneill qcom,switch-mode-frequency = <1600000>; 81 1.1 jmcneill bias-pull-down; 82 1.1 jmcneill qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; 83 1.1 jmcneill }; 84 1.1 jmcneill 85 1.1 jmcneill pm8921_s7: s7 { 86 1.1 jmcneill regulator-min-microvolt = <1150000>; 87 1.1 jmcneill regulator-max-microvolt = <1150000>; 88 1.1 jmcneill qcom,switch-mode-frequency = <3200000>; 89 1.1 jmcneill bias-pull-down; 90 1.1 jmcneill }; 91 1.1 jmcneill 92 1.1 jmcneill pm8921_s8: s8 { 93 1.1 jmcneill regulator-always-on; 94 1.1 jmcneill regulator-min-microvolt = <2050000>; 95 1.1 jmcneill regulator-max-microvolt = <2050000>; 96 1.1 jmcneill qcom,switch-mode-frequency = <1600000>; 97 1.1 jmcneill bias-pull-down; 98 1.1 jmcneill }; 99 1.1 jmcneill 100 1.1 jmcneill /* PMOS LDO */ 101 1.1 jmcneill pm8921_l1: l1 { 102 1.1 jmcneill regulator-always-on; 103 1.1 jmcneill regulator-min-microvolt = <1050000>; 104 1.1 jmcneill regulator-max-microvolt = <1050000>; 105 1.1 jmcneill bias-pull-down; 106 1.1 jmcneill }; 107 1.1 jmcneill 108 1.1 jmcneill pm8921_l2: l2 { 109 1.1 jmcneill regulator-min-microvolt = <1200000>; 110 1.1 jmcneill regulator-max-microvolt = <1200000>; 111 1.1 jmcneill bias-pull-down; 112 1.1 jmcneill }; 113 1.1 jmcneill 114 1.1 jmcneill pm8921_l3: l3 { 115 1.1 jmcneill regulator-min-microvolt = <3075000>; 116 1.1 jmcneill regulator-max-microvolt = <3075000>; 117 1.1 jmcneill bias-pull-down; 118 1.1 jmcneill }; 119 1.1 jmcneill 120 1.1 jmcneill pm8921_l4: l4 { 121 1.1 jmcneill regulator-always-on; 122 1.1 jmcneill regulator-min-microvolt = <1800000>; 123 1.1 jmcneill regulator-max-microvolt = <1800000>; 124 1.1 jmcneill bias-pull-down; 125 1.1 jmcneill }; 126 1.1 jmcneill 127 1.1 jmcneill pm8921_l5: l5 { 128 1.1 jmcneill regulator-min-microvolt = <2950000>; 129 1.1 jmcneill regulator-max-microvolt = <2950000>; 130 1.1 jmcneill bias-pull-down; 131 1.1 jmcneill }; 132 1.1 jmcneill 133 1.1 jmcneill pm8921_l6: l6 { 134 1.1 jmcneill regulator-min-microvolt = <2950000>; 135 1.1 jmcneill regulator-max-microvolt = <2950000>; 136 1.1 jmcneill bias-pull-down; 137 1.1 jmcneill }; 138 1.1 jmcneill 139 1.1 jmcneill pm8921_l7: l7 { 140 1.1 jmcneill regulator-always-on; 141 1.1 jmcneill regulator-min-microvolt = <1850000>; 142 1.1 jmcneill regulator-max-microvolt = <2950000>; 143 1.1 jmcneill bias-pull-down; 144 1.1 jmcneill }; 145 1.1 jmcneill 146 1.1 jmcneill pm8921_l8: l8 { 147 1.1 jmcneill regulator-min-microvolt = <2800000>; 148 1.1 jmcneill regulator-max-microvolt = <3000000>; 149 1.1 jmcneill bias-pull-down; 150 1.1 jmcneill }; 151 1.1 jmcneill 152 1.1 jmcneill pm8921_l9: l9 { 153 1.1 jmcneill regulator-min-microvolt = <3000000>; 154 1.1 jmcneill regulator-max-microvolt = <3000000>; 155 1.1 jmcneill bias-pull-down; 156 1.1 jmcneill }; 157 1.1 jmcneill 158 1.1 jmcneill pm8921_l10: l10 { 159 1.1 jmcneill regulator-min-microvolt = <3000000>; 160 1.1 jmcneill regulator-max-microvolt = <3000000>; 161 1.1 jmcneill bias-pull-down; 162 1.1 jmcneill }; 163 1.1 jmcneill 164 1.1 jmcneill pm8921_l11: l11 { 165 1.1 jmcneill regulator-min-microvolt = <2850000>; 166 1.1 jmcneill regulator-max-microvolt = <2850000>; 167 1.1 jmcneill bias-pull-down; 168 1.1 jmcneill }; 169 1.1 jmcneill 170 1.1 jmcneill pm8921_l12: l12 { 171 1.1 jmcneill regulator-min-microvolt = <1200000>; 172 1.1 jmcneill regulator-max-microvolt = <1200000>; 173 1.1 jmcneill bias-pull-down; 174 1.1 jmcneill }; 175 1.1 jmcneill 176 1.1 jmcneill pm8921_l14: l14 { 177 1.1 jmcneill regulator-min-microvolt = <1800000>; 178 1.1 jmcneill regulator-max-microvolt = <1800000>; 179 1.1 jmcneill bias-pull-down; 180 1.1 jmcneill }; 181 1.1 jmcneill 182 1.1 jmcneill pm8921_l15: l15 { 183 1.1 jmcneill regulator-min-microvolt = <1800000>; 184 1.1 jmcneill regulator-max-microvolt = <2950000>; 185 1.1 jmcneill bias-pull-down; 186 1.1 jmcneill }; 187 1.1 jmcneill 188 1.1 jmcneill pm8921_l16: l16 { 189 1.1 jmcneill regulator-min-microvolt = <2800000>; 190 1.1 jmcneill regulator-max-microvolt = <2800000>; 191 1.1 jmcneill bias-pull-down; 192 1.1 jmcneill }; 193 1.1 jmcneill 194 1.1 jmcneill pm8921_l17: l17 { 195 1.1 jmcneill regulator-min-microvolt = <1800000>; 196 1.1 jmcneill regulator-max-microvolt = <2950000>; 197 1.1 jmcneill bias-pull-down; 198 1.1 jmcneill }; 199 1.1 jmcneill 200 1.1 jmcneill pm8921_l18: l18 { 201 1.1 jmcneill regulator-min-microvolt = <1300000>; 202 1.1 jmcneill regulator-max-microvolt = <1300000>; 203 1.1 jmcneill bias-pull-down; 204 1.1 jmcneill }; 205 1.1 jmcneill 206 1.1 jmcneill pm8921_l21: l21 { 207 1.1 jmcneill regulator-min-microvolt = <1900000>; 208 1.1 jmcneill regulator-max-microvolt = <1900000>; 209 1.1 jmcneill bias-pull-down; 210 1.1 jmcneill }; 211 1.1 jmcneill 212 1.1 jmcneill pm8921_l22: l22 { 213 1.1 jmcneill regulator-min-microvolt = <2750000>; 214 1.1 jmcneill regulator-max-microvolt = <2750000>; 215 1.1 jmcneill bias-pull-down; 216 1.1 jmcneill }; 217 1.1 jmcneill 218 1.1 jmcneill pm8921_l23: l23 { 219 1.1 jmcneill regulator-always-on; 220 1.1 jmcneill regulator-min-microvolt = <1800000>; 221 1.1 jmcneill regulator-max-microvolt = <1800000>; 222 1.1 jmcneill bias-pull-down; 223 1.1 jmcneill }; 224 1.1 jmcneill 225 1.1 jmcneill pm8921_l24: l24 { 226 1.1 jmcneill regulator-min-microvolt = <750000>; 227 1.1 jmcneill regulator-max-microvolt = <1150000>; 228 1.1 jmcneill bias-pull-down; 229 1.1 jmcneill }; 230 1.1 jmcneill 231 1.1 jmcneill pm8921_l25: l25 { 232 1.1 jmcneill regulator-always-on; 233 1.1 jmcneill regulator-min-microvolt = <1250000>; 234 1.1 jmcneill regulator-max-microvolt = <1250000>; 235 1.1 jmcneill bias-pull-down; 236 1.1 jmcneill }; 237 1.1 jmcneill 238 1.1 jmcneill /* Low Voltage Switch */ 239 1.1 jmcneill pm8921_lvs1: lvs1 { 240 1.1 jmcneill bias-pull-down; 241 1.1 jmcneill }; 242 1.1 jmcneill 243 1.1 jmcneill pm8921_lvs2: lvs2 { 244 1.1 jmcneill bias-pull-down; 245 1.1 jmcneill }; 246 1.1 jmcneill 247 1.1 jmcneill pm8921_lvs3: lvs3 { 248 1.1 jmcneill bias-pull-down; 249 1.1 jmcneill }; 250 1.1 jmcneill 251 1.1 jmcneill pm8921_lvs4: lvs4 { 252 1.1 jmcneill bias-pull-down; 253 1.1 jmcneill }; 254 1.1 jmcneill 255 1.1 jmcneill pm8921_lvs5: lvs5 { 256 1.1 jmcneill bias-pull-down; 257 1.1 jmcneill }; 258 1.1 jmcneill 259 1.1 jmcneill pm8921_lvs6: lvs6 { 260 1.1 jmcneill bias-pull-down; 261 1.1 jmcneill }; 262 1.1 jmcneill 263 1.1 jmcneill pm8921_lvs7: lvs7 { 264 1.1 jmcneill bias-pull-down; 265 1.1 jmcneill }; 266 1.1 jmcneill 267 1.1 jmcneill pm8921_ncp: ncp { 268 1.1 jmcneill regulator-min-microvolt = <1800000>; 269 1.1 jmcneill regulator-max-microvolt = <1800000>; 270 1.1 jmcneill qcom,switch-mode-frequency = <1600000>; 271 1.1 jmcneill }; 272 1.1 jmcneill }; 273 1.1 jmcneill }; 274 1.1 jmcneill 275 1.1 jmcneill gsbi@16000000 { 276 1.1.1.3 jmcneill status = "okay"; 277 1.1 jmcneill qcom,mode = <GSBI_PROT_SPI>; 278 1.1 jmcneill pinctrl-names = "default"; 279 1.1 jmcneill pinctrl-0 = <&spi1_default>; 280 1.1 jmcneill spi@16080000 { 281 1.1.1.3 jmcneill status = "okay"; 282 1.1 jmcneill eth@0 { 283 1.1 jmcneill compatible = "micrel,ks8851"; 284 1.1 jmcneill reg = <0>; 285 1.1 jmcneill interrupt-parent = <&msmgpio>; 286 1.1 jmcneill interrupts = <90 8>; 287 1.1 jmcneill spi-max-frequency = <5400000>; 288 1.1 jmcneill vdd-supply = <&ext_l2>; 289 1.1 jmcneill vdd-io-supply = <&pm8921_lvs6>; 290 1.1 jmcneill reset-gpios = <&msmgpio 89 0>; 291 1.1 jmcneill }; 292 1.1 jmcneill }; 293 1.1 jmcneill }; 294 1.1 jmcneill 295 1.1 jmcneill pinctrl@800000 { 296 1.1 jmcneill spi1_default: spi1_default { 297 1.1 jmcneill mux { 298 1.1 jmcneill pins = "gpio6", "gpio7", "gpio9"; 299 1.1 jmcneill function = "gsbi1"; 300 1.1 jmcneill }; 301 1.1 jmcneill 302 1.1 jmcneill mosi { 303 1.1 jmcneill pins = "gpio6"; 304 1.1 jmcneill drive-strength = <12>; 305 1.1 jmcneill bias-disable; 306 1.1 jmcneill }; 307 1.1 jmcneill 308 1.1 jmcneill miso { 309 1.1 jmcneill pins = "gpio7"; 310 1.1 jmcneill drive-strength = <12>; 311 1.1 jmcneill bias-disable; 312 1.1 jmcneill }; 313 1.1 jmcneill 314 1.1 jmcneill cs { 315 1.1 jmcneill pins = "gpio8"; 316 1.1 jmcneill drive-strength = <12>; 317 1.1 jmcneill bias-disable; 318 1.1 jmcneill output-low; 319 1.1 jmcneill }; 320 1.1 jmcneill 321 1.1 jmcneill clk { 322 1.1 jmcneill pins = "gpio9"; 323 1.1 jmcneill drive-strength = <12>; 324 1.1 jmcneill bias-disable; 325 1.1 jmcneill }; 326 1.1 jmcneill }; 327 1.1 jmcneill }; 328 1.1 jmcneill }; 329 1.1 jmcneill 330 1.1 jmcneill regulators { 331 1.1 jmcneill compatible = "simple-bus"; 332 1.1 jmcneill 333 1.1 jmcneill ext_l2: gpio-regulator@91 { 334 1.1 jmcneill compatible = "regulator-fixed"; 335 1.1 jmcneill regulator-name = "ext_l2"; 336 1.1 jmcneill gpio = <&msmgpio 91 0>; 337 1.1 jmcneill startup-delay-us = <10000>; 338 1.1 jmcneill enable-active-high; 339 1.1 jmcneill }; 340 1.1 jmcneill }; 341 1.1 jmcneill }; 342 1.1 jmcneill 343 1.1 jmcneill &pmicintc { 344 1.1 jmcneill keypad@148 { 345 1.1 jmcneill linux,keymap = < 346 1.1 jmcneill MATRIX_KEY(0, 0, KEY_VOLUMEUP) 347 1.1 jmcneill MATRIX_KEY(0, 1, KEY_VOLUMEDOWN) 348 1.1 jmcneill MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS) 349 1.1 jmcneill MATRIX_KEY(0, 3, KEY_CAMERA) 350 1.1 jmcneill >; 351 1.1 jmcneill keypad,num-rows = <1>; 352 1.1 jmcneill keypad,num-columns = <5>; 353 1.1 jmcneill }; 354 1.1 jmcneill }; 355