1*4882a593Smuzhiyun// SPDX-License-Identifier: BSD-3-Clause 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * SC7180 IDP board device tree source 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (c) 2019, The Linux Foundation. All rights reserved. 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun/dts-v1/; 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 11*4882a593Smuzhiyun#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 12*4882a593Smuzhiyun#include "sc7180.dtsi" 13*4882a593Smuzhiyun#include "pm6150.dtsi" 14*4882a593Smuzhiyun#include "pm6150l.dtsi" 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun/ { 17*4882a593Smuzhiyun model = "Qualcomm Technologies, Inc. SC7180 IDP"; 18*4882a593Smuzhiyun compatible = "qcom,sc7180-idp", "qcom,sc7180"; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun aliases { 21*4882a593Smuzhiyun bluetooth0 = &bluetooth; 22*4882a593Smuzhiyun hsuart0 = &uart3; 23*4882a593Smuzhiyun serial0 = &uart8; 24*4882a593Smuzhiyun wifi0 = &wifi; 25*4882a593Smuzhiyun }; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun chosen { 28*4882a593Smuzhiyun stdout-path = "serial0:115200n8"; 29*4882a593Smuzhiyun }; 30*4882a593Smuzhiyun}; 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun/* 33*4882a593Smuzhiyun * Reserved memory changes 34*4882a593Smuzhiyun * 35*4882a593Smuzhiyun * Delete all unused memory nodes and define the peripheral memory regions 36*4882a593Smuzhiyun * required by the board dts. 37*4882a593Smuzhiyun * 38*4882a593Smuzhiyun */ 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun/delete-node/ &hyp_mem; 41*4882a593Smuzhiyun/delete-node/ &xbl_mem; 42*4882a593Smuzhiyun/delete-node/ &aop_mem; 43*4882a593Smuzhiyun/delete-node/ &sec_apps_mem; 44*4882a593Smuzhiyun/delete-node/ &tz_mem; 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun/* Increase the size from 2MB to 8MB */ 47*4882a593Smuzhiyun&rmtfs_mem { 48*4882a593Smuzhiyun reg = <0x0 0x94600000 0x0 0x800000>; 49*4882a593Smuzhiyun}; 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun/ { 52*4882a593Smuzhiyun reserved-memory { 53*4882a593Smuzhiyun atf_mem: memory@80b00000 { 54*4882a593Smuzhiyun reg = <0x0 0x80b00000 0x0 0x100000>; 55*4882a593Smuzhiyun no-map; 56*4882a593Smuzhiyun }; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun mpss_mem: memory@86000000 { 59*4882a593Smuzhiyun reg = <0x0 0x86000000 0x0 0x8c00000>; 60*4882a593Smuzhiyun no-map; 61*4882a593Smuzhiyun }; 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun camera_mem: memory@8ec00000 { 64*4882a593Smuzhiyun reg = <0x0 0x8ec00000 0x0 0x500000>; 65*4882a593Smuzhiyun no-map; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun venus_mem: memory@8f600000 { 69*4882a593Smuzhiyun reg = <0 0x8f600000 0 0x500000>; 70*4882a593Smuzhiyun no-map; 71*4882a593Smuzhiyun }; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun wlan_mem: memory@94100000 { 74*4882a593Smuzhiyun reg = <0x0 0x94100000 0x0 0x200000>; 75*4882a593Smuzhiyun no-map; 76*4882a593Smuzhiyun }; 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun mba_mem: memory@94400000 { 79*4882a593Smuzhiyun reg = <0x0 0x94400000 0x0 0x200000>; 80*4882a593Smuzhiyun no-map; 81*4882a593Smuzhiyun }; 82*4882a593Smuzhiyun }; 83*4882a593Smuzhiyun}; 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun&apps_rsc { 86*4882a593Smuzhiyun pm6150-rpmh-regulators { 87*4882a593Smuzhiyun compatible = "qcom,pm6150-rpmh-regulators"; 88*4882a593Smuzhiyun qcom,pmic-id = "a"; 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun vreg_s1a_1p1: smps1 { 91*4882a593Smuzhiyun regulator-min-microvolt = <1128000>; 92*4882a593Smuzhiyun regulator-max-microvolt = <1128000>; 93*4882a593Smuzhiyun }; 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun vreg_s4a_1p0: smps4 { 96*4882a593Smuzhiyun regulator-min-microvolt = <824000>; 97*4882a593Smuzhiyun regulator-max-microvolt = <1120000>; 98*4882a593Smuzhiyun }; 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun vreg_s5a_2p0: smps5 { 101*4882a593Smuzhiyun regulator-min-microvolt = <1744000>; 102*4882a593Smuzhiyun regulator-max-microvolt = <2040000>; 103*4882a593Smuzhiyun }; 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun vreg_l1a_1p2: ldo1 { 106*4882a593Smuzhiyun regulator-min-microvolt = <1178000>; 107*4882a593Smuzhiyun regulator-max-microvolt = <1256000>; 108*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 109*4882a593Smuzhiyun }; 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun vreg_l2a_1p0: ldo2 { 112*4882a593Smuzhiyun regulator-min-microvolt = <944000>; 113*4882a593Smuzhiyun regulator-max-microvolt = <1056000>; 114*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 115*4882a593Smuzhiyun }; 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun vreg_l3a_1p0: ldo3 { 118*4882a593Smuzhiyun regulator-min-microvolt = <968000>; 119*4882a593Smuzhiyun regulator-max-microvolt = <1064000>; 120*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 121*4882a593Smuzhiyun }; 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun vreg_l4a_0p8: ldo4 { 124*4882a593Smuzhiyun regulator-min-microvolt = <824000>; 125*4882a593Smuzhiyun regulator-max-microvolt = <928000>; 126*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 127*4882a593Smuzhiyun }; 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun vreg_l5a_2p7: ldo5 { 130*4882a593Smuzhiyun regulator-min-microvolt = <2496000>; 131*4882a593Smuzhiyun regulator-max-microvolt = <3000000>; 132*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 133*4882a593Smuzhiyun }; 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun vreg_l6a_0p6: ldo6 { 136*4882a593Smuzhiyun regulator-min-microvolt = <568000>; 137*4882a593Smuzhiyun regulator-max-microvolt = <648000>; 138*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 139*4882a593Smuzhiyun }; 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun vreg_l9a_0p6: ldo9 { 142*4882a593Smuzhiyun regulator-min-microvolt = <488000>; 143*4882a593Smuzhiyun regulator-max-microvolt = <800000>; 144*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 145*4882a593Smuzhiyun }; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun vreg_l10a_1p8: ldo10 { 148*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 149*4882a593Smuzhiyun regulator-max-microvolt = <1832000>; 150*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 151*4882a593Smuzhiyun }; 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun vreg_l11a_1p8: ldo11 { 154*4882a593Smuzhiyun regulator-min-microvolt = <1696000>; 155*4882a593Smuzhiyun regulator-max-microvolt = <1904000>; 156*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 157*4882a593Smuzhiyun }; 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun vreg_l12a_1p8: ldo12 { 160*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 161*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 162*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 163*4882a593Smuzhiyun }; 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun vreg_l13a_1p8: ldo13 { 166*4882a593Smuzhiyun regulator-min-microvolt = <1696000>; 167*4882a593Smuzhiyun regulator-max-microvolt = <1904000>; 168*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 169*4882a593Smuzhiyun }; 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun vreg_l14a_1p8: ldo14 { 172*4882a593Smuzhiyun regulator-min-microvolt = <1728000>; 173*4882a593Smuzhiyun regulator-max-microvolt = <1832000>; 174*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 175*4882a593Smuzhiyun }; 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun vreg_l15a_1p8: ldo15 { 178*4882a593Smuzhiyun regulator-min-microvolt = <1696000>; 179*4882a593Smuzhiyun regulator-max-microvolt = <1904000>; 180*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 181*4882a593Smuzhiyun }; 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun vreg_l16a_2p7: ldo16 { 184*4882a593Smuzhiyun regulator-min-microvolt = <2496000>; 185*4882a593Smuzhiyun regulator-max-microvolt = <3304000>; 186*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 187*4882a593Smuzhiyun }; 188*4882a593Smuzhiyun 189*4882a593Smuzhiyun vreg_l17a_3p0: ldo17 { 190*4882a593Smuzhiyun regulator-min-microvolt = <2920000>; 191*4882a593Smuzhiyun regulator-max-microvolt = <3232000>; 192*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 193*4882a593Smuzhiyun }; 194*4882a593Smuzhiyun 195*4882a593Smuzhiyun vreg_l18a_2p8: ldo18 { 196*4882a593Smuzhiyun regulator-min-microvolt = <2496000>; 197*4882a593Smuzhiyun regulator-max-microvolt = <3304000>; 198*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 199*4882a593Smuzhiyun }; 200*4882a593Smuzhiyun 201*4882a593Smuzhiyun vreg_l19a_2p9: ldo19 { 202*4882a593Smuzhiyun regulator-min-microvolt = <2960000>; 203*4882a593Smuzhiyun regulator-max-microvolt = <2960000>; 204*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 205*4882a593Smuzhiyun }; 206*4882a593Smuzhiyun }; 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun pm6150l-rpmh-regulators { 209*4882a593Smuzhiyun compatible = "qcom,pm6150l-rpmh-regulators"; 210*4882a593Smuzhiyun qcom,pmic-id = "c"; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun vreg_s8c_1p3: smps8 { 213*4882a593Smuzhiyun regulator-min-microvolt = <1120000>; 214*4882a593Smuzhiyun regulator-max-microvolt = <1408000>; 215*4882a593Smuzhiyun }; 216*4882a593Smuzhiyun 217*4882a593Smuzhiyun vreg_l1c_1p8: ldo1 { 218*4882a593Smuzhiyun regulator-min-microvolt = <1616000>; 219*4882a593Smuzhiyun regulator-max-microvolt = <1984000>; 220*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 221*4882a593Smuzhiyun }; 222*4882a593Smuzhiyun 223*4882a593Smuzhiyun vreg_l2c_1p3: ldo2 { 224*4882a593Smuzhiyun regulator-min-microvolt = <1168000>; 225*4882a593Smuzhiyun regulator-max-microvolt = <1304000>; 226*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 227*4882a593Smuzhiyun }; 228*4882a593Smuzhiyun 229*4882a593Smuzhiyun vreg_l3c_1p2: ldo3 { 230*4882a593Smuzhiyun regulator-min-microvolt = <1144000>; 231*4882a593Smuzhiyun regulator-max-microvolt = <1304000>; 232*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 233*4882a593Smuzhiyun }; 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun vreg_l4c_1p8: ldo4 { 236*4882a593Smuzhiyun regulator-min-microvolt = <1648000>; 237*4882a593Smuzhiyun regulator-max-microvolt = <3304000>; 238*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 239*4882a593Smuzhiyun }; 240*4882a593Smuzhiyun 241*4882a593Smuzhiyun vreg_l5c_1p8: ldo5 { 242*4882a593Smuzhiyun regulator-min-microvolt = <1648000>; 243*4882a593Smuzhiyun regulator-max-microvolt = <3304000>; 244*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 245*4882a593Smuzhiyun }; 246*4882a593Smuzhiyun 247*4882a593Smuzhiyun vreg_l6c_2p9: ldo6 { 248*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 249*4882a593Smuzhiyun regulator-max-microvolt = <2950000>; 250*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 251*4882a593Smuzhiyun }; 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun vreg_l7c_3p0: ldo7 { 254*4882a593Smuzhiyun regulator-min-microvolt = <3000000>; 255*4882a593Smuzhiyun regulator-max-microvolt = <3312000>; 256*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 257*4882a593Smuzhiyun }; 258*4882a593Smuzhiyun 259*4882a593Smuzhiyun vreg_l8c_1p8: ldo8 { 260*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 261*4882a593Smuzhiyun regulator-max-microvolt = <1904000>; 262*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 263*4882a593Smuzhiyun }; 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun vreg_l9c_2p9: ldo9 { 266*4882a593Smuzhiyun regulator-min-microvolt = <2960000>; 267*4882a593Smuzhiyun regulator-max-microvolt = <2960000>; 268*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 269*4882a593Smuzhiyun }; 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun vreg_l10c_3p3: ldo10 { 272*4882a593Smuzhiyun regulator-min-microvolt = <3000000>; 273*4882a593Smuzhiyun regulator-max-microvolt = <3400000>; 274*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 275*4882a593Smuzhiyun }; 276*4882a593Smuzhiyun 277*4882a593Smuzhiyun vreg_l11c_3p3: ldo11 { 278*4882a593Smuzhiyun regulator-min-microvolt = <3000000>; 279*4882a593Smuzhiyun regulator-max-microvolt = <3400000>; 280*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 281*4882a593Smuzhiyun }; 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun vreg_bob: bob { 284*4882a593Smuzhiyun regulator-min-microvolt = <3008000>; 285*4882a593Smuzhiyun regulator-max-microvolt = <3960000>; 286*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 287*4882a593Smuzhiyun }; 288*4882a593Smuzhiyun }; 289*4882a593Smuzhiyun}; 290*4882a593Smuzhiyun 291*4882a593Smuzhiyun&qfprom { 292*4882a593Smuzhiyun vcc-supply = <&vreg_l11a_1p8>; 293*4882a593Smuzhiyun}; 294*4882a593Smuzhiyun 295*4882a593Smuzhiyun&qspi { 296*4882a593Smuzhiyun status = "okay"; 297*4882a593Smuzhiyun pinctrl-names = "default"; 298*4882a593Smuzhiyun pinctrl-0 = <&qspi_clk &qspi_cs0 &qspi_data01>; 299*4882a593Smuzhiyun 300*4882a593Smuzhiyun flash@0 { 301*4882a593Smuzhiyun compatible = "jedec,spi-nor"; 302*4882a593Smuzhiyun reg = <0>; 303*4882a593Smuzhiyun spi-max-frequency = <25000000>; 304*4882a593Smuzhiyun spi-tx-bus-width = <2>; 305*4882a593Smuzhiyun spi-rx-bus-width = <2>; 306*4882a593Smuzhiyun }; 307*4882a593Smuzhiyun}; 308*4882a593Smuzhiyun 309*4882a593Smuzhiyun&qupv3_id_0 { 310*4882a593Smuzhiyun status = "okay"; 311*4882a593Smuzhiyun}; 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun&qupv3_id_1 { 314*4882a593Smuzhiyun status = "okay"; 315*4882a593Smuzhiyun}; 316*4882a593Smuzhiyun 317*4882a593Smuzhiyun&remoteproc_mpss { 318*4882a593Smuzhiyun status = "okay"; 319*4882a593Smuzhiyun compatible = "qcom,sc7180-mss-pil"; 320*4882a593Smuzhiyun iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>; 321*4882a593Smuzhiyun memory-region = <&mba_mem &mpss_mem>; 322*4882a593Smuzhiyun}; 323*4882a593Smuzhiyun 324*4882a593Smuzhiyun&sdhc_1 { 325*4882a593Smuzhiyun status = "okay"; 326*4882a593Smuzhiyun 327*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 328*4882a593Smuzhiyun pinctrl-0 = <&sdc1_on>; 329*4882a593Smuzhiyun pinctrl-1 = <&sdc1_off>; 330*4882a593Smuzhiyun vmmc-supply = <&vreg_l19a_2p9>; 331*4882a593Smuzhiyun vqmmc-supply = <&vreg_l12a_1p8>; 332*4882a593Smuzhiyun}; 333*4882a593Smuzhiyun 334*4882a593Smuzhiyun&sdhc_2 { 335*4882a593Smuzhiyun status = "okay"; 336*4882a593Smuzhiyun 337*4882a593Smuzhiyun pinctrl-names = "default","sleep"; 338*4882a593Smuzhiyun pinctrl-0 = <&sdc2_on>; 339*4882a593Smuzhiyun pinctrl-1 = <&sdc2_off>; 340*4882a593Smuzhiyun vmmc-supply = <&vreg_l9c_2p9>; 341*4882a593Smuzhiyun vqmmc-supply = <&vreg_l6c_2p9>; 342*4882a593Smuzhiyun 343*4882a593Smuzhiyun cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>; 344*4882a593Smuzhiyun}; 345*4882a593Smuzhiyun 346*4882a593Smuzhiyun&uart3 { 347*4882a593Smuzhiyun status = "okay"; 348*4882a593Smuzhiyun 349*4882a593Smuzhiyun /delete-property/interrupts; 350*4882a593Smuzhiyun interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>, 351*4882a593Smuzhiyun <&tlmm 41 IRQ_TYPE_EDGE_FALLING>; 352*4882a593Smuzhiyun 353*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 354*4882a593Smuzhiyun pinctrl-1 = <&qup_uart3_sleep>; 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun bluetooth: wcn3990-bt { 357*4882a593Smuzhiyun compatible = "qcom,wcn3990-bt"; 358*4882a593Smuzhiyun vddio-supply = <&vreg_l10a_1p8>; 359*4882a593Smuzhiyun vddxo-supply = <&vreg_l1c_1p8>; 360*4882a593Smuzhiyun vddrf-supply = <&vreg_l2c_1p3>; 361*4882a593Smuzhiyun vddch0-supply = <&vreg_l10c_3p3>; 362*4882a593Smuzhiyun max-speed = <3200000>; 363*4882a593Smuzhiyun }; 364*4882a593Smuzhiyun}; 365*4882a593Smuzhiyun 366*4882a593Smuzhiyun&uart8 { 367*4882a593Smuzhiyun status = "okay"; 368*4882a593Smuzhiyun}; 369*4882a593Smuzhiyun 370*4882a593Smuzhiyun&usb_1 { 371*4882a593Smuzhiyun status = "okay"; 372*4882a593Smuzhiyun}; 373*4882a593Smuzhiyun 374*4882a593Smuzhiyun&usb_1_dwc3 { 375*4882a593Smuzhiyun dr_mode = "host"; 376*4882a593Smuzhiyun}; 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun&usb_1_hsphy { 379*4882a593Smuzhiyun status = "okay"; 380*4882a593Smuzhiyun vdd-supply = <&vreg_l4a_0p8>; 381*4882a593Smuzhiyun vdda-pll-supply = <&vreg_l11a_1p8>; 382*4882a593Smuzhiyun vdda-phy-dpdm-supply = <&vreg_l17a_3p0>; 383*4882a593Smuzhiyun qcom,imp-res-offset-value = <8>; 384*4882a593Smuzhiyun qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>; 385*4882a593Smuzhiyun qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 386*4882a593Smuzhiyun qcom,bias-ctrl-value = <0x22>; 387*4882a593Smuzhiyun qcom,charge-ctrl-value = <3>; 388*4882a593Smuzhiyun qcom,hsdisc-trim-value = <0>; 389*4882a593Smuzhiyun}; 390*4882a593Smuzhiyun 391*4882a593Smuzhiyun&usb_1_qmpphy { 392*4882a593Smuzhiyun status = "okay"; 393*4882a593Smuzhiyun vdda-phy-supply = <&vreg_l3c_1p2>; 394*4882a593Smuzhiyun vdda-pll-supply = <&vreg_l4a_0p8>; 395*4882a593Smuzhiyun}; 396*4882a593Smuzhiyun 397*4882a593Smuzhiyun&venus { 398*4882a593Smuzhiyun video-firmware { 399*4882a593Smuzhiyun iommus = <&apps_smmu 0x0c42 0x0>; 400*4882a593Smuzhiyun }; 401*4882a593Smuzhiyun}; 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun&wifi { 404*4882a593Smuzhiyun status = "okay"; 405*4882a593Smuzhiyun vdd-0.8-cx-mx-supply = <&vreg_l9a_0p6>; 406*4882a593Smuzhiyun vdd-1.8-xo-supply = <&vreg_l1c_1p8>; 407*4882a593Smuzhiyun vdd-1.3-rfa-supply = <&vreg_l2c_1p3>; 408*4882a593Smuzhiyun vdd-3.3-ch0-supply = <&vreg_l10c_3p3>; 409*4882a593Smuzhiyun vdd-3.3-ch1-supply = <&vreg_l11c_3p3>; 410*4882a593Smuzhiyun wifi-firmware { 411*4882a593Smuzhiyun iommus = <&apps_smmu 0xc2 0x1>; 412*4882a593Smuzhiyun }; 413*4882a593Smuzhiyun}; 414*4882a593Smuzhiyun 415*4882a593Smuzhiyun/* PINCTRL - additions to nodes defined in sc7180.dtsi */ 416*4882a593Smuzhiyun 417*4882a593Smuzhiyun&qspi_clk { 418*4882a593Smuzhiyun pinconf { 419*4882a593Smuzhiyun pins = "gpio63"; 420*4882a593Smuzhiyun bias-disable; 421*4882a593Smuzhiyun }; 422*4882a593Smuzhiyun}; 423*4882a593Smuzhiyun 424*4882a593Smuzhiyun&qspi_cs0 { 425*4882a593Smuzhiyun pinconf { 426*4882a593Smuzhiyun pins = "gpio68"; 427*4882a593Smuzhiyun bias-disable; 428*4882a593Smuzhiyun }; 429*4882a593Smuzhiyun}; 430*4882a593Smuzhiyun 431*4882a593Smuzhiyun&qspi_data01 { 432*4882a593Smuzhiyun pinconf { 433*4882a593Smuzhiyun pins = "gpio64", "gpio65"; 434*4882a593Smuzhiyun 435*4882a593Smuzhiyun /* High-Z when no transfers; nice to park the lines */ 436*4882a593Smuzhiyun bias-pull-up; 437*4882a593Smuzhiyun }; 438*4882a593Smuzhiyun}; 439*4882a593Smuzhiyun 440*4882a593Smuzhiyun&qup_i2c2_default { 441*4882a593Smuzhiyun pinconf { 442*4882a593Smuzhiyun pins = "gpio15", "gpio16"; 443*4882a593Smuzhiyun drive-strength = <2>; 444*4882a593Smuzhiyun 445*4882a593Smuzhiyun /* Has external pullup */ 446*4882a593Smuzhiyun bias-disable; 447*4882a593Smuzhiyun }; 448*4882a593Smuzhiyun}; 449*4882a593Smuzhiyun 450*4882a593Smuzhiyun&qup_i2c4_default { 451*4882a593Smuzhiyun pinconf { 452*4882a593Smuzhiyun pins = "gpio115", "gpio116"; 453*4882a593Smuzhiyun drive-strength = <2>; 454*4882a593Smuzhiyun 455*4882a593Smuzhiyun /* Has external pullup */ 456*4882a593Smuzhiyun bias-disable; 457*4882a593Smuzhiyun }; 458*4882a593Smuzhiyun}; 459*4882a593Smuzhiyun 460*4882a593Smuzhiyun&qup_i2c7_default { 461*4882a593Smuzhiyun pinconf { 462*4882a593Smuzhiyun pins = "gpio6", "gpio7"; 463*4882a593Smuzhiyun drive-strength = <2>; 464*4882a593Smuzhiyun 465*4882a593Smuzhiyun /* Has external pullup */ 466*4882a593Smuzhiyun bias-disable; 467*4882a593Smuzhiyun }; 468*4882a593Smuzhiyun}; 469*4882a593Smuzhiyun 470*4882a593Smuzhiyun&qup_i2c9_default { 471*4882a593Smuzhiyun pinconf { 472*4882a593Smuzhiyun pins = "gpio46", "gpio47"; 473*4882a593Smuzhiyun drive-strength = <2>; 474*4882a593Smuzhiyun 475*4882a593Smuzhiyun /* Has external pullup */ 476*4882a593Smuzhiyun bias-disable; 477*4882a593Smuzhiyun }; 478*4882a593Smuzhiyun}; 479*4882a593Smuzhiyun 480*4882a593Smuzhiyun&qup_uart3_default { 481*4882a593Smuzhiyun pinconf-cts { 482*4882a593Smuzhiyun /* 483*4882a593Smuzhiyun * Configure a pull-down on CTS to match the pull of 484*4882a593Smuzhiyun * the Bluetooth module. 485*4882a593Smuzhiyun */ 486*4882a593Smuzhiyun pins = "gpio38"; 487*4882a593Smuzhiyun bias-pull-down; 488*4882a593Smuzhiyun }; 489*4882a593Smuzhiyun 490*4882a593Smuzhiyun pinconf-rts { 491*4882a593Smuzhiyun /* We'll drive RTS, so no pull */ 492*4882a593Smuzhiyun pins = "gpio39"; 493*4882a593Smuzhiyun drive-strength = <2>; 494*4882a593Smuzhiyun bias-disable; 495*4882a593Smuzhiyun }; 496*4882a593Smuzhiyun 497*4882a593Smuzhiyun pinconf-tx { 498*4882a593Smuzhiyun /* We'll drive TX, so no pull */ 499*4882a593Smuzhiyun pins = "gpio40"; 500*4882a593Smuzhiyun drive-strength = <2>; 501*4882a593Smuzhiyun bias-disable; 502*4882a593Smuzhiyun }; 503*4882a593Smuzhiyun 504*4882a593Smuzhiyun pinconf-rx { 505*4882a593Smuzhiyun /* 506*4882a593Smuzhiyun * Configure a pull-up on RX. This is needed to avoid 507*4882a593Smuzhiyun * garbage data when the TX pin of the Bluetooth module is 508*4882a593Smuzhiyun * in tri-state (module powered off or not driving the 509*4882a593Smuzhiyun * signal yet). 510*4882a593Smuzhiyun */ 511*4882a593Smuzhiyun pins = "gpio41"; 512*4882a593Smuzhiyun bias-pull-up; 513*4882a593Smuzhiyun }; 514*4882a593Smuzhiyun}; 515*4882a593Smuzhiyun 516*4882a593Smuzhiyun&qup_uart8_default { 517*4882a593Smuzhiyun pinconf-tx { 518*4882a593Smuzhiyun pins = "gpio44"; 519*4882a593Smuzhiyun drive-strength = <2>; 520*4882a593Smuzhiyun bias-disable; 521*4882a593Smuzhiyun }; 522*4882a593Smuzhiyun 523*4882a593Smuzhiyun pinconf-rx { 524*4882a593Smuzhiyun pins = "gpio45"; 525*4882a593Smuzhiyun drive-strength = <2>; 526*4882a593Smuzhiyun bias-pull-up; 527*4882a593Smuzhiyun }; 528*4882a593Smuzhiyun}; 529*4882a593Smuzhiyun 530*4882a593Smuzhiyun&qup_spi0_default { 531*4882a593Smuzhiyun pinconf { 532*4882a593Smuzhiyun pins = "gpio34", "gpio35", "gpio36", "gpio37"; 533*4882a593Smuzhiyun drive-strength = <2>; 534*4882a593Smuzhiyun bias-disable; 535*4882a593Smuzhiyun }; 536*4882a593Smuzhiyun}; 537*4882a593Smuzhiyun 538*4882a593Smuzhiyun&qup_spi6_default { 539*4882a593Smuzhiyun pinconf { 540*4882a593Smuzhiyun pins = "gpio59", "gpio60", "gpio61", "gpio62"; 541*4882a593Smuzhiyun drive-strength = <2>; 542*4882a593Smuzhiyun bias-disable; 543*4882a593Smuzhiyun }; 544*4882a593Smuzhiyun}; 545*4882a593Smuzhiyun 546*4882a593Smuzhiyun&qup_spi10_default { 547*4882a593Smuzhiyun pinconf { 548*4882a593Smuzhiyun pins = "gpio86", "gpio87", "gpio88", "gpio89"; 549*4882a593Smuzhiyun drive-strength = <2>; 550*4882a593Smuzhiyun bias-disable; 551*4882a593Smuzhiyun }; 552*4882a593Smuzhiyun}; 553*4882a593Smuzhiyun 554*4882a593Smuzhiyun&tlmm { 555*4882a593Smuzhiyun qup_uart3_sleep: qup-uart3-sleep { 556*4882a593Smuzhiyun pinmux { 557*4882a593Smuzhiyun pins = "gpio38", "gpio39", 558*4882a593Smuzhiyun "gpio40", "gpio41"; 559*4882a593Smuzhiyun function = "gpio"; 560*4882a593Smuzhiyun }; 561*4882a593Smuzhiyun 562*4882a593Smuzhiyun pinconf-cts { 563*4882a593Smuzhiyun /* 564*4882a593Smuzhiyun * Configure a pull-down on CTS to match the pull of 565*4882a593Smuzhiyun * the Bluetooth module. 566*4882a593Smuzhiyun */ 567*4882a593Smuzhiyun pins = "gpio38"; 568*4882a593Smuzhiyun bias-pull-down; 569*4882a593Smuzhiyun }; 570*4882a593Smuzhiyun 571*4882a593Smuzhiyun pinconf-rts { 572*4882a593Smuzhiyun /* 573*4882a593Smuzhiyun * Configure pull-down on RTS. As RTS is active low 574*4882a593Smuzhiyun * signal, pull it low to indicate the BT SoC that it 575*4882a593Smuzhiyun * can wakeup the system anytime from suspend state by 576*4882a593Smuzhiyun * pulling RX low (by sending wakeup bytes). 577*4882a593Smuzhiyun */ 578*4882a593Smuzhiyun pins = "gpio39"; 579*4882a593Smuzhiyun bias-pull-down; 580*4882a593Smuzhiyun }; 581*4882a593Smuzhiyun 582*4882a593Smuzhiyun pinconf-tx { 583*4882a593Smuzhiyun /* 584*4882a593Smuzhiyun * Configure pull-up on TX when it isn't actively driven 585*4882a593Smuzhiyun * to prevent BT SoC from receiving garbage during sleep. 586*4882a593Smuzhiyun */ 587*4882a593Smuzhiyun pins = "gpio40"; 588*4882a593Smuzhiyun bias-pull-up; 589*4882a593Smuzhiyun }; 590*4882a593Smuzhiyun 591*4882a593Smuzhiyun pinconf-rx { 592*4882a593Smuzhiyun /* 593*4882a593Smuzhiyun * Configure a pull-up on RX. This is needed to avoid 594*4882a593Smuzhiyun * garbage data when the TX pin of the Bluetooth module 595*4882a593Smuzhiyun * is floating which may cause spurious wakeups. 596*4882a593Smuzhiyun */ 597*4882a593Smuzhiyun pins = "gpio41"; 598*4882a593Smuzhiyun bias-pull-up; 599*4882a593Smuzhiyun }; 600*4882a593Smuzhiyun }; 601*4882a593Smuzhiyun}; 602