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