1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2*724ba675SRob Herring#include "qcom-apq8064-v2.0.dtsi" 3*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 4*724ba675SRob Herring#include <dt-bindings/leds/common.h> 5*724ba675SRob Herring#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 6*724ba675SRob Herring 7*724ba675SRob Herring/ { 8*724ba675SRob Herring model = "Qualcomm APQ8064/IFC6410"; 9*724ba675SRob Herring compatible = "qcom,apq8064-ifc6410", "qcom,apq8064"; 10*724ba675SRob Herring 11*724ba675SRob Herring aliases { 12*724ba675SRob Herring serial0 = &gsbi7_serial; 13*724ba675SRob Herring serial1 = &gsbi6_serial; 14*724ba675SRob Herring i2c0 = &gsbi1_i2c; 15*724ba675SRob Herring i2c1 = &gsbi2_i2c; 16*724ba675SRob Herring i2c2 = &gsbi3_i2c; 17*724ba675SRob Herring i2c3 = &gsbi4_i2c; 18*724ba675SRob Herring spi0 = &gsbi5_spi; 19*724ba675SRob Herring }; 20*724ba675SRob Herring 21*724ba675SRob Herring chosen { 22*724ba675SRob Herring stdout-path = "serial0:115200n8"; 23*724ba675SRob Herring }; 24*724ba675SRob Herring 25*724ba675SRob Herring leds { 26*724ba675SRob Herring compatible = "gpio-leds"; 27*724ba675SRob Herring pinctrl-names = "default"; 28*724ba675SRob Herring pinctrl-0 = <¬ify_led>; 29*724ba675SRob Herring 30*724ba675SRob Herring led-user1 { 31*724ba675SRob Herring label = "apq8064:green:user1"; 32*724ba675SRob Herring color = <LED_COLOR_ID_GREEN>; 33*724ba675SRob Herring gpios = <&pm8921_gpio 18 GPIO_ACTIVE_HIGH>; 34*724ba675SRob Herring default-state = "on"; 35*724ba675SRob Herring }; 36*724ba675SRob Herring }; 37*724ba675SRob Herring 38*724ba675SRob Herring hdmi-out { 39*724ba675SRob Herring compatible = "hdmi-connector"; 40*724ba675SRob Herring type = "d"; 41*724ba675SRob Herring 42*724ba675SRob Herring port { 43*724ba675SRob Herring hdmi_con: endpoint { 44*724ba675SRob Herring remote-endpoint = <&hdmi_out>; 45*724ba675SRob Herring }; 46*724ba675SRob Herring }; 47*724ba675SRob Herring }; 48*724ba675SRob Herring 49*724ba675SRob Herring sdcc4_pwrseq: pwrseq-sdcc4 { 50*724ba675SRob Herring pinctrl-names = "default"; 51*724ba675SRob Herring pinctrl-0 = <&wlan_default_gpios>; 52*724ba675SRob Herring compatible = "mmc-pwrseq-simple"; 53*724ba675SRob Herring reset-gpios = <&pm8921_gpio 43 GPIO_ACTIVE_LOW>; 54*724ba675SRob Herring }; 55*724ba675SRob Herring 56*724ba675SRob Herring ext_3p3v: regulator-ext-3p3v { 57*724ba675SRob Herring compatible = "regulator-fixed"; 58*724ba675SRob Herring regulator-min-microvolt = <3300000>; 59*724ba675SRob Herring regulator-max-microvolt = <3300000>; 60*724ba675SRob Herring regulator-name = "ext_3p3v"; 61*724ba675SRob Herring regulator-type = "voltage"; 62*724ba675SRob Herring startup-delay-us = <0>; 63*724ba675SRob Herring gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>; 64*724ba675SRob Herring enable-active-high; 65*724ba675SRob Herring regulator-boot-on; 66*724ba675SRob Herring }; 67*724ba675SRob Herring}; 68*724ba675SRob Herring 69*724ba675SRob Herring&gsbi1 { 70*724ba675SRob Herring qcom,mode = <GSBI_PROT_I2C>; 71*724ba675SRob Herring status = "okay"; 72*724ba675SRob Herring}; 73*724ba675SRob Herring 74*724ba675SRob Herring&gsbi1_i2c { 75*724ba675SRob Herring clock-frequency = <200000>; 76*724ba675SRob Herring status = "okay"; 77*724ba675SRob Herring 78*724ba675SRob Herring eeprom@52 { 79*724ba675SRob Herring compatible = "atmel,24c128"; 80*724ba675SRob Herring reg = <0x52>; 81*724ba675SRob Herring pagesize = <32>; 82*724ba675SRob Herring }; 83*724ba675SRob Herring}; 84*724ba675SRob Herring 85*724ba675SRob Herring&gsbi3 { 86*724ba675SRob Herring qcom,mode = <GSBI_PROT_I2C>; 87*724ba675SRob Herring status = "okay"; 88*724ba675SRob Herring}; 89*724ba675SRob Herring 90*724ba675SRob Herring&gsbi3_i2c { 91*724ba675SRob Herring status = "okay"; 92*724ba675SRob Herring}; 93*724ba675SRob Herring 94*724ba675SRob Herring&gsbi4 { 95*724ba675SRob Herring qcom,mode = <GSBI_PROT_I2C>; 96*724ba675SRob Herring status = "okay"; 97*724ba675SRob Herring}; 98*724ba675SRob Herring 99*724ba675SRob Herring/* CAM I2C MIPI-CSI connector */ 100*724ba675SRob Herring&gsbi4_i2c { 101*724ba675SRob Herring status = "okay"; 102*724ba675SRob Herring}; 103*724ba675SRob Herring 104*724ba675SRob Herring&gsbi5 { 105*724ba675SRob Herring qcom,mode = <GSBI_PROT_SPI>; 106*724ba675SRob Herring status = "okay"; 107*724ba675SRob Herring}; 108*724ba675SRob Herring 109*724ba675SRob Herring&gsbi5_spi { 110*724ba675SRob Herring num-cs = <1>; 111*724ba675SRob Herring cs-gpios = <&tlmm_pinmux 53 0>; 112*724ba675SRob Herring status = "okay"; 113*724ba675SRob Herring}; 114*724ba675SRob Herring 115*724ba675SRob Herring&gsbi6 { 116*724ba675SRob Herring qcom,mode = <GSBI_PROT_UART_W_FC>; 117*724ba675SRob Herring status = "okay"; 118*724ba675SRob Herring}; 119*724ba675SRob Herring 120*724ba675SRob Herring&gsbi6_serial { 121*724ba675SRob Herring pinctrl-names = "default"; 122*724ba675SRob Herring pinctrl-0 = <&gsbi6_uart_4pins>; 123*724ba675SRob Herring status = "okay"; 124*724ba675SRob Herring}; 125*724ba675SRob Herring 126*724ba675SRob Herring&gsbi7 { 127*724ba675SRob Herring qcom,mode = <GSBI_PROT_I2C_UART>; 128*724ba675SRob Herring status = "okay"; 129*724ba675SRob Herring}; 130*724ba675SRob Herring 131*724ba675SRob Herring&gsbi7_serial { 132*724ba675SRob Herring pinctrl-names = "default"; 133*724ba675SRob Herring pinctrl-0 = <&gsbi7_uart_2pins>; 134*724ba675SRob Herring status = "okay"; 135*724ba675SRob Herring}; 136*724ba675SRob Herring 137*724ba675SRob Herring&hdmi { 138*724ba675SRob Herring core-vdda-supply = <&pm8921_hdmi_switch>; 139*724ba675SRob Herring hpd-gpios = <&tlmm_pinmux 72 GPIO_ACTIVE_HIGH>; 140*724ba675SRob Herring status = "okay"; 141*724ba675SRob Herring}; 142*724ba675SRob Herring 143*724ba675SRob Herring&hdmi_in { 144*724ba675SRob Herring remote-endpoint = <&mdp_dtv_out>; 145*724ba675SRob Herring}; 146*724ba675SRob Herring 147*724ba675SRob Herring&hdmi_out { 148*724ba675SRob Herring remote-endpoint = <&hdmi_con>; 149*724ba675SRob Herring}; 150*724ba675SRob Herring 151*724ba675SRob Herring&hdmi_phy { 152*724ba675SRob Herring status = "okay"; 153*724ba675SRob Herring core-vdda-supply = <&pm8921_hdmi_switch>; 154*724ba675SRob Herring}; 155*724ba675SRob Herring 156*724ba675SRob Herring&mdp { 157*724ba675SRob Herring status = "okay"; 158*724ba675SRob Herring}; 159*724ba675SRob Herring 160*724ba675SRob Herring&mdp_dtv_out { 161*724ba675SRob Herring remote-endpoint = <&hdmi_in>; 162*724ba675SRob Herring}; 163*724ba675SRob Herring 164*724ba675SRob Herring&pcie { 165*724ba675SRob Herring status = "okay"; 166*724ba675SRob Herring vdda-supply = <&pm8921_s3>; 167*724ba675SRob Herring vdda_phy-supply = <&pm8921_lvs6>; 168*724ba675SRob Herring vdda_refclk-supply = <&ext_3p3v>; 169*724ba675SRob Herring pinctrl-0 = <&pcie_pins>; 170*724ba675SRob Herring pinctrl-names = "default"; 171*724ba675SRob Herring perst-gpios = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>; 172*724ba675SRob Herring}; 173*724ba675SRob Herring 174*724ba675SRob Herring&pm8921_gpio { 175*724ba675SRob Herring wlan_default_gpios: wlan-gpios-state { 176*724ba675SRob Herring pinconf { 177*724ba675SRob Herring pins = "gpio43"; 178*724ba675SRob Herring function = "normal"; 179*724ba675SRob Herring bias-disable; 180*724ba675SRob Herring power-source = <PM8921_GPIO_S4>; 181*724ba675SRob Herring }; 182*724ba675SRob Herring }; 183*724ba675SRob Herring 184*724ba675SRob Herring notify_led: nled-state { 185*724ba675SRob Herring pinconf { 186*724ba675SRob Herring pins = "gpio18"; 187*724ba675SRob Herring function = "normal"; 188*724ba675SRob Herring bias-disable; 189*724ba675SRob Herring power-source = <PM8921_GPIO_S4>; 190*724ba675SRob Herring }; 191*724ba675SRob Herring }; 192*724ba675SRob Herring}; 193*724ba675SRob Herring 194*724ba675SRob Herring&rpm { 195*724ba675SRob Herring regulators { 196*724ba675SRob Herring vin_lvs1_3_6-supply = <&pm8921_s4>; 197*724ba675SRob Herring vin_lvs2-supply = <&pm8921_s1>; 198*724ba675SRob Herring vin_lvs4_5_7-supply = <&pm8921_s4>; 199*724ba675SRob Herring 200*724ba675SRob Herring vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; 201*724ba675SRob Herring vdd_l24-supply = <&pm8921_s1>; 202*724ba675SRob Herring vdd_l25-supply = <&pm8921_s1>; 203*724ba675SRob Herring vdd_l26-supply = <&pm8921_s7>; 204*724ba675SRob Herring vdd_l27-supply = <&pm8921_s7>; 205*724ba675SRob Herring vdd_l28-supply = <&pm8921_s7>; 206*724ba675SRob Herring 207*724ba675SRob Herring 208*724ba675SRob Herring /* Buck SMPS */ 209*724ba675SRob Herring s1 { 210*724ba675SRob Herring regulator-always-on; 211*724ba675SRob Herring regulator-min-microvolt = <1225000>; 212*724ba675SRob Herring regulator-max-microvolt = <1225000>; 213*724ba675SRob Herring qcom,switch-mode-frequency = <3200000>; 214*724ba675SRob Herring bias-pull-down; 215*724ba675SRob Herring }; 216*724ba675SRob Herring 217*724ba675SRob Herring s3 { 218*724ba675SRob Herring regulator-min-microvolt = <1000000>; 219*724ba675SRob Herring regulator-max-microvolt = <1400000>; 220*724ba675SRob Herring qcom,switch-mode-frequency = <4800000>; 221*724ba675SRob Herring }; 222*724ba675SRob Herring 223*724ba675SRob Herring s4 { 224*724ba675SRob Herring regulator-min-microvolt = <1800000>; 225*724ba675SRob Herring regulator-max-microvolt = <1800000>; 226*724ba675SRob Herring qcom,switch-mode-frequency = <3200000>; 227*724ba675SRob Herring }; 228*724ba675SRob Herring 229*724ba675SRob Herring s7 { 230*724ba675SRob Herring regulator-min-microvolt = <1300000>; 231*724ba675SRob Herring regulator-max-microvolt = <1300000>; 232*724ba675SRob Herring qcom,switch-mode-frequency = <3200000>; 233*724ba675SRob Herring }; 234*724ba675SRob Herring 235*724ba675SRob Herring l3 { 236*724ba675SRob Herring regulator-min-microvolt = <3050000>; 237*724ba675SRob Herring regulator-max-microvolt = <3300000>; 238*724ba675SRob Herring bias-pull-down; 239*724ba675SRob Herring }; 240*724ba675SRob Herring 241*724ba675SRob Herring l4 { 242*724ba675SRob Herring regulator-min-microvolt = <1000000>; 243*724ba675SRob Herring regulator-max-microvolt = <1800000>; 244*724ba675SRob Herring bias-pull-down; 245*724ba675SRob Herring }; 246*724ba675SRob Herring 247*724ba675SRob Herring l5 { 248*724ba675SRob Herring regulator-min-microvolt = <2750000>; 249*724ba675SRob Herring regulator-max-microvolt = <3000000>; 250*724ba675SRob Herring bias-pull-down; 251*724ba675SRob Herring }; 252*724ba675SRob Herring 253*724ba675SRob Herring l6 { 254*724ba675SRob Herring regulator-min-microvolt = <2950000>; 255*724ba675SRob Herring regulator-max-microvolt = <2950000>; 256*724ba675SRob Herring bias-pull-down; 257*724ba675SRob Herring }; 258*724ba675SRob Herring 259*724ba675SRob Herring l23 { 260*724ba675SRob Herring regulator-min-microvolt = <1700000>; 261*724ba675SRob Herring regulator-max-microvolt = <1900000>; 262*724ba675SRob Herring bias-pull-down; 263*724ba675SRob Herring }; 264*724ba675SRob Herring 265*724ba675SRob Herring lvs1 { 266*724ba675SRob Herring bias-pull-down; 267*724ba675SRob Herring }; 268*724ba675SRob Herring 269*724ba675SRob Herring lvs6 { 270*724ba675SRob Herring bias-pull-down; 271*724ba675SRob Herring }; 272*724ba675SRob Herring }; 273*724ba675SRob Herring}; 274*724ba675SRob Herring 275*724ba675SRob Herring&sata_phy0 { 276*724ba675SRob Herring status = "okay"; 277*724ba675SRob Herring}; 278*724ba675SRob Herring 279*724ba675SRob Herring&sata0 { 280*724ba675SRob Herring target-supply = <&pm8921_s4>; 281*724ba675SRob Herring status = "okay"; 282*724ba675SRob Herring}; 283*724ba675SRob Herring 284*724ba675SRob Herring/* eMMC */ 285*724ba675SRob Herring&sdcc1 { 286*724ba675SRob Herring vmmc-supply = <&pm8921_l5>; 287*724ba675SRob Herring vqmmc-supply = <&pm8921_s4>; 288*724ba675SRob Herring status = "okay"; 289*724ba675SRob Herring}; 290*724ba675SRob Herring 291*724ba675SRob Herring/* External micro SD card */ 292*724ba675SRob Herring&sdcc3 { 293*724ba675SRob Herring vmmc-supply = <&pm8921_l6>; 294*724ba675SRob Herring pinctrl-names = "default"; 295*724ba675SRob Herring pinctrl-0 = <&card_detect>; 296*724ba675SRob Herring cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>; 297*724ba675SRob Herring status = "okay"; 298*724ba675SRob Herring}; 299*724ba675SRob Herring 300*724ba675SRob Herring/* WLAN */ 301*724ba675SRob Herring&sdcc4 { 302*724ba675SRob Herring vmmc-supply = <&ext_3p3v>; 303*724ba675SRob Herring vqmmc-supply = <&pm8921_lvs1>; 304*724ba675SRob Herring mmc-pwrseq = <&sdcc4_pwrseq>; 305*724ba675SRob Herring status = "okay"; 306*724ba675SRob Herring}; 307*724ba675SRob Herring 308*724ba675SRob Herring&tlmm_pinmux { 309*724ba675SRob Herring card_detect: card_detect { 310*724ba675SRob Herring mux { 311*724ba675SRob Herring pins = "gpio26"; 312*724ba675SRob Herring function = "gpio"; 313*724ba675SRob Herring bias-disable; 314*724ba675SRob Herring }; 315*724ba675SRob Herring }; 316*724ba675SRob Herring 317*724ba675SRob Herring pcie_pins: pcie_pinmux { 318*724ba675SRob Herring mux { 319*724ba675SRob Herring pins = "gpio27"; 320*724ba675SRob Herring function = "gpio"; 321*724ba675SRob Herring }; 322*724ba675SRob Herring conf { 323*724ba675SRob Herring pins = "gpio27"; 324*724ba675SRob Herring drive-strength = <12>; 325*724ba675SRob Herring bias-disable; 326*724ba675SRob Herring }; 327*724ba675SRob Herring }; 328*724ba675SRob Herring}; 329*724ba675SRob Herring 330*724ba675SRob Herring&usb_hs1_phy { 331*724ba675SRob Herring v3p3-supply = <&pm8921_l3>; 332*724ba675SRob Herring v1p8-supply = <&pm8921_l4>; 333*724ba675SRob Herring}; 334*724ba675SRob Herring 335*724ba675SRob Herring&usb_hs3_phy { 336*724ba675SRob Herring v3p3-supply = <&pm8921_l3>; 337*724ba675SRob Herring v1p8-supply = <&pm8921_l23>; 338*724ba675SRob Herring}; 339*724ba675SRob Herring 340*724ba675SRob Herring&usb_hs4_phy { 341*724ba675SRob Herring v3p3-supply = <&pm8921_l3>; 342*724ba675SRob Herring v1p8-supply = <&pm8921_l23>; 343*724ba675SRob Herring}; 344*724ba675SRob Herring 345*724ba675SRob Herring/* OTG */ 346*724ba675SRob Herring&usb1 { 347*724ba675SRob Herring dr_mode = "otg"; 348*724ba675SRob Herring status = "okay"; 349*724ba675SRob Herring}; 350*724ba675SRob Herring 351*724ba675SRob Herring&usb3 { 352*724ba675SRob Herring dr_mode = "host"; 353*724ba675SRob Herring status = "okay"; 354*724ba675SRob Herring}; 355*724ba675SRob Herring 356*724ba675SRob Herring&usb4 { 357*724ba675SRob Herring dr_mode = "host"; 358*724ba675SRob Herring status = "okay"; 359*724ba675SRob Herring}; 360