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 status = "okay"; 75 }; 76 77 &gsbi1 { 78 qcom,mode = <GSBI_PROT_SPI>; 79 pinctrl-0 = <&spi1_default>; 80 pinctrl-names = "default"; 81 status = "okay"; 82 }; 83 84 &gsbi1_spi { 85 status = "okay"; 86 }; 87 88 &gsbi3 { 89 qcom,mode = <GSBI_PROT_I2C>; 90 status = "okay"; 91 }; 92 93 &gsbi3_i2c { 94 status = "okay"; 95 96 // Atmel mXT224S touchscreen 97 touchscreen@4a { 98 compatible = "atmel,maxtouch"; 99 reg = <0x4a>; 100 interrupt-parent = <&msmgpio>; 101 interrupts = <11 IRQ_TYPE_EDGE_FALLING>; 102 vdda-supply = <&pm8921_lvs6>; 103 vdd-supply = <&pm8921_l17>; 104 pinctrl-names = "default"; 105 pinctrl-0 = <&touchscreen>; 106 }; 107 }; 108 109 &msmgpio { 110 spi1_default: spi1-default-state { 111 mosi-pins { 112 pins = "gpio6"; 113 function = "gsbi1"; 114 drive-strength = <12>; 115 bias-disable; 116 }; 117 118 miso-pins { 119 pins = "gpio7"; 120 function = "gsbi1"; 121 drive-strength = <12>; 122 bias-disable; 123 }; 124 125 cs-pins { 126 pins = "gpio8"; 127 function = "gsbi1"; 128 drive-strength = <12>; 129 bias-disable; 130 output-low; 131 }; 132 133 clk-pins { 134 pins = "gpio9"; 135 function = "gsbi1"; 136 drive-strength = <12>; 137 bias-disable; 138 }; 139 }; 140 141 gpio_keys_pin_a: gpio-keys-active-state { 142 pins = "gpio40", "gpio50", "gpio81"; 143 function = "gpio"; 144 drive-strength = <8>; 145 bias-disable; 146 }; 147 148 touchscreen: touchscreen-int-state { 149 pins = "gpio11"; 150 function = "gpio"; 151 output-enable; 152 bias-disable; 153 drive-strength = <2>; 154 }; 155 }; 156 157 &pm8921 { 158 interrupts-extended = <&msmgpio 104 IRQ_TYPE_LEVEL_LOW>; 159 }; 160 161 &rpm { 162 regulators { 163 compatible = "qcom,rpm-pm8921-regulators"; 164 vin_lvs1_3_6-supply = <&pm8921_s4>; 165 vin_lvs2-supply = <&pm8921_s4>; 166 vin_lvs4_5_7-supply = <&pm8921_s4>; 167 vdd_ncp-supply = <&pm8921_l6>; 168 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; 169 vdd_l21_l23_l29-supply = <&pm8921_s8>; 170 vdd_l24-supply = <&pm8921_s1>; 171 vdd_l25-supply = <&pm8921_s1>; 172 vdd_l27-supply = <&pm8921_s7>; 173 vdd_l28-supply = <&pm8921_s7>; 174 175 /* Buck SMPS */ 176 pm8921_s1: s1 { 177 regulator-always-on; 178 regulator-min-microvolt = <1225000>; 179 regulator-max-microvolt = <1225000>; 180 qcom,switch-mode-frequency = <3200000>; 181 bias-pull-down; 182 }; 183 184 pm8921_s2: s2 { 185 regulator-min-microvolt = <1300000>; 186 regulator-max-microvolt = <1300000>; 187 qcom,switch-mode-frequency = <1600000>; 188 bias-pull-down; 189 }; 190 191 pm8921_s3: s3 { 192 regulator-min-microvolt = <500000>; 193 regulator-max-microvolt = <1150000>; 194 qcom,switch-mode-frequency = <4800000>; 195 bias-pull-down; 196 }; 197 198 pm8921_s4: s4 { 199 regulator-always-on; 200 regulator-min-microvolt = <1800000>; 201 regulator-max-microvolt = <1800000>; 202 qcom,switch-mode-frequency = <1600000>; 203 bias-pull-down; 204 qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; 205 }; 206 207 pm8921_s7: s7 { 208 regulator-min-microvolt = <1150000>; 209 regulator-max-microvolt = <1150000>; 210 qcom,switch-mode-frequency = <3200000>; 211 bias-pull-down; 212 }; 213 214 pm8921_s8: s8 { 215 regulator-always-on; 216 regulator-min-microvolt = <2050000>; 217 regulator-max-microvolt = <2050000>; 218 qcom,switch-mode-frequency = <1600000>; 219 bias-pull-down; 220 }; 221 222 /* PMOS LDO */ 223 pm8921_l1: l1 { 224 regulator-always-on; 225 regulator-min-microvolt = <1050000>; 226 regulator-max-microvolt = <1050000>; 227 bias-pull-down; 228 }; 229 230 pm8921_l2: l2 { 231 regulator-min-microvolt = <1200000>; 232 regulator-max-microvolt = <1200000>; 233 bias-pull-down; 234 }; 235 236 pm8921_l3: l3 { 237 regulator-min-microvolt = <3075000>; 238 regulator-max-microvolt = <3300000>; 239 bias-pull-down; 240 }; 241 242 pm8921_l4: l4 { 243 regulator-always-on; 244 regulator-min-microvolt = <1800000>; 245 regulator-max-microvolt = <1800000>; 246 bias-pull-down; 247 }; 248 249 pm8921_l5: l5 { 250 regulator-min-microvolt = <2950000>; 251 regulator-max-microvolt = <2950000>; 252 bias-pull-down; 253 }; 254 255 pm8921_l6: l6 { 256 regulator-min-microvolt = <2950000>; 257 regulator-max-microvolt = <2950000>; 258 bias-pull-down; 259 }; 260 261 pm8921_l7: l7 { 262 regulator-always-on; 263 regulator-min-microvolt = <1850000>; 264 regulator-max-microvolt = <2950000>; 265 bias-pull-down; 266 }; 267 268 pm8921_l8: l8 { 269 regulator-min-microvolt = <3000000>; 270 regulator-max-microvolt = <3100000>; 271 bias-pull-down; 272 }; 273 274 pm8921_l9: l9 { 275 regulator-min-microvolt = <2850000>; 276 regulator-max-microvolt = <2850000>; 277 bias-pull-down; 278 }; 279 280 pm8921_l10: l10 { 281 regulator-min-microvolt = <3000000>; 282 regulator-max-microvolt = <3000000>; 283 bias-pull-down; 284 }; 285 286 pm8921_l11: l11 { 287 regulator-min-microvolt = <2800000>; 288 regulator-max-microvolt = <3300000>; 289 bias-pull-down; 290 }; 291 292 pm8921_l12: l12 { 293 regulator-min-microvolt = <1200000>; 294 regulator-max-microvolt = <1200000>; 295 bias-pull-down; 296 }; 297 298 pm8921_l14: l14 { 299 regulator-min-microvolt = <1800000>; 300 regulator-max-microvolt = <1800000>; 301 bias-pull-down; 302 }; 303 304 pm8921_l15: l15 { 305 regulator-min-microvolt = <1800000>; 306 regulator-max-microvolt = <2950000>; 307 bias-pull-down; 308 }; 309 310 pm8921_l16: l16 { 311 regulator-min-microvolt = <2800000>; 312 regulator-max-microvolt = <3000000>; 313 bias-pull-down; 314 }; 315 316 pm8921_l17: l17 { 317 regulator-min-microvolt = <3300000>; 318 regulator-max-microvolt = <3300000>; 319 bias-pull-down; 320 }; 321 322 pm8921_l18: l18 { 323 regulator-min-microvolt = <1200000>; 324 regulator-max-microvolt = <1500000>; 325 bias-pull-down; 326 }; 327 328 pm8921_l21: l21 { 329 regulator-min-microvolt = <1900000>; 330 regulator-max-microvolt = <1900000>; 331 bias-pull-down; 332 }; 333 334 pm8921_l22: l22 { 335 regulator-min-microvolt = <2750000>; 336 regulator-max-microvolt = <2750000>; 337 bias-pull-down; 338 }; 339 340 pm8921_l23: l23 { 341 regulator-always-on; 342 regulator-min-microvolt = <1800000>; 343 regulator-max-microvolt = <1800000>; 344 bias-pull-down; 345 }; 346 347 pm8921_l24: l24 { 348 regulator-min-microvolt = <750000>; 349 regulator-max-microvolt = <1150000>; 350 bias-pull-down; 351 }; 352 353 pm8921_l25: l25 { 354 regulator-always-on; 355 regulator-min-microvolt = <1225000>; 356 regulator-max-microvolt = <1225000>; 357 bias-pull-down; 358 }; 359 360 /* Low Voltage Switch */ 361 pm8921_lvs1: lvs1 { 362 bias-pull-down; 363 }; 364 365 pm8921_lvs2: lvs2 { 366 bias-pull-down; 367 }; 368 369 pm8921_lvs3: lvs3 { 370 bias-pull-down; 371 }; 372 373 pm8921_lvs4: lvs4 { 374 bias-pull-down; 375 }; 376 377 pm8921_lvs5: lvs5 { 378 bias-pull-down; 379 }; 380 381 pm8921_lvs6: lvs6 { 382 bias-pull-down; 383 }; 384 385 pm8921_lvs7: lvs7 { 386 bias-pull-down; 387 }; 388 389 pm8921_ncp: ncp { 390 regulator-min-microvolt = <1800000>; 391 regulator-max-microvolt = <1800000>; 392 qcom,switch-mode-frequency = <1600000>; 393 }; 394 }; 395 }; 396 397 &usb_hs1_phy { 398 v3p3-supply = <&pm8921_l3>; 399 v1p8-supply = <&pm8921_l4>; 400 }; 401 402 &usb1 { 403 dr_mode = "otg"; 404 status = "okay"; 405 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.