1// SPDX-License-Identifier: GPL-2.0 2#include <dt-bindings/input/input.h> 3#include <dt-bindings/reset/qcom,gcc-msm8960.h> 4 5#include "qcom-msm8960.dtsi" 6#include "pm8921.dtsi" 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 9#include <dt-bindings/input/gpio-keys.h> 10 11/ { 12 model = "Samsung Galaxy Express SGH-I437"; 13 compatible = "samsung,expressatt", "qcom,msm8960"; 14 chassis-type = "handset"; 15 16 aliases { 17 serial0 = &gsbi5_serial; 18 mmc0 = &sdcc1; /* SDCC1 eMMC slot */ 19 mmc1 = &sdcc3; /* SDCC3 SD card slot */ 20 }; 21 22 chosen { 23 stdout-path = "serial0:115200n8"; 24 }; 25 26 gpio-keys { 27 compatible = "gpio-keys"; 28 29 pinctrl-names = "default"; 30 pinctrl-0 = <&gpio_keys_pin_a>; 31 32 key-home { 33 label = "Home"; 34 gpios = <&msmgpio 40 GPIO_ACTIVE_LOW>; 35 debounce-interval = <5>; 36 linux,code = <KEY_HOMEPAGE>; 37 wakeup-event-action = <EV_ACT_ASSERTED>; 38 wakeup-source; 39 }; 40 41 key-volume-up { 42 label = "Volume Up"; 43 gpios = <&msmgpio 50 GPIO_ACTIVE_LOW>; 44 debounce-interval = <5>; 45 linux,code = <KEY_VOLUMEUP>; 46 }; 47 48 key-volume-down { 49 label = "Volume Down"; 50 gpios = <&msmgpio 81 GPIO_ACTIVE_LOW>; 51 debounce-interval = <5>; 52 linux,code = <KEY_VOLUMEDOWN>; 53 }; 54 }; 55}; 56 57&gsbi5 { 58 qcom,mode = <GSBI_PROT_I2C_UART>; 59 status = "okay"; 60}; 61 62&gsbi5_serial { 63 status = "okay"; 64}; 65 66&sdcc1 { 67 vmmc-supply = <&pm8921_l5>; 68 status = "okay"; 69}; 70 71&sdcc3 { 72 vmmc-supply = <&pm8921_l6>; 73 vqmmc-supply = <&pm8921_l7>; 74 75 pinctrl-0 = <&sdcc3_default_state>; 76 pinctrl-1 = <&sdcc3_sleep_state>; 77 pinctrl-names = "default", "sleep"; 78 79 status = "okay"; 80}; 81 82&gsbi1 { 83 qcom,mode = <GSBI_PROT_SPI>; 84 pinctrl-0 = <&spi1_default>; 85 pinctrl-names = "default"; 86 status = "okay"; 87}; 88 89&gsbi1_spi { 90 status = "okay"; 91}; 92 93&gsbi3 { 94 qcom,mode = <GSBI_PROT_I2C>; 95 status = "okay"; 96}; 97 98&gsbi3_i2c { 99 status = "okay"; 100 101 // Atmel mXT224S touchscreen 102 touchscreen@4a { 103 compatible = "atmel,maxtouch"; 104 reg = <0x4a>; 105 interrupt-parent = <&msmgpio>; 106 interrupts = <11 IRQ_TYPE_EDGE_FALLING>; 107 vdda-supply = <&pm8921_lvs6>; 108 vdd-supply = <&pm8921_l17>; 109 pinctrl-names = "default"; 110 pinctrl-0 = <&touchscreen>; 111 }; 112}; 113 114&msmgpio { 115 spi1_default: spi1-default-state { 116 mosi-pins { 117 pins = "gpio6"; 118 function = "gsbi1"; 119 drive-strength = <12>; 120 bias-disable; 121 }; 122 123 miso-pins { 124 pins = "gpio7"; 125 function = "gsbi1"; 126 drive-strength = <12>; 127 bias-disable; 128 }; 129 130 cs-pins { 131 pins = "gpio8"; 132 function = "gsbi1"; 133 drive-strength = <12>; 134 bias-disable; 135 output-low; 136 }; 137 138 clk-pins { 139 pins = "gpio9"; 140 function = "gsbi1"; 141 drive-strength = <12>; 142 bias-disable; 143 }; 144 }; 145 146 gpio_keys_pin_a: gpio-keys-active-state { 147 pins = "gpio40", "gpio50", "gpio81"; 148 function = "gpio"; 149 drive-strength = <8>; 150 bias-disable; 151 }; 152 153 touchscreen: touchscreen-int-state { 154 pins = "gpio11"; 155 function = "gpio"; 156 output-enable; 157 bias-disable; 158 drive-strength = <2>; 159 }; 160}; 161 162&pm8921 { 163 interrupts-extended = <&msmgpio 104 IRQ_TYPE_LEVEL_LOW>; 164}; 165 166&rpm { 167 regulators { 168 compatible = "qcom,rpm-pm8921-regulators"; 169 vin_lvs1_3_6-supply = <&pm8921_s4>; 170 vin_lvs2-supply = <&pm8921_s4>; 171 vin_lvs4_5_7-supply = <&pm8921_s4>; 172 vdd_ncp-supply = <&pm8921_l6>; 173 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; 174 vdd_l21_l23_l29-supply = <&pm8921_s8>; 175 vdd_l24-supply = <&pm8921_s1>; 176 vdd_l25-supply = <&pm8921_s1>; 177 vdd_l27-supply = <&pm8921_s7>; 178 vdd_l28-supply = <&pm8921_s7>; 179 180 /* Buck SMPS */ 181 pm8921_s1: s1 { 182 regulator-always-on; 183 regulator-min-microvolt = <1225000>; 184 regulator-max-microvolt = <1225000>; 185 qcom,switch-mode-frequency = <3200000>; 186 bias-pull-down; 187 }; 188 189 pm8921_s2: s2 { 190 regulator-min-microvolt = <1300000>; 191 regulator-max-microvolt = <1300000>; 192 qcom,switch-mode-frequency = <1600000>; 193 bias-pull-down; 194 }; 195 196 pm8921_s3: s3 { 197 regulator-min-microvolt = <500000>; 198 regulator-max-microvolt = <1150000>; 199 qcom,switch-mode-frequency = <4800000>; 200 bias-pull-down; 201 }; 202 203 pm8921_s4: s4 { 204 regulator-always-on; 205 regulator-min-microvolt = <1800000>; 206 regulator-max-microvolt = <1800000>; 207 qcom,switch-mode-frequency = <1600000>; 208 bias-pull-down; 209 qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; 210 }; 211 212 pm8921_s7: s7 { 213 regulator-min-microvolt = <1150000>; 214 regulator-max-microvolt = <1150000>; 215 qcom,switch-mode-frequency = <3200000>; 216 bias-pull-down; 217 }; 218 219 pm8921_s8: s8 { 220 regulator-always-on; 221 regulator-min-microvolt = <2050000>; 222 regulator-max-microvolt = <2050000>; 223 qcom,switch-mode-frequency = <1600000>; 224 bias-pull-down; 225 }; 226 227 /* PMOS LDO */ 228 pm8921_l1: l1 { 229 regulator-always-on; 230 regulator-min-microvolt = <1050000>; 231 regulator-max-microvolt = <1050000>; 232 bias-pull-down; 233 }; 234 235 pm8921_l2: l2 { 236 regulator-min-microvolt = <1200000>; 237 regulator-max-microvolt = <1200000>; 238 bias-pull-down; 239 }; 240 241 pm8921_l3: l3 { 242 regulator-min-microvolt = <3075000>; 243 regulator-max-microvolt = <3300000>; 244 bias-pull-down; 245 }; 246 247 pm8921_l4: l4 { 248 regulator-always-on; 249 regulator-min-microvolt = <1800000>; 250 regulator-max-microvolt = <1800000>; 251 bias-pull-down; 252 }; 253 254 pm8921_l5: l5 { 255 regulator-min-microvolt = <2950000>; 256 regulator-max-microvolt = <2950000>; 257 bias-pull-down; 258 }; 259 260 pm8921_l6: l6 { 261 regulator-min-microvolt = <2950000>; 262 regulator-max-microvolt = <2950000>; 263 bias-pull-down; 264 }; 265 266 pm8921_l7: l7 { 267 regulator-always-on; 268 regulator-min-microvolt = <1850000>; 269 regulator-max-microvolt = <2950000>; 270 bias-pull-down; 271 }; 272 273 pm8921_l8: l8 { 274 regulator-min-microvolt = <3000000>; 275 regulator-max-microvolt = <3100000>; 276 bias-pull-down; 277 }; 278 279 pm8921_l9: l9 { 280 regulator-min-microvolt = <2850000>; 281 regulator-max-microvolt = <2850000>; 282 bias-pull-down; 283 }; 284 285 pm8921_l10: l10 { 286 regulator-min-microvolt = <3000000>; 287 regulator-max-microvolt = <3000000>; 288 bias-pull-down; 289 }; 290 291 pm8921_l11: l11 { 292 regulator-min-microvolt = <2800000>; 293 regulator-max-microvolt = <3300000>; 294 bias-pull-down; 295 }; 296 297 pm8921_l12: l12 { 298 regulator-min-microvolt = <1200000>; 299 regulator-max-microvolt = <1200000>; 300 bias-pull-down; 301 }; 302 303 pm8921_l14: l14 { 304 regulator-min-microvolt = <1800000>; 305 regulator-max-microvolt = <1800000>; 306 bias-pull-down; 307 }; 308 309 pm8921_l15: l15 { 310 regulator-min-microvolt = <1800000>; 311 regulator-max-microvolt = <2950000>; 312 bias-pull-down; 313 }; 314 315 pm8921_l16: l16 { 316 regulator-min-microvolt = <2800000>; 317 regulator-max-microvolt = <3000000>; 318 bias-pull-down; 319 }; 320 321 pm8921_l17: l17 { 322 regulator-min-microvolt = <3300000>; 323 regulator-max-microvolt = <3300000>; 324 bias-pull-down; 325 }; 326 327 pm8921_l18: l18 { 328 regulator-min-microvolt = <1200000>; 329 regulator-max-microvolt = <1500000>; 330 bias-pull-down; 331 }; 332 333 pm8921_l21: l21 { 334 regulator-min-microvolt = <1900000>; 335 regulator-max-microvolt = <1900000>; 336 bias-pull-down; 337 }; 338 339 pm8921_l22: l22 { 340 regulator-min-microvolt = <2750000>; 341 regulator-max-microvolt = <2750000>; 342 bias-pull-down; 343 }; 344 345 pm8921_l23: l23 { 346 regulator-always-on; 347 regulator-min-microvolt = <1800000>; 348 regulator-max-microvolt = <1800000>; 349 bias-pull-down; 350 }; 351 352 pm8921_l24: l24 { 353 regulator-min-microvolt = <750000>; 354 regulator-max-microvolt = <1150000>; 355 bias-pull-down; 356 }; 357 358 pm8921_l25: l25 { 359 regulator-always-on; 360 regulator-min-microvolt = <1225000>; 361 regulator-max-microvolt = <1225000>; 362 bias-pull-down; 363 }; 364 365 /* Low Voltage Switch */ 366 pm8921_lvs1: lvs1 { 367 bias-pull-down; 368 }; 369 370 pm8921_lvs2: lvs2 { 371 bias-pull-down; 372 }; 373 374 pm8921_lvs3: lvs3 { 375 bias-pull-down; 376 }; 377 378 pm8921_lvs4: lvs4 { 379 bias-pull-down; 380 }; 381 382 pm8921_lvs5: lvs5 { 383 bias-pull-down; 384 }; 385 386 pm8921_lvs6: lvs6 { 387 bias-pull-down; 388 }; 389 390 pm8921_lvs7: lvs7 { 391 bias-pull-down; 392 }; 393 394 pm8921_ncp: ncp { 395 regulator-min-microvolt = <1800000>; 396 regulator-max-microvolt = <1800000>; 397 qcom,switch-mode-frequency = <1600000>; 398 }; 399 }; 400}; 401 402&usb_hs1_phy { 403 v3p3-supply = <&pm8921_l3>; 404 v1p8-supply = <&pm8921_l4>; 405}; 406 407&usb1 { 408 dr_mode = "otg"; 409 status = "okay"; 410}; 411