1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2724ba675SRob Herring#include <dt-bindings/input/input.h> 35c903b85SDmitry Baryshkov#include <dt-bindings/reset/qcom,gcc-msm8960.h> 4724ba675SRob Herring 5724ba675SRob Herring#include "qcom-msm8960.dtsi" 65c903b85SDmitry Baryshkov#include "pm8921.dtsi" 7*8d909805SRudraksha Gupta#include <dt-bindings/gpio/gpio.h> 8*8d909805SRudraksha Gupta#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 9*8d909805SRudraksha Gupta#include <dt-bindings/input/gpio-keys.h> 10724ba675SRob Herring 11724ba675SRob Herring/ { 12724ba675SRob Herring model = "Samsung Galaxy Express SGH-I437"; 13724ba675SRob Herring compatible = "samsung,expressatt", "qcom,msm8960"; 14724ba675SRob Herring chassis-type = "handset"; 15724ba675SRob Herring 16724ba675SRob Herring aliases { 17724ba675SRob Herring serial0 = &gsbi5_serial; 18724ba675SRob Herring mmc0 = &sdcc1; /* SDCC1 eMMC slot */ 19724ba675SRob Herring mmc1 = &sdcc3; /* SDCC3 SD card slot */ 20724ba675SRob Herring }; 21724ba675SRob Herring 22724ba675SRob Herring chosen { 23724ba675SRob Herring stdout-path = "serial0:115200n8"; 24724ba675SRob Herring }; 25*8d909805SRudraksha Gupta 26*8d909805SRudraksha Gupta gpio-keys { 27*8d909805SRudraksha Gupta compatible = "gpio-keys"; 28*8d909805SRudraksha Gupta 29*8d909805SRudraksha Gupta pinctrl-names = "default"; 30*8d909805SRudraksha Gupta pinctrl-0 = <&gpio_keys_pin_a>; 31*8d909805SRudraksha Gupta 32*8d909805SRudraksha Gupta key-home { 33*8d909805SRudraksha Gupta label = "Home"; 34*8d909805SRudraksha Gupta gpios = <&msmgpio 40 GPIO_ACTIVE_LOW>; 35*8d909805SRudraksha Gupta debounce-interval = <5>; 36*8d909805SRudraksha Gupta linux,code = <KEY_HOMEPAGE>; 37*8d909805SRudraksha Gupta wakeup-event-action = <EV_ACT_ASSERTED>; 38*8d909805SRudraksha Gupta wakeup-source; 39*8d909805SRudraksha Gupta }; 40*8d909805SRudraksha Gupta 41*8d909805SRudraksha Gupta key-volume-up { 42*8d909805SRudraksha Gupta label = "Volume Up"; 43*8d909805SRudraksha Gupta gpios = <&msmgpio 50 GPIO_ACTIVE_LOW>; 44*8d909805SRudraksha Gupta debounce-interval = <5>; 45*8d909805SRudraksha Gupta linux,code = <KEY_VOLUMEUP>; 46*8d909805SRudraksha Gupta }; 47*8d909805SRudraksha Gupta 48*8d909805SRudraksha Gupta key-volume-down { 49*8d909805SRudraksha Gupta label = "Volume Down"; 50*8d909805SRudraksha Gupta gpios = <&msmgpio 81 GPIO_ACTIVE_LOW>; 51*8d909805SRudraksha Gupta debounce-interval = <5>; 52*8d909805SRudraksha Gupta linux,code = <KEY_VOLUMEDOWN>; 53*8d909805SRudraksha Gupta }; 54*8d909805SRudraksha Gupta }; 55724ba675SRob Herring}; 56724ba675SRob Herring 57724ba675SRob Herring&gsbi5 { 58724ba675SRob Herring qcom,mode = <GSBI_PROT_I2C_UART>; 59724ba675SRob Herring status = "okay"; 60724ba675SRob Herring}; 61724ba675SRob Herring 62724ba675SRob Herring&gsbi5_serial { 63724ba675SRob Herring status = "okay"; 64724ba675SRob Herring}; 65724ba675SRob Herring 66724ba675SRob Herring&sdcc1 { 67724ba675SRob Herring vmmc-supply = <&pm8921_l5>; 68724ba675SRob Herring status = "okay"; 69724ba675SRob Herring}; 70724ba675SRob Herring 71724ba675SRob Herring&sdcc3 { 72724ba675SRob Herring vmmc-supply = <&pm8921_l6>; 73724ba675SRob Herring vqmmc-supply = <&pm8921_l7>; 74724ba675SRob Herring status = "okay"; 75724ba675SRob Herring}; 76724ba675SRob Herring 77724ba675SRob Herring&gsbi1 { 78724ba675SRob Herring qcom,mode = <GSBI_PROT_SPI>; 79724ba675SRob Herring pinctrl-0 = <&spi1_default>; 80724ba675SRob Herring pinctrl-names = "default"; 81724ba675SRob Herring status = "okay"; 82724ba675SRob Herring}; 83724ba675SRob Herring 84724ba675SRob Herring&gsbi1_spi { 85724ba675SRob Herring status = "okay"; 86724ba675SRob Herring}; 87724ba675SRob Herring 88724ba675SRob Herring&msmgpio { 89724ba675SRob Herring spi1_default: spi1-default-state { 90724ba675SRob Herring mosi-pins { 91724ba675SRob Herring pins = "gpio6"; 92724ba675SRob Herring function = "gsbi1"; 93724ba675SRob Herring drive-strength = <12>; 94724ba675SRob Herring bias-disable; 95724ba675SRob Herring }; 96724ba675SRob Herring 97724ba675SRob Herring miso-pins { 98724ba675SRob Herring pins = "gpio7"; 99724ba675SRob Herring function = "gsbi1"; 100724ba675SRob Herring drive-strength = <12>; 101724ba675SRob Herring bias-disable; 102724ba675SRob Herring }; 103724ba675SRob Herring 104724ba675SRob Herring cs-pins { 105724ba675SRob Herring pins = "gpio8"; 106724ba675SRob Herring function = "gsbi1"; 107724ba675SRob Herring drive-strength = <12>; 108724ba675SRob Herring bias-disable; 109724ba675SRob Herring output-low; 110724ba675SRob Herring }; 111724ba675SRob Herring 112724ba675SRob Herring clk-pins { 113724ba675SRob Herring pins = "gpio9"; 114724ba675SRob Herring function = "gsbi1"; 115724ba675SRob Herring drive-strength = <12>; 116724ba675SRob Herring bias-disable; 117724ba675SRob Herring }; 118724ba675SRob Herring }; 119*8d909805SRudraksha Gupta 120*8d909805SRudraksha Gupta gpio_keys_pin_a: gpio-keys-active-state { 121*8d909805SRudraksha Gupta pins = "gpio40", "gpio50", "gpio81"; 122*8d909805SRudraksha Gupta function = "gpio"; 123*8d909805SRudraksha Gupta drive-strength = <8>; 124*8d909805SRudraksha Gupta bias-disable; 125*8d909805SRudraksha Gupta }; 126724ba675SRob Herring}; 127724ba675SRob Herring 12831c4b741SDmitry Baryshkov&pm8921 { 12931c4b741SDmitry Baryshkov interrupts-extended = <&msmgpio 104 IRQ_TYPE_LEVEL_LOW>; 13031c4b741SDmitry Baryshkov}; 13131c4b741SDmitry Baryshkov 132724ba675SRob Herring&rpm { 133724ba675SRob Herring regulators { 134724ba675SRob Herring compatible = "qcom,rpm-pm8921-regulators"; 135724ba675SRob Herring vin_lvs1_3_6-supply = <&pm8921_s4>; 136724ba675SRob Herring vin_lvs2-supply = <&pm8921_s4>; 137724ba675SRob Herring vin_lvs4_5_7-supply = <&pm8921_s4>; 138724ba675SRob Herring vdd_ncp-supply = <&pm8921_l6>; 139724ba675SRob Herring vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; 140724ba675SRob Herring vdd_l21_l23_l29-supply = <&pm8921_s8>; 141724ba675SRob Herring vdd_l24-supply = <&pm8921_s1>; 142724ba675SRob Herring vdd_l25-supply = <&pm8921_s1>; 143724ba675SRob Herring vdd_l27-supply = <&pm8921_s7>; 144724ba675SRob Herring vdd_l28-supply = <&pm8921_s7>; 145724ba675SRob Herring 146724ba675SRob Herring /* Buck SMPS */ 147724ba675SRob Herring pm8921_s1: s1 { 148724ba675SRob Herring regulator-always-on; 149724ba675SRob Herring regulator-min-microvolt = <1225000>; 150724ba675SRob Herring regulator-max-microvolt = <1225000>; 151724ba675SRob Herring qcom,switch-mode-frequency = <3200000>; 152724ba675SRob Herring bias-pull-down; 153724ba675SRob Herring }; 154724ba675SRob Herring 155724ba675SRob Herring pm8921_s2: s2 { 156724ba675SRob Herring regulator-min-microvolt = <1300000>; 157724ba675SRob Herring regulator-max-microvolt = <1300000>; 158724ba675SRob Herring qcom,switch-mode-frequency = <1600000>; 159724ba675SRob Herring bias-pull-down; 160724ba675SRob Herring }; 161724ba675SRob Herring 162724ba675SRob Herring pm8921_s3: s3 { 163724ba675SRob Herring regulator-min-microvolt = <500000>; 164724ba675SRob Herring regulator-max-microvolt = <1150000>; 165724ba675SRob Herring qcom,switch-mode-frequency = <4800000>; 166724ba675SRob Herring bias-pull-down; 167724ba675SRob Herring }; 168724ba675SRob Herring 169724ba675SRob Herring pm8921_s4: s4 { 170724ba675SRob Herring regulator-always-on; 171724ba675SRob Herring regulator-min-microvolt = <1800000>; 172724ba675SRob Herring regulator-max-microvolt = <1800000>; 173724ba675SRob Herring qcom,switch-mode-frequency = <1600000>; 174724ba675SRob Herring bias-pull-down; 175724ba675SRob Herring qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; 176724ba675SRob Herring }; 177724ba675SRob Herring 178724ba675SRob Herring pm8921_s7: s7 { 179724ba675SRob Herring regulator-min-microvolt = <1150000>; 180724ba675SRob Herring regulator-max-microvolt = <1150000>; 181724ba675SRob Herring qcom,switch-mode-frequency = <3200000>; 182724ba675SRob Herring bias-pull-down; 183724ba675SRob Herring }; 184724ba675SRob Herring 185724ba675SRob Herring pm8921_s8: s8 { 186724ba675SRob Herring regulator-always-on; 187724ba675SRob Herring regulator-min-microvolt = <2050000>; 188724ba675SRob Herring regulator-max-microvolt = <2050000>; 189724ba675SRob Herring qcom,switch-mode-frequency = <1600000>; 190724ba675SRob Herring bias-pull-down; 191724ba675SRob Herring }; 192724ba675SRob Herring 193724ba675SRob Herring /* PMOS LDO */ 194724ba675SRob Herring pm8921_l1: l1 { 195724ba675SRob Herring regulator-always-on; 196724ba675SRob Herring regulator-min-microvolt = <1050000>; 197724ba675SRob Herring regulator-max-microvolt = <1050000>; 198724ba675SRob Herring bias-pull-down; 199724ba675SRob Herring }; 200724ba675SRob Herring 201724ba675SRob Herring pm8921_l2: l2 { 202724ba675SRob Herring regulator-min-microvolt = <1200000>; 203724ba675SRob Herring regulator-max-microvolt = <1200000>; 204724ba675SRob Herring bias-pull-down; 205724ba675SRob Herring }; 206724ba675SRob Herring 207724ba675SRob Herring pm8921_l3: l3 { 208724ba675SRob Herring regulator-min-microvolt = <3075000>; 209724ba675SRob Herring regulator-max-microvolt = <3300000>; 210724ba675SRob Herring bias-pull-down; 211724ba675SRob Herring }; 212724ba675SRob Herring 213724ba675SRob Herring pm8921_l4: l4 { 214724ba675SRob Herring regulator-always-on; 215724ba675SRob Herring regulator-min-microvolt = <1800000>; 216724ba675SRob Herring regulator-max-microvolt = <1800000>; 217724ba675SRob Herring bias-pull-down; 218724ba675SRob Herring }; 219724ba675SRob Herring 220724ba675SRob Herring pm8921_l5: l5 { 221724ba675SRob Herring regulator-min-microvolt = <2950000>; 222724ba675SRob Herring regulator-max-microvolt = <2950000>; 223724ba675SRob Herring bias-pull-down; 224724ba675SRob Herring }; 225724ba675SRob Herring 226724ba675SRob Herring pm8921_l6: l6 { 227724ba675SRob Herring regulator-min-microvolt = <2950000>; 228724ba675SRob Herring regulator-max-microvolt = <2950000>; 229724ba675SRob Herring bias-pull-down; 230724ba675SRob Herring }; 231724ba675SRob Herring 232724ba675SRob Herring pm8921_l7: l7 { 233724ba675SRob Herring regulator-always-on; 234724ba675SRob Herring regulator-min-microvolt = <1850000>; 235724ba675SRob Herring regulator-max-microvolt = <2950000>; 236724ba675SRob Herring bias-pull-down; 237724ba675SRob Herring }; 238724ba675SRob Herring 239724ba675SRob Herring pm8921_l8: l8 { 240724ba675SRob Herring regulator-min-microvolt = <3000000>; 241724ba675SRob Herring regulator-max-microvolt = <3100000>; 242724ba675SRob Herring bias-pull-down; 243724ba675SRob Herring }; 244724ba675SRob Herring 245724ba675SRob Herring pm8921_l9: l9 { 246724ba675SRob Herring regulator-min-microvolt = <2850000>; 247724ba675SRob Herring regulator-max-microvolt = <2850000>; 248724ba675SRob Herring bias-pull-down; 249724ba675SRob Herring }; 250724ba675SRob Herring 251724ba675SRob Herring pm8921_l10: l10 { 252724ba675SRob Herring regulator-min-microvolt = <3000000>; 253724ba675SRob Herring regulator-max-microvolt = <3000000>; 254724ba675SRob Herring bias-pull-down; 255724ba675SRob Herring }; 256724ba675SRob Herring 257724ba675SRob Herring pm8921_l11: l11 { 258724ba675SRob Herring regulator-min-microvolt = <2800000>; 259724ba675SRob Herring regulator-max-microvolt = <3300000>; 260724ba675SRob Herring bias-pull-down; 261724ba675SRob Herring }; 262724ba675SRob Herring 263724ba675SRob Herring pm8921_l12: l12 { 264724ba675SRob Herring regulator-min-microvolt = <1200000>; 265724ba675SRob Herring regulator-max-microvolt = <1200000>; 266724ba675SRob Herring bias-pull-down; 267724ba675SRob Herring }; 268724ba675SRob Herring 269724ba675SRob Herring pm8921_l14: l14 { 270724ba675SRob Herring regulator-min-microvolt = <1800000>; 271724ba675SRob Herring regulator-max-microvolt = <1800000>; 272724ba675SRob Herring bias-pull-down; 273724ba675SRob Herring }; 274724ba675SRob Herring 275724ba675SRob Herring pm8921_l15: l15 { 276724ba675SRob Herring regulator-min-microvolt = <1800000>; 277724ba675SRob Herring regulator-max-microvolt = <2950000>; 278724ba675SRob Herring bias-pull-down; 279724ba675SRob Herring }; 280724ba675SRob Herring 281724ba675SRob Herring pm8921_l16: l16 { 282724ba675SRob Herring regulator-min-microvolt = <2800000>; 283724ba675SRob Herring regulator-max-microvolt = <3000000>; 284724ba675SRob Herring bias-pull-down; 285724ba675SRob Herring }; 286724ba675SRob Herring 287724ba675SRob Herring pm8921_l17: l17 { 288724ba675SRob Herring regulator-min-microvolt = <1800000>; 289724ba675SRob Herring regulator-max-microvolt = <3300000>; 290724ba675SRob Herring bias-pull-down; 291724ba675SRob Herring }; 292724ba675SRob Herring 293724ba675SRob Herring pm8921_l18: l18 { 294724ba675SRob Herring regulator-min-microvolt = <1200000>; 295724ba675SRob Herring regulator-max-microvolt = <1500000>; 296724ba675SRob Herring bias-pull-down; 297724ba675SRob Herring }; 298724ba675SRob Herring 299724ba675SRob Herring pm8921_l21: l21 { 300724ba675SRob Herring regulator-min-microvolt = <1900000>; 301724ba675SRob Herring regulator-max-microvolt = <1900000>; 302724ba675SRob Herring bias-pull-down; 303724ba675SRob Herring }; 304724ba675SRob Herring 305724ba675SRob Herring pm8921_l22: l22 { 306724ba675SRob Herring regulator-min-microvolt = <2750000>; 307724ba675SRob Herring regulator-max-microvolt = <2750000>; 308724ba675SRob Herring bias-pull-down; 309724ba675SRob Herring }; 310724ba675SRob Herring 311724ba675SRob Herring pm8921_l23: l23 { 312724ba675SRob Herring regulator-always-on; 313724ba675SRob Herring regulator-min-microvolt = <1800000>; 314724ba675SRob Herring regulator-max-microvolt = <1800000>; 315724ba675SRob Herring bias-pull-down; 316724ba675SRob Herring }; 317724ba675SRob Herring 318724ba675SRob Herring pm8921_l24: l24 { 319724ba675SRob Herring regulator-min-microvolt = <750000>; 320724ba675SRob Herring regulator-max-microvolt = <1150000>; 321724ba675SRob Herring bias-pull-down; 322724ba675SRob Herring }; 323724ba675SRob Herring 324724ba675SRob Herring pm8921_l25: l25 { 325724ba675SRob Herring regulator-always-on; 326724ba675SRob Herring regulator-min-microvolt = <1225000>; 327724ba675SRob Herring regulator-max-microvolt = <1225000>; 328724ba675SRob Herring bias-pull-down; 329724ba675SRob Herring }; 330724ba675SRob Herring 331724ba675SRob Herring /* Low Voltage Switch */ 332724ba675SRob Herring pm8921_lvs1: lvs1 { 333724ba675SRob Herring bias-pull-down; 334724ba675SRob Herring }; 335724ba675SRob Herring 336724ba675SRob Herring pm8921_lvs2: lvs2 { 337724ba675SRob Herring bias-pull-down; 338724ba675SRob Herring }; 339724ba675SRob Herring 340724ba675SRob Herring pm8921_lvs3: lvs3 { 341724ba675SRob Herring bias-pull-down; 342724ba675SRob Herring }; 343724ba675SRob Herring 344724ba675SRob Herring pm8921_lvs4: lvs4 { 345724ba675SRob Herring bias-pull-down; 346724ba675SRob Herring }; 347724ba675SRob Herring 348724ba675SRob Herring pm8921_lvs5: lvs5 { 349724ba675SRob Herring bias-pull-down; 350724ba675SRob Herring }; 351724ba675SRob Herring 352724ba675SRob Herring pm8921_lvs6: lvs6 { 353724ba675SRob Herring bias-pull-down; 354724ba675SRob Herring }; 355724ba675SRob Herring 356724ba675SRob Herring pm8921_lvs7: lvs7 { 357724ba675SRob Herring bias-pull-down; 358724ba675SRob Herring }; 359724ba675SRob Herring 360724ba675SRob Herring pm8921_ncp: ncp { 361724ba675SRob Herring regulator-min-microvolt = <1800000>; 362724ba675SRob Herring regulator-max-microvolt = <1800000>; 363724ba675SRob Herring qcom,switch-mode-frequency = <1600000>; 364724ba675SRob Herring }; 365724ba675SRob Herring }; 366724ba675SRob Herring}; 367724ba675SRob Herring 368724ba675SRob Herring&usb_hs1_phy { 369724ba675SRob Herring v3p3-supply = <&pm8921_l3>; 370724ba675SRob Herring v1p8-supply = <&pm8921_l4>; 371724ba675SRob Herring}; 372724ba675SRob Herring 373724ba675SRob Herring&usb1 { 374724ba675SRob Herring dr_mode = "otg"; 375724ba675SRob Herring status = "okay"; 376724ba675SRob Herring}; 377