1*5f62a964SEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause 2*5f62a964SEmmanuel Vadot/* 3*5f62a964SEmmanuel Vadot * Copyright (c) 2024, Jérôme de Bretagne <jerome.debretagne@gmail.com> 4*5f62a964SEmmanuel Vadot */ 5*5f62a964SEmmanuel Vadot 6*5f62a964SEmmanuel Vadot/dts-v1/; 7*5f62a964SEmmanuel Vadot 8*5f62a964SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 9*5f62a964SEmmanuel Vadot#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 10*5f62a964SEmmanuel Vadot 11*5f62a964SEmmanuel Vadot#include "sc8280xp.dtsi" 12*5f62a964SEmmanuel Vadot#include "sc8280xp-pmics.dtsi" 13*5f62a964SEmmanuel Vadot 14*5f62a964SEmmanuel Vadot/ { 15*5f62a964SEmmanuel Vadot model = "Microsoft Surface Pro 9 5G"; 16*5f62a964SEmmanuel Vadot compatible = "microsoft,arcata", "qcom,sc8280xp"; 17*5f62a964SEmmanuel Vadot 18*5f62a964SEmmanuel Vadot aliases { 19*5f62a964SEmmanuel Vadot serial0 = &uart18; 20*5f62a964SEmmanuel Vadot serial1 = &uart2; 21*5f62a964SEmmanuel Vadot }; 22*5f62a964SEmmanuel Vadot 23*5f62a964SEmmanuel Vadot wcd938x: audio-codec { 24*5f62a964SEmmanuel Vadot compatible = "qcom,wcd9380-codec"; 25*5f62a964SEmmanuel Vadot 26*5f62a964SEmmanuel Vadot pinctrl-0 = <&wcd_default>; 27*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 28*5f62a964SEmmanuel Vadot 29*5f62a964SEmmanuel Vadot reset-gpios = <&tlmm 106 GPIO_ACTIVE_LOW>; 30*5f62a964SEmmanuel Vadot 31*5f62a964SEmmanuel Vadot vdd-buck-supply = <&vreg_s10b>; 32*5f62a964SEmmanuel Vadot vdd-rxtx-supply = <&vreg_s10b>; 33*5f62a964SEmmanuel Vadot vdd-io-supply = <&vreg_s10b>; 34*5f62a964SEmmanuel Vadot vdd-mic-bias-supply = <&vreg_bob>; 35*5f62a964SEmmanuel Vadot 36*5f62a964SEmmanuel Vadot qcom,micbias1-microvolt = <1800000>; 37*5f62a964SEmmanuel Vadot qcom,micbias2-microvolt = <1800000>; 38*5f62a964SEmmanuel Vadot qcom,micbias3-microvolt = <1800000>; 39*5f62a964SEmmanuel Vadot qcom,micbias4-microvolt = <1800000>; 40*5f62a964SEmmanuel Vadot qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; 41*5f62a964SEmmanuel Vadot qcom,mbhc-headset-vthreshold-microvolt = <1700000>; 42*5f62a964SEmmanuel Vadot qcom,mbhc-headphone-vthreshold-microvolt = <50000>; 43*5f62a964SEmmanuel Vadot qcom,rx-device = <&wcd_rx>; 44*5f62a964SEmmanuel Vadot qcom,tx-device = <&wcd_tx>; 45*5f62a964SEmmanuel Vadot 46*5f62a964SEmmanuel Vadot #sound-dai-cells = <1>; 47*5f62a964SEmmanuel Vadot }; 48*5f62a964SEmmanuel Vadot 49*5f62a964SEmmanuel Vadot pmic-glink { 50*5f62a964SEmmanuel Vadot compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink"; 51*5f62a964SEmmanuel Vadot 52*5f62a964SEmmanuel Vadot #address-cells = <1>; 53*5f62a964SEmmanuel Vadot #size-cells = <0>; 54*5f62a964SEmmanuel Vadot 55*5f62a964SEmmanuel Vadot /* Left-side top port */ 56*5f62a964SEmmanuel Vadot connector@0 { 57*5f62a964SEmmanuel Vadot compatible = "usb-c-connector"; 58*5f62a964SEmmanuel Vadot reg = <0>; 59*5f62a964SEmmanuel Vadot power-role = "dual"; 60*5f62a964SEmmanuel Vadot data-role = "dual"; 61*5f62a964SEmmanuel Vadot 62*5f62a964SEmmanuel Vadot ports { 63*5f62a964SEmmanuel Vadot #address-cells = <1>; 64*5f62a964SEmmanuel Vadot #size-cells = <0>; 65*5f62a964SEmmanuel Vadot 66*5f62a964SEmmanuel Vadot port@0 { 67*5f62a964SEmmanuel Vadot reg = <0>; 68*5f62a964SEmmanuel Vadot 69*5f62a964SEmmanuel Vadot pmic_glink_con0_hs: endpoint { 70*5f62a964SEmmanuel Vadot remote-endpoint = <&usb_0_dwc3_hs>; 71*5f62a964SEmmanuel Vadot }; 72*5f62a964SEmmanuel Vadot }; 73*5f62a964SEmmanuel Vadot 74*5f62a964SEmmanuel Vadot port@1 { 75*5f62a964SEmmanuel Vadot reg = <1>; 76*5f62a964SEmmanuel Vadot 77*5f62a964SEmmanuel Vadot pmic_glink_con0_ss: endpoint { 78*5f62a964SEmmanuel Vadot remote-endpoint = <&usb_0_qmpphy_out>; 79*5f62a964SEmmanuel Vadot }; 80*5f62a964SEmmanuel Vadot }; 81*5f62a964SEmmanuel Vadot 82*5f62a964SEmmanuel Vadot port@2 { 83*5f62a964SEmmanuel Vadot reg = <2>; 84*5f62a964SEmmanuel Vadot 85*5f62a964SEmmanuel Vadot pmic_glink_con0_sbu: endpoint { 86*5f62a964SEmmanuel Vadot remote-endpoint = <&usb0_sbu_mux>; 87*5f62a964SEmmanuel Vadot }; 88*5f62a964SEmmanuel Vadot }; 89*5f62a964SEmmanuel Vadot }; 90*5f62a964SEmmanuel Vadot }; 91*5f62a964SEmmanuel Vadot 92*5f62a964SEmmanuel Vadot /* Left-side bottom port */ 93*5f62a964SEmmanuel Vadot connector@1 { 94*5f62a964SEmmanuel Vadot compatible = "usb-c-connector"; 95*5f62a964SEmmanuel Vadot reg = <1>; 96*5f62a964SEmmanuel Vadot power-role = "dual"; 97*5f62a964SEmmanuel Vadot data-role = "dual"; 98*5f62a964SEmmanuel Vadot 99*5f62a964SEmmanuel Vadot ports { 100*5f62a964SEmmanuel Vadot #address-cells = <1>; 101*5f62a964SEmmanuel Vadot #size-cells = <0>; 102*5f62a964SEmmanuel Vadot 103*5f62a964SEmmanuel Vadot port@0 { 104*5f62a964SEmmanuel Vadot reg = <0>; 105*5f62a964SEmmanuel Vadot 106*5f62a964SEmmanuel Vadot pmic_glink_con1_hs: endpoint { 107*5f62a964SEmmanuel Vadot remote-endpoint = <&usb_1_dwc3_hs>; 108*5f62a964SEmmanuel Vadot }; 109*5f62a964SEmmanuel Vadot }; 110*5f62a964SEmmanuel Vadot 111*5f62a964SEmmanuel Vadot port@1 { 112*5f62a964SEmmanuel Vadot reg = <1>; 113*5f62a964SEmmanuel Vadot 114*5f62a964SEmmanuel Vadot pmic_glink_con1_ss: endpoint { 115*5f62a964SEmmanuel Vadot remote-endpoint = <&usb_1_qmpphy_out>; 116*5f62a964SEmmanuel Vadot }; 117*5f62a964SEmmanuel Vadot }; 118*5f62a964SEmmanuel Vadot 119*5f62a964SEmmanuel Vadot port@2 { 120*5f62a964SEmmanuel Vadot reg = <2>; 121*5f62a964SEmmanuel Vadot 122*5f62a964SEmmanuel Vadot pmic_glink_con1_sbu: endpoint { 123*5f62a964SEmmanuel Vadot remote-endpoint = <&usb1_sbu_mux>; 124*5f62a964SEmmanuel Vadot }; 125*5f62a964SEmmanuel Vadot }; 126*5f62a964SEmmanuel Vadot }; 127*5f62a964SEmmanuel Vadot }; 128*5f62a964SEmmanuel Vadot }; 129*5f62a964SEmmanuel Vadot 130*5f62a964SEmmanuel Vadot vreg_nvme: regulator-nvme { 131*5f62a964SEmmanuel Vadot compatible = "regulator-fixed"; 132*5f62a964SEmmanuel Vadot 133*5f62a964SEmmanuel Vadot regulator-name = "VCC3_SSD"; 134*5f62a964SEmmanuel Vadot regulator-min-microvolt = <3300000>; 135*5f62a964SEmmanuel Vadot regulator-max-microvolt = <3300000>; 136*5f62a964SEmmanuel Vadot 137*5f62a964SEmmanuel Vadot gpio = <&tlmm 135 GPIO_ACTIVE_HIGH>; 138*5f62a964SEmmanuel Vadot enable-active-high; 139*5f62a964SEmmanuel Vadot 140*5f62a964SEmmanuel Vadot pinctrl-0 = <&nvme_reg_en>; 141*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 142*5f62a964SEmmanuel Vadot 143*5f62a964SEmmanuel Vadot regulator-boot-on; 144*5f62a964SEmmanuel Vadot }; 145*5f62a964SEmmanuel Vadot 146*5f62a964SEmmanuel Vadot vreg_vph_pwr: regulator-vph-pwr { 147*5f62a964SEmmanuel Vadot compatible = "regulator-fixed"; 148*5f62a964SEmmanuel Vadot 149*5f62a964SEmmanuel Vadot regulator-name = "VPH_VCC3R9"; 150*5f62a964SEmmanuel Vadot regulator-min-microvolt = <3900000>; 151*5f62a964SEmmanuel Vadot regulator-max-microvolt = <3900000>; 152*5f62a964SEmmanuel Vadot 153*5f62a964SEmmanuel Vadot regulator-always-on; 154*5f62a964SEmmanuel Vadot }; 155*5f62a964SEmmanuel Vadot 156*5f62a964SEmmanuel Vadot vreg_wlan: regulator-wlan { 157*5f62a964SEmmanuel Vadot compatible = "regulator-fixed"; 158*5f62a964SEmmanuel Vadot 159*5f62a964SEmmanuel Vadot regulator-name = "VCC_WLAN_3R9"; 160*5f62a964SEmmanuel Vadot regulator-min-microvolt = <3900000>; 161*5f62a964SEmmanuel Vadot regulator-max-microvolt = <3900000>; 162*5f62a964SEmmanuel Vadot 163*5f62a964SEmmanuel Vadot gpio = <&pmr735a_gpios 1 GPIO_ACTIVE_HIGH>; 164*5f62a964SEmmanuel Vadot enable-active-high; 165*5f62a964SEmmanuel Vadot 166*5f62a964SEmmanuel Vadot pinctrl-0 = <&hastings_reg_en>; 167*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 168*5f62a964SEmmanuel Vadot 169*5f62a964SEmmanuel Vadot regulator-boot-on; 170*5f62a964SEmmanuel Vadot }; 171*5f62a964SEmmanuel Vadot 172*5f62a964SEmmanuel Vadot vreg_wwan: regulator-wwan { 173*5f62a964SEmmanuel Vadot compatible = "regulator-fixed"; 174*5f62a964SEmmanuel Vadot 175*5f62a964SEmmanuel Vadot regulator-name = "VCC3B_WAN"; 176*5f62a964SEmmanuel Vadot regulator-min-microvolt = <3300000>; 177*5f62a964SEmmanuel Vadot regulator-max-microvolt = <3300000>; 178*5f62a964SEmmanuel Vadot 179*5f62a964SEmmanuel Vadot gpio = <&pmc8280_2_gpios 1 GPIO_ACTIVE_HIGH>; 180*5f62a964SEmmanuel Vadot enable-active-high; 181*5f62a964SEmmanuel Vadot 182*5f62a964SEmmanuel Vadot pinctrl-0 = <&wwan_sw_en>; 183*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 184*5f62a964SEmmanuel Vadot 185*5f62a964SEmmanuel Vadot regulator-boot-on; 186*5f62a964SEmmanuel Vadot }; 187*5f62a964SEmmanuel Vadot 188*5f62a964SEmmanuel Vadot reserved-memory { 189*5f62a964SEmmanuel Vadot gpu_mem: gpu-mem@8bf00000 { 190*5f62a964SEmmanuel Vadot reg = <0 0x8bf00000 0 0x2000>; 191*5f62a964SEmmanuel Vadot no-map; 192*5f62a964SEmmanuel Vadot }; 193*5f62a964SEmmanuel Vadot 194*5f62a964SEmmanuel Vadot linux,cma { 195*5f62a964SEmmanuel Vadot compatible = "shared-dma-pool"; 196*5f62a964SEmmanuel Vadot size = <0x0 0x8000000>; 197*5f62a964SEmmanuel Vadot reusable; 198*5f62a964SEmmanuel Vadot linux,cma-default; 199*5f62a964SEmmanuel Vadot }; 200*5f62a964SEmmanuel Vadot }; 201*5f62a964SEmmanuel Vadot 202*5f62a964SEmmanuel Vadot thermal-zones { 203*5f62a964SEmmanuel Vadot skin-temp-thermal { 204*5f62a964SEmmanuel Vadot polling-delay-passive = <250>; 205*5f62a964SEmmanuel Vadot 206*5f62a964SEmmanuel Vadot thermal-sensors = <&pmk8280_adc_tm 5>; 207*5f62a964SEmmanuel Vadot 208*5f62a964SEmmanuel Vadot trips { 209*5f62a964SEmmanuel Vadot skin_temp_alert0: trip-point0 { 210*5f62a964SEmmanuel Vadot temperature = <55000>; 211*5f62a964SEmmanuel Vadot hysteresis = <1000>; 212*5f62a964SEmmanuel Vadot type = "passive"; 213*5f62a964SEmmanuel Vadot }; 214*5f62a964SEmmanuel Vadot 215*5f62a964SEmmanuel Vadot skin_temp_alert1: trip-point1 { 216*5f62a964SEmmanuel Vadot temperature = <58000>; 217*5f62a964SEmmanuel Vadot hysteresis = <1000>; 218*5f62a964SEmmanuel Vadot type = "passive"; 219*5f62a964SEmmanuel Vadot }; 220*5f62a964SEmmanuel Vadot 221*5f62a964SEmmanuel Vadot skin-temp-crit { 222*5f62a964SEmmanuel Vadot temperature = <73000>; 223*5f62a964SEmmanuel Vadot hysteresis = <1000>; 224*5f62a964SEmmanuel Vadot type = "critical"; 225*5f62a964SEmmanuel Vadot }; 226*5f62a964SEmmanuel Vadot }; 227*5f62a964SEmmanuel Vadot 228*5f62a964SEmmanuel Vadot cooling-maps { 229*5f62a964SEmmanuel Vadot map0 { 230*5f62a964SEmmanuel Vadot trip = <&skin_temp_alert0>; 231*5f62a964SEmmanuel Vadot cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 232*5f62a964SEmmanuel Vadot <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 233*5f62a964SEmmanuel Vadot <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 234*5f62a964SEmmanuel Vadot <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 235*5f62a964SEmmanuel Vadot }; 236*5f62a964SEmmanuel Vadot 237*5f62a964SEmmanuel Vadot map1 { 238*5f62a964SEmmanuel Vadot trip = <&skin_temp_alert1>; 239*5f62a964SEmmanuel Vadot cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 240*5f62a964SEmmanuel Vadot <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 241*5f62a964SEmmanuel Vadot <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 242*5f62a964SEmmanuel Vadot <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 243*5f62a964SEmmanuel Vadot }; 244*5f62a964SEmmanuel Vadot }; 245*5f62a964SEmmanuel Vadot }; 246*5f62a964SEmmanuel Vadot }; 247*5f62a964SEmmanuel Vadot 248*5f62a964SEmmanuel Vadot usb0-sbu-mux { 249*5f62a964SEmmanuel Vadot compatible = "pericom,pi3usb102", "gpio-sbu-mux"; 250*5f62a964SEmmanuel Vadot 251*5f62a964SEmmanuel Vadot enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>; 252*5f62a964SEmmanuel Vadot select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>; 253*5f62a964SEmmanuel Vadot 254*5f62a964SEmmanuel Vadot pinctrl-0 = <&usb0_sbu_default>; 255*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 256*5f62a964SEmmanuel Vadot 257*5f62a964SEmmanuel Vadot mode-switch; 258*5f62a964SEmmanuel Vadot orientation-switch; 259*5f62a964SEmmanuel Vadot 260*5f62a964SEmmanuel Vadot port { 261*5f62a964SEmmanuel Vadot usb0_sbu_mux: endpoint { 262*5f62a964SEmmanuel Vadot remote-endpoint = <&pmic_glink_con0_sbu>; 263*5f62a964SEmmanuel Vadot }; 264*5f62a964SEmmanuel Vadot }; 265*5f62a964SEmmanuel Vadot }; 266*5f62a964SEmmanuel Vadot 267*5f62a964SEmmanuel Vadot usb1-sbu-mux { 268*5f62a964SEmmanuel Vadot compatible = "pericom,pi3usb102", "gpio-sbu-mux"; 269*5f62a964SEmmanuel Vadot 270*5f62a964SEmmanuel Vadot enable-gpios = <&tlmm 48 GPIO_ACTIVE_LOW>; 271*5f62a964SEmmanuel Vadot select-gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>; 272*5f62a964SEmmanuel Vadot 273*5f62a964SEmmanuel Vadot pinctrl-0 = <&usb1_sbu_default>; 274*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 275*5f62a964SEmmanuel Vadot 276*5f62a964SEmmanuel Vadot mode-switch; 277*5f62a964SEmmanuel Vadot orientation-switch; 278*5f62a964SEmmanuel Vadot 279*5f62a964SEmmanuel Vadot port { 280*5f62a964SEmmanuel Vadot usb1_sbu_mux: endpoint { 281*5f62a964SEmmanuel Vadot remote-endpoint = <&pmic_glink_con1_sbu>; 282*5f62a964SEmmanuel Vadot }; 283*5f62a964SEmmanuel Vadot }; 284*5f62a964SEmmanuel Vadot }; 285*5f62a964SEmmanuel Vadot}; 286*5f62a964SEmmanuel Vadot 287*5f62a964SEmmanuel Vadot&apps_rsc { 288*5f62a964SEmmanuel Vadot regulators-0 { 289*5f62a964SEmmanuel Vadot compatible = "qcom,pm8350-rpmh-regulators"; 290*5f62a964SEmmanuel Vadot qcom,pmic-id = "b"; 291*5f62a964SEmmanuel Vadot 292*5f62a964SEmmanuel Vadot vdd-l1-l4-supply = <&vreg_s12b>; 293*5f62a964SEmmanuel Vadot vdd-l2-l7-supply = <&vreg_bob>; 294*5f62a964SEmmanuel Vadot vdd-l3-l5-supply = <&vreg_s11b>; 295*5f62a964SEmmanuel Vadot vdd-l6-l9-l10-supply = <&vreg_s12b>; 296*5f62a964SEmmanuel Vadot vdd-l8-supply = <&vreg_s12b>; 297*5f62a964SEmmanuel Vadot 298*5f62a964SEmmanuel Vadot vreg_s10b: smps10 { 299*5f62a964SEmmanuel Vadot regulator-name = "vreg_s10b"; 300*5f62a964SEmmanuel Vadot regulator-min-microvolt = <1800000>; 301*5f62a964SEmmanuel Vadot regulator-max-microvolt = <1800000>; 302*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 303*5f62a964SEmmanuel Vadot regulator-always-on; 304*5f62a964SEmmanuel Vadot }; 305*5f62a964SEmmanuel Vadot 306*5f62a964SEmmanuel Vadot vreg_s11b: smps11 { 307*5f62a964SEmmanuel Vadot regulator-name = "vreg_s11b"; 308*5f62a964SEmmanuel Vadot regulator-min-microvolt = <1272000>; 309*5f62a964SEmmanuel Vadot regulator-max-microvolt = <1272000>; 310*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 311*5f62a964SEmmanuel Vadot regulator-always-on; 312*5f62a964SEmmanuel Vadot }; 313*5f62a964SEmmanuel Vadot 314*5f62a964SEmmanuel Vadot vreg_s12b: smps12 { 315*5f62a964SEmmanuel Vadot regulator-name = "vreg_s12b"; 316*5f62a964SEmmanuel Vadot regulator-min-microvolt = <984000>; 317*5f62a964SEmmanuel Vadot regulator-max-microvolt = <984000>; 318*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 319*5f62a964SEmmanuel Vadot regulator-always-on; 320*5f62a964SEmmanuel Vadot }; 321*5f62a964SEmmanuel Vadot 322*5f62a964SEmmanuel Vadot vreg_l3b: ldo3 { 323*5f62a964SEmmanuel Vadot regulator-name = "vreg_l3b"; 324*5f62a964SEmmanuel Vadot regulator-min-microvolt = <1200000>; 325*5f62a964SEmmanuel Vadot regulator-max-microvolt = <1200000>; 326*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 327*5f62a964SEmmanuel Vadot regulator-boot-on; 328*5f62a964SEmmanuel Vadot }; 329*5f62a964SEmmanuel Vadot 330*5f62a964SEmmanuel Vadot vreg_l4b: ldo4 { 331*5f62a964SEmmanuel Vadot regulator-name = "vreg_l4b"; 332*5f62a964SEmmanuel Vadot regulator-min-microvolt = <912000>; 333*5f62a964SEmmanuel Vadot regulator-max-microvolt = <912000>; 334*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 335*5f62a964SEmmanuel Vadot }; 336*5f62a964SEmmanuel Vadot 337*5f62a964SEmmanuel Vadot vreg_l6b: ldo6 { 338*5f62a964SEmmanuel Vadot regulator-name = "vreg_l6b"; 339*5f62a964SEmmanuel Vadot regulator-min-microvolt = <880000>; 340*5f62a964SEmmanuel Vadot regulator-max-microvolt = <880000>; 341*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 342*5f62a964SEmmanuel Vadot regulator-boot-on; 343*5f62a964SEmmanuel Vadot regulator-always-on; // FIXME: VDD_A_EDP_0_0P9 344*5f62a964SEmmanuel Vadot }; 345*5f62a964SEmmanuel Vadot }; 346*5f62a964SEmmanuel Vadot 347*5f62a964SEmmanuel Vadot regulators-1 { 348*5f62a964SEmmanuel Vadot compatible = "qcom,pm8350c-rpmh-regulators"; 349*5f62a964SEmmanuel Vadot qcom,pmic-id = "c"; 350*5f62a964SEmmanuel Vadot 351*5f62a964SEmmanuel Vadot vdd-bob-supply = <&vreg_vph_pwr>; 352*5f62a964SEmmanuel Vadot vdd-l1-l12-supply = <&vreg_s1c>; 353*5f62a964SEmmanuel Vadot vdd-l2-l8-supply = <&vreg_s1c>; 354*5f62a964SEmmanuel Vadot vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>; 355*5f62a964SEmmanuel Vadot vdd-l6-l9-l11-supply = <&vreg_bob>; 356*5f62a964SEmmanuel Vadot vdd-l10-supply = <&vreg_s11b>; 357*5f62a964SEmmanuel Vadot 358*5f62a964SEmmanuel Vadot vreg_s1c: smps1 { 359*5f62a964SEmmanuel Vadot regulator-name = "vreg_s1c"; 360*5f62a964SEmmanuel Vadot regulator-min-microvolt = <1880000>; 361*5f62a964SEmmanuel Vadot regulator-max-microvolt = <1900000>; 362*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 363*5f62a964SEmmanuel Vadot regulator-always-on; 364*5f62a964SEmmanuel Vadot }; 365*5f62a964SEmmanuel Vadot 366*5f62a964SEmmanuel Vadot vreg_l1c: ldo1 { 367*5f62a964SEmmanuel Vadot regulator-name = "vreg_l1c"; 368*5f62a964SEmmanuel Vadot regulator-min-microvolt = <1800000>; 369*5f62a964SEmmanuel Vadot regulator-max-microvolt = <1800000>; 370*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 371*5f62a964SEmmanuel Vadot }; 372*5f62a964SEmmanuel Vadot 373*5f62a964SEmmanuel Vadot vreg_l12c: ldo12 { 374*5f62a964SEmmanuel Vadot regulator-name = "vreg_l12c"; 375*5f62a964SEmmanuel Vadot regulator-min-microvolt = <1800000>; 376*5f62a964SEmmanuel Vadot regulator-max-microvolt = <1800000>; 377*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 378*5f62a964SEmmanuel Vadot }; 379*5f62a964SEmmanuel Vadot 380*5f62a964SEmmanuel Vadot vreg_l13c: ldo13 { 381*5f62a964SEmmanuel Vadot regulator-name = "vreg_l13c"; 382*5f62a964SEmmanuel Vadot regulator-min-microvolt = <3072000>; 383*5f62a964SEmmanuel Vadot regulator-max-microvolt = <3072000>; 384*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 385*5f62a964SEmmanuel Vadot }; 386*5f62a964SEmmanuel Vadot 387*5f62a964SEmmanuel Vadot vreg_bob: bob { 388*5f62a964SEmmanuel Vadot regulator-name = "vreg_bob"; 389*5f62a964SEmmanuel Vadot regulator-min-microvolt = <3008000>; 390*5f62a964SEmmanuel Vadot regulator-max-microvolt = <3960000>; 391*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 392*5f62a964SEmmanuel Vadot regulator-always-on; 393*5f62a964SEmmanuel Vadot }; 394*5f62a964SEmmanuel Vadot }; 395*5f62a964SEmmanuel Vadot 396*5f62a964SEmmanuel Vadot regulators-2 { 397*5f62a964SEmmanuel Vadot compatible = "qcom,pm8350-rpmh-regulators"; 398*5f62a964SEmmanuel Vadot qcom,pmic-id = "d"; 399*5f62a964SEmmanuel Vadot 400*5f62a964SEmmanuel Vadot vdd-l1-l4-supply = <&vreg_s11b>; 401*5f62a964SEmmanuel Vadot vdd-l2-l7-supply = <&vreg_bob>; 402*5f62a964SEmmanuel Vadot vdd-l3-l5-supply = <&vreg_s11b>; 403*5f62a964SEmmanuel Vadot vdd-l6-l9-l10-supply = <&vreg_s12b>; 404*5f62a964SEmmanuel Vadot vdd-l8-supply = <&vreg_s12b>; 405*5f62a964SEmmanuel Vadot 406*5f62a964SEmmanuel Vadot vreg_l3d: ldo3 { 407*5f62a964SEmmanuel Vadot regulator-name = "vreg_l3d"; 408*5f62a964SEmmanuel Vadot regulator-min-microvolt = <1200000>; 409*5f62a964SEmmanuel Vadot regulator-max-microvolt = <1200000>; 410*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 411*5f62a964SEmmanuel Vadot }; 412*5f62a964SEmmanuel Vadot 413*5f62a964SEmmanuel Vadot vreg_l4d: ldo4 { 414*5f62a964SEmmanuel Vadot regulator-name = "vreg_l4d"; 415*5f62a964SEmmanuel Vadot regulator-min-microvolt = <1200000>; 416*5f62a964SEmmanuel Vadot regulator-max-microvolt = <1200000>; 417*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 418*5f62a964SEmmanuel Vadot }; 419*5f62a964SEmmanuel Vadot 420*5f62a964SEmmanuel Vadot vreg_l6d: ldo6 { 421*5f62a964SEmmanuel Vadot regulator-name = "vreg_l6d"; 422*5f62a964SEmmanuel Vadot regulator-min-microvolt = <880000>; 423*5f62a964SEmmanuel Vadot regulator-max-microvolt = <880000>; 424*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 425*5f62a964SEmmanuel Vadot }; 426*5f62a964SEmmanuel Vadot 427*5f62a964SEmmanuel Vadot vreg_l7d: ldo7 { 428*5f62a964SEmmanuel Vadot regulator-name = "vreg_l7d"; 429*5f62a964SEmmanuel Vadot regulator-min-microvolt = <3072000>; 430*5f62a964SEmmanuel Vadot regulator-max-microvolt = <3072000>; 431*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 432*5f62a964SEmmanuel Vadot }; 433*5f62a964SEmmanuel Vadot 434*5f62a964SEmmanuel Vadot vreg_l9d: ldo9 { 435*5f62a964SEmmanuel Vadot regulator-name = "vreg_l9d"; 436*5f62a964SEmmanuel Vadot regulator-min-microvolt = <912000>; 437*5f62a964SEmmanuel Vadot regulator-max-microvolt = <912000>; 438*5f62a964SEmmanuel Vadot regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 439*5f62a964SEmmanuel Vadot }; 440*5f62a964SEmmanuel Vadot }; 441*5f62a964SEmmanuel Vadot}; 442*5f62a964SEmmanuel Vadot 443*5f62a964SEmmanuel Vadot&dispcc0 { 444*5f62a964SEmmanuel Vadot status = "okay"; 445*5f62a964SEmmanuel Vadot}; 446*5f62a964SEmmanuel Vadot 447*5f62a964SEmmanuel Vadot&dispcc1 { 448*5f62a964SEmmanuel Vadot status = "okay"; 449*5f62a964SEmmanuel Vadot}; 450*5f62a964SEmmanuel Vadot 451*5f62a964SEmmanuel Vadot&gpu { 452*5f62a964SEmmanuel Vadot status = "okay"; 453*5f62a964SEmmanuel Vadot 454*5f62a964SEmmanuel Vadot zap-shader { 455*5f62a964SEmmanuel Vadot memory-region = <&gpu_mem>; 456*5f62a964SEmmanuel Vadot firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qcdxkmsuc8280.mbn"; 457*5f62a964SEmmanuel Vadot }; 458*5f62a964SEmmanuel Vadot}; 459*5f62a964SEmmanuel Vadot 460*5f62a964SEmmanuel Vadot&mdss0 { 461*5f62a964SEmmanuel Vadot status = "okay"; 462*5f62a964SEmmanuel Vadot}; 463*5f62a964SEmmanuel Vadot 464*5f62a964SEmmanuel Vadot&mdss0_dp0 { 465*5f62a964SEmmanuel Vadot status = "okay"; 466*5f62a964SEmmanuel Vadot}; 467*5f62a964SEmmanuel Vadot 468*5f62a964SEmmanuel Vadot&mdss0_dp0_out { 469*5f62a964SEmmanuel Vadot data-lanes = <0 1>; 470*5f62a964SEmmanuel Vadot remote-endpoint = <&usb_0_qmpphy_dp_in>; 471*5f62a964SEmmanuel Vadot}; 472*5f62a964SEmmanuel Vadot 473*5f62a964SEmmanuel Vadot&mdss0_dp1 { 474*5f62a964SEmmanuel Vadot status = "okay"; 475*5f62a964SEmmanuel Vadot}; 476*5f62a964SEmmanuel Vadot 477*5f62a964SEmmanuel Vadot&mdss0_dp1_out { 478*5f62a964SEmmanuel Vadot data-lanes = <0 1>; 479*5f62a964SEmmanuel Vadot remote-endpoint = <&usb_1_qmpphy_dp_in>; 480*5f62a964SEmmanuel Vadot}; 481*5f62a964SEmmanuel Vadot 482*5f62a964SEmmanuel Vadot&pcie2a { 483*5f62a964SEmmanuel Vadot perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>; 484*5f62a964SEmmanuel Vadot wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>; 485*5f62a964SEmmanuel Vadot 486*5f62a964SEmmanuel Vadot vddpe-3v3-supply = <&vreg_nvme>; 487*5f62a964SEmmanuel Vadot 488*5f62a964SEmmanuel Vadot pinctrl-0 = <&pcie2a_default>; 489*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 490*5f62a964SEmmanuel Vadot 491*5f62a964SEmmanuel Vadot status = "okay"; 492*5f62a964SEmmanuel Vadot}; 493*5f62a964SEmmanuel Vadot 494*5f62a964SEmmanuel Vadot&pcie2a_phy { 495*5f62a964SEmmanuel Vadot vdda-phy-supply = <&vreg_l6d>; 496*5f62a964SEmmanuel Vadot vdda-pll-supply = <&vreg_l4d>; 497*5f62a964SEmmanuel Vadot 498*5f62a964SEmmanuel Vadot status = "okay"; 499*5f62a964SEmmanuel Vadot}; 500*5f62a964SEmmanuel Vadot 501*5f62a964SEmmanuel Vadot&pcie3a { 502*5f62a964SEmmanuel Vadot perst-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>; 503*5f62a964SEmmanuel Vadot wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>; 504*5f62a964SEmmanuel Vadot 505*5f62a964SEmmanuel Vadot vddpe-3v3-supply = <&vreg_wwan>; 506*5f62a964SEmmanuel Vadot 507*5f62a964SEmmanuel Vadot pinctrl-0 = <&pcie3a_default>; 508*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 509*5f62a964SEmmanuel Vadot 510*5f62a964SEmmanuel Vadot status = "okay"; 511*5f62a964SEmmanuel Vadot}; 512*5f62a964SEmmanuel Vadot 513*5f62a964SEmmanuel Vadot&pcie3a_phy { 514*5f62a964SEmmanuel Vadot vdda-phy-supply = <&vreg_l6d>; 515*5f62a964SEmmanuel Vadot vdda-pll-supply = <&vreg_l4d>; 516*5f62a964SEmmanuel Vadot 517*5f62a964SEmmanuel Vadot status = "okay"; 518*5f62a964SEmmanuel Vadot}; 519*5f62a964SEmmanuel Vadot 520*5f62a964SEmmanuel Vadot&pcie4 { 521*5f62a964SEmmanuel Vadot max-link-speed = <2>; 522*5f62a964SEmmanuel Vadot 523*5f62a964SEmmanuel Vadot perst-gpios = <&tlmm 141 GPIO_ACTIVE_LOW>; 524*5f62a964SEmmanuel Vadot wake-gpios = <&tlmm 139 GPIO_ACTIVE_LOW>; 525*5f62a964SEmmanuel Vadot 526*5f62a964SEmmanuel Vadot vddpe-3v3-supply = <&vreg_wlan>; 527*5f62a964SEmmanuel Vadot 528*5f62a964SEmmanuel Vadot pinctrl-0 = <&pcie4_default>; 529*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 530*5f62a964SEmmanuel Vadot 531*5f62a964SEmmanuel Vadot status = "okay"; 532*5f62a964SEmmanuel Vadot}; 533*5f62a964SEmmanuel Vadot 534*5f62a964SEmmanuel Vadot&pcie4_port0 { 535*5f62a964SEmmanuel Vadot wifi@0 { 536*5f62a964SEmmanuel Vadot compatible = "pci17cb,1103"; 537*5f62a964SEmmanuel Vadot reg = <0x10000 0x0 0x0 0x0 0x0>; 538*5f62a964SEmmanuel Vadot 539*5f62a964SEmmanuel Vadot qcom,ath11k-calibration-variant = "MS_SP9_5G"; 540*5f62a964SEmmanuel Vadot }; 541*5f62a964SEmmanuel Vadot}; 542*5f62a964SEmmanuel Vadot 543*5f62a964SEmmanuel Vadot&pcie4_phy { 544*5f62a964SEmmanuel Vadot vdda-phy-supply = <&vreg_l6d>; 545*5f62a964SEmmanuel Vadot vdda-pll-supply = <&vreg_l4d>; 546*5f62a964SEmmanuel Vadot 547*5f62a964SEmmanuel Vadot status = "okay"; 548*5f62a964SEmmanuel Vadot}; 549*5f62a964SEmmanuel Vadot 550*5f62a964SEmmanuel Vadot&pmk8280_pon_pwrkey { 551*5f62a964SEmmanuel Vadot status = "okay"; 552*5f62a964SEmmanuel Vadot}; 553*5f62a964SEmmanuel Vadot 554*5f62a964SEmmanuel Vadot&pmk8280_pon_resin { 555*5f62a964SEmmanuel Vadot status = "okay"; 556*5f62a964SEmmanuel Vadot}; 557*5f62a964SEmmanuel Vadot 558*5f62a964SEmmanuel Vadot&pmk8280_rtc { 559*5f62a964SEmmanuel Vadot nvmem-cells = <&rtc_offset>; 560*5f62a964SEmmanuel Vadot nvmem-cell-names = "offset"; 561*5f62a964SEmmanuel Vadot 562*5f62a964SEmmanuel Vadot status = "okay"; 563*5f62a964SEmmanuel Vadot}; 564*5f62a964SEmmanuel Vadot 565*5f62a964SEmmanuel Vadot&pmk8280_sdam_6 { 566*5f62a964SEmmanuel Vadot status = "okay"; 567*5f62a964SEmmanuel Vadot 568*5f62a964SEmmanuel Vadot rtc_offset: rtc-offset@bc { 569*5f62a964SEmmanuel Vadot reg = <0xbc 0x4>; 570*5f62a964SEmmanuel Vadot }; 571*5f62a964SEmmanuel Vadot}; 572*5f62a964SEmmanuel Vadot 573*5f62a964SEmmanuel Vadot&qup0 { 574*5f62a964SEmmanuel Vadot status = "okay"; 575*5f62a964SEmmanuel Vadot}; 576*5f62a964SEmmanuel Vadot 577*5f62a964SEmmanuel Vadot&qup1 { 578*5f62a964SEmmanuel Vadot status = "okay"; 579*5f62a964SEmmanuel Vadot}; 580*5f62a964SEmmanuel Vadot 581*5f62a964SEmmanuel Vadot&qup2 { 582*5f62a964SEmmanuel Vadot status = "okay"; 583*5f62a964SEmmanuel Vadot}; 584*5f62a964SEmmanuel Vadot 585*5f62a964SEmmanuel Vadot&remoteproc_adsp { 586*5f62a964SEmmanuel Vadot firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qcadsp8280.mbn"; 587*5f62a964SEmmanuel Vadot 588*5f62a964SEmmanuel Vadot status = "okay"; 589*5f62a964SEmmanuel Vadot}; 590*5f62a964SEmmanuel Vadot 591*5f62a964SEmmanuel Vadot&remoteproc_nsp0 { 592*5f62a964SEmmanuel Vadot firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qccdsp8280.mbn"; 593*5f62a964SEmmanuel Vadot 594*5f62a964SEmmanuel Vadot status = "okay"; 595*5f62a964SEmmanuel Vadot}; 596*5f62a964SEmmanuel Vadot 597*5f62a964SEmmanuel Vadot&rxmacro { 598*5f62a964SEmmanuel Vadot status = "okay"; 599*5f62a964SEmmanuel Vadot}; 600*5f62a964SEmmanuel Vadot 601*5f62a964SEmmanuel Vadot&sound { 602*5f62a964SEmmanuel Vadot compatible = "qcom,sc8280xp-sndcard"; 603*5f62a964SEmmanuel Vadot model = "SC8280XP-MICROSOFT-SURFACE-PRO-9-5G"; 604*5f62a964SEmmanuel Vadot audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT", 605*5f62a964SEmmanuel Vadot "SpkrRight IN", "WSA_SPK2 OUT", 606*5f62a964SEmmanuel Vadot "IN1_HPHL", "HPHL_OUT", 607*5f62a964SEmmanuel Vadot "IN2_HPHR", "HPHR_OUT", 608*5f62a964SEmmanuel Vadot "AMIC2", "MIC BIAS2", 609*5f62a964SEmmanuel Vadot "VA DMIC0", "MIC BIAS1", 610*5f62a964SEmmanuel Vadot "VA DMIC1", "MIC BIAS1", 611*5f62a964SEmmanuel Vadot "VA DMIC2", "MIC BIAS3", 612*5f62a964SEmmanuel Vadot "VA DMIC0", "VA MIC BIAS1", 613*5f62a964SEmmanuel Vadot "VA DMIC1", "VA MIC BIAS1", 614*5f62a964SEmmanuel Vadot "VA DMIC2", "VA MIC BIAS3", 615*5f62a964SEmmanuel Vadot "TX SWR_ADC1", "ADC2_OUTPUT"; 616*5f62a964SEmmanuel Vadot 617*5f62a964SEmmanuel Vadot wcd-playback-dai-link { 618*5f62a964SEmmanuel Vadot link-name = "WCD Playback"; 619*5f62a964SEmmanuel Vadot 620*5f62a964SEmmanuel Vadot cpu { 621*5f62a964SEmmanuel Vadot sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>; 622*5f62a964SEmmanuel Vadot }; 623*5f62a964SEmmanuel Vadot 624*5f62a964SEmmanuel Vadot codec { 625*5f62a964SEmmanuel Vadot sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>; 626*5f62a964SEmmanuel Vadot }; 627*5f62a964SEmmanuel Vadot 628*5f62a964SEmmanuel Vadot platform { 629*5f62a964SEmmanuel Vadot sound-dai = <&q6apm>; 630*5f62a964SEmmanuel Vadot }; 631*5f62a964SEmmanuel Vadot }; 632*5f62a964SEmmanuel Vadot 633*5f62a964SEmmanuel Vadot wcd-capture-dai-link { 634*5f62a964SEmmanuel Vadot link-name = "WCD Capture"; 635*5f62a964SEmmanuel Vadot 636*5f62a964SEmmanuel Vadot cpu { 637*5f62a964SEmmanuel Vadot sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>; 638*5f62a964SEmmanuel Vadot }; 639*5f62a964SEmmanuel Vadot 640*5f62a964SEmmanuel Vadot codec { 641*5f62a964SEmmanuel Vadot sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>; 642*5f62a964SEmmanuel Vadot }; 643*5f62a964SEmmanuel Vadot 644*5f62a964SEmmanuel Vadot platform { 645*5f62a964SEmmanuel Vadot sound-dai = <&q6apm>; 646*5f62a964SEmmanuel Vadot }; 647*5f62a964SEmmanuel Vadot }; 648*5f62a964SEmmanuel Vadot 649*5f62a964SEmmanuel Vadot wsa-dai-link { 650*5f62a964SEmmanuel Vadot link-name = "WSA Playback"; 651*5f62a964SEmmanuel Vadot 652*5f62a964SEmmanuel Vadot cpu { 653*5f62a964SEmmanuel Vadot sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>; 654*5f62a964SEmmanuel Vadot }; 655*5f62a964SEmmanuel Vadot 656*5f62a964SEmmanuel Vadot codec { 657*5f62a964SEmmanuel Vadot sound-dai = <&swr0 0>, <&wsamacro 0>; 658*5f62a964SEmmanuel Vadot }; 659*5f62a964SEmmanuel Vadot 660*5f62a964SEmmanuel Vadot platform { 661*5f62a964SEmmanuel Vadot sound-dai = <&q6apm>; 662*5f62a964SEmmanuel Vadot }; 663*5f62a964SEmmanuel Vadot }; 664*5f62a964SEmmanuel Vadot 665*5f62a964SEmmanuel Vadot va-dai-link { 666*5f62a964SEmmanuel Vadot link-name = "VA Capture"; 667*5f62a964SEmmanuel Vadot 668*5f62a964SEmmanuel Vadot cpu { 669*5f62a964SEmmanuel Vadot sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>; 670*5f62a964SEmmanuel Vadot }; 671*5f62a964SEmmanuel Vadot 672*5f62a964SEmmanuel Vadot platform { 673*5f62a964SEmmanuel Vadot sound-dai = <&q6apm>; 674*5f62a964SEmmanuel Vadot }; 675*5f62a964SEmmanuel Vadot 676*5f62a964SEmmanuel Vadot codec { 677*5f62a964SEmmanuel Vadot sound-dai = <&vamacro 0>; 678*5f62a964SEmmanuel Vadot }; 679*5f62a964SEmmanuel Vadot }; 680*5f62a964SEmmanuel Vadot}; 681*5f62a964SEmmanuel Vadot 682*5f62a964SEmmanuel Vadot&swr0 { 683*5f62a964SEmmanuel Vadot status = "okay"; 684*5f62a964SEmmanuel Vadot}; 685*5f62a964SEmmanuel Vadot 686*5f62a964SEmmanuel Vadot&swr1 { 687*5f62a964SEmmanuel Vadot status = "okay"; 688*5f62a964SEmmanuel Vadot 689*5f62a964SEmmanuel Vadot wcd_rx: codec@0,4 { 690*5f62a964SEmmanuel Vadot compatible = "sdw20217010d00"; 691*5f62a964SEmmanuel Vadot reg = <0 4>; 692*5f62a964SEmmanuel Vadot qcom,rx-port-mapping = <1 2 3 4 5>; 693*5f62a964SEmmanuel Vadot }; 694*5f62a964SEmmanuel Vadot}; 695*5f62a964SEmmanuel Vadot 696*5f62a964SEmmanuel Vadot&swr2 { 697*5f62a964SEmmanuel Vadot status = "okay"; 698*5f62a964SEmmanuel Vadot 699*5f62a964SEmmanuel Vadot wcd_tx: codec@0,3 { 700*5f62a964SEmmanuel Vadot compatible = "sdw20217010d00"; 701*5f62a964SEmmanuel Vadot reg = <0 3>; 702*5f62a964SEmmanuel Vadot qcom,tx-port-mapping = <1 1 2 3>; 703*5f62a964SEmmanuel Vadot }; 704*5f62a964SEmmanuel Vadot}; 705*5f62a964SEmmanuel Vadot 706*5f62a964SEmmanuel Vadot&txmacro { 707*5f62a964SEmmanuel Vadot status = "okay"; 708*5f62a964SEmmanuel Vadot}; 709*5f62a964SEmmanuel Vadot 710*5f62a964SEmmanuel Vadot&uart2 { 711*5f62a964SEmmanuel Vadot pinctrl-0 = <&uart2_default>; 712*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 713*5f62a964SEmmanuel Vadot 714*5f62a964SEmmanuel Vadot status = "okay"; 715*5f62a964SEmmanuel Vadot 716*5f62a964SEmmanuel Vadot bluetooth { 717*5f62a964SEmmanuel Vadot compatible = "qcom,wcn6855-bt"; 718*5f62a964SEmmanuel Vadot 719*5f62a964SEmmanuel Vadot vddio-supply = <&vreg_s10b>; 720*5f62a964SEmmanuel Vadot vddbtcxmx-supply = <&vreg_s12b>; 721*5f62a964SEmmanuel Vadot vddrfacmn-supply = <&vreg_s12b>; 722*5f62a964SEmmanuel Vadot vddrfa0p8-supply = <&vreg_s12b>; 723*5f62a964SEmmanuel Vadot vddrfa1p2-supply = <&vreg_s11b>; 724*5f62a964SEmmanuel Vadot vddrfa1p7-supply = <&vreg_s1c>; 725*5f62a964SEmmanuel Vadot 726*5f62a964SEmmanuel Vadot max-speed = <3200000>; 727*5f62a964SEmmanuel Vadot 728*5f62a964SEmmanuel Vadot enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>; 729*5f62a964SEmmanuel Vadot swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>; 730*5f62a964SEmmanuel Vadot 731*5f62a964SEmmanuel Vadot pinctrl-0 = <&bt_default>; 732*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 733*5f62a964SEmmanuel Vadot }; 734*5f62a964SEmmanuel Vadot}; 735*5f62a964SEmmanuel Vadot 736*5f62a964SEmmanuel Vadot&uart18 { 737*5f62a964SEmmanuel Vadot status = "okay"; 738*5f62a964SEmmanuel Vadot 739*5f62a964SEmmanuel Vadot embedded-controller { 740*5f62a964SEmmanuel Vadot compatible = "microsoft,surface-sam"; 741*5f62a964SEmmanuel Vadot 742*5f62a964SEmmanuel Vadot interrupts-extended = <&tlmm 85 IRQ_TYPE_EDGE_RISING>; 743*5f62a964SEmmanuel Vadot 744*5f62a964SEmmanuel Vadot current-speed = <4000000>; 745*5f62a964SEmmanuel Vadot 746*5f62a964SEmmanuel Vadot pinctrl-0 = <&ssam_state>; 747*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 748*5f62a964SEmmanuel Vadot }; 749*5f62a964SEmmanuel Vadot}; 750*5f62a964SEmmanuel Vadot 751*5f62a964SEmmanuel Vadot&usb_0 { 752*5f62a964SEmmanuel Vadot status = "okay"; 753*5f62a964SEmmanuel Vadot}; 754*5f62a964SEmmanuel Vadot 755*5f62a964SEmmanuel Vadot&usb_0_dwc3 { 756*5f62a964SEmmanuel Vadot dr_mode = "host"; 757*5f62a964SEmmanuel Vadot}; 758*5f62a964SEmmanuel Vadot 759*5f62a964SEmmanuel Vadot&usb_0_dwc3_hs { 760*5f62a964SEmmanuel Vadot remote-endpoint = <&pmic_glink_con0_hs>; 761*5f62a964SEmmanuel Vadot}; 762*5f62a964SEmmanuel Vadot 763*5f62a964SEmmanuel Vadot&usb_0_hsphy { 764*5f62a964SEmmanuel Vadot vdda-pll-supply = <&vreg_l9d>; 765*5f62a964SEmmanuel Vadot vdda18-supply = <&vreg_l1c>; 766*5f62a964SEmmanuel Vadot vdda33-supply = <&vreg_l7d>; 767*5f62a964SEmmanuel Vadot 768*5f62a964SEmmanuel Vadot status = "okay"; 769*5f62a964SEmmanuel Vadot}; 770*5f62a964SEmmanuel Vadot 771*5f62a964SEmmanuel Vadot&usb_0_qmpphy { 772*5f62a964SEmmanuel Vadot vdda-phy-supply = <&vreg_l9d>; 773*5f62a964SEmmanuel Vadot vdda-pll-supply = <&vreg_l4d>; 774*5f62a964SEmmanuel Vadot 775*5f62a964SEmmanuel Vadot orientation-switch; 776*5f62a964SEmmanuel Vadot 777*5f62a964SEmmanuel Vadot status = "okay"; 778*5f62a964SEmmanuel Vadot}; 779*5f62a964SEmmanuel Vadot 780*5f62a964SEmmanuel Vadot&usb_0_qmpphy_dp_in { 781*5f62a964SEmmanuel Vadot remote-endpoint = <&mdss0_dp0_out>; 782*5f62a964SEmmanuel Vadot}; 783*5f62a964SEmmanuel Vadot 784*5f62a964SEmmanuel Vadot&usb_0_qmpphy_out { 785*5f62a964SEmmanuel Vadot remote-endpoint = <&pmic_glink_con0_ss>; 786*5f62a964SEmmanuel Vadot}; 787*5f62a964SEmmanuel Vadot 788*5f62a964SEmmanuel Vadot&usb_1 { 789*5f62a964SEmmanuel Vadot status = "okay"; 790*5f62a964SEmmanuel Vadot}; 791*5f62a964SEmmanuel Vadot 792*5f62a964SEmmanuel Vadot&usb_1_dwc3 { 793*5f62a964SEmmanuel Vadot dr_mode = "host"; 794*5f62a964SEmmanuel Vadot}; 795*5f62a964SEmmanuel Vadot 796*5f62a964SEmmanuel Vadot&usb_1_dwc3_hs { 797*5f62a964SEmmanuel Vadot remote-endpoint = <&pmic_glink_con1_hs>; 798*5f62a964SEmmanuel Vadot}; 799*5f62a964SEmmanuel Vadot 800*5f62a964SEmmanuel Vadot&usb_1_hsphy { 801*5f62a964SEmmanuel Vadot vdda-pll-supply = <&vreg_l4b>; 802*5f62a964SEmmanuel Vadot vdda18-supply = <&vreg_l1c>; 803*5f62a964SEmmanuel Vadot vdda33-supply = <&vreg_l13c>; 804*5f62a964SEmmanuel Vadot 805*5f62a964SEmmanuel Vadot status = "okay"; 806*5f62a964SEmmanuel Vadot}; 807*5f62a964SEmmanuel Vadot 808*5f62a964SEmmanuel Vadot&usb_1_qmpphy { 809*5f62a964SEmmanuel Vadot vdda-phy-supply = <&vreg_l4b>; 810*5f62a964SEmmanuel Vadot vdda-pll-supply = <&vreg_l3b>; 811*5f62a964SEmmanuel Vadot 812*5f62a964SEmmanuel Vadot orientation-switch; 813*5f62a964SEmmanuel Vadot 814*5f62a964SEmmanuel Vadot status = "okay"; 815*5f62a964SEmmanuel Vadot}; 816*5f62a964SEmmanuel Vadot 817*5f62a964SEmmanuel Vadot&usb_1_qmpphy_dp_in { 818*5f62a964SEmmanuel Vadot remote-endpoint = <&mdss0_dp1_out>; 819*5f62a964SEmmanuel Vadot}; 820*5f62a964SEmmanuel Vadot 821*5f62a964SEmmanuel Vadot&usb_1_qmpphy_out { 822*5f62a964SEmmanuel Vadot remote-endpoint = <&pmic_glink_con1_ss>; 823*5f62a964SEmmanuel Vadot}; 824*5f62a964SEmmanuel Vadot 825*5f62a964SEmmanuel Vadot&vamacro { 826*5f62a964SEmmanuel Vadot pinctrl-0 = <&dmic01_default>, <&dmic23_default>; 827*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 828*5f62a964SEmmanuel Vadot 829*5f62a964SEmmanuel Vadot vdd-micb-supply = <&vreg_s10b>; 830*5f62a964SEmmanuel Vadot 831*5f62a964SEmmanuel Vadot qcom,dmic-sample-rate = <4800000>; 832*5f62a964SEmmanuel Vadot 833*5f62a964SEmmanuel Vadot status = "okay"; 834*5f62a964SEmmanuel Vadot}; 835*5f62a964SEmmanuel Vadot 836*5f62a964SEmmanuel Vadot&wsamacro { 837*5f62a964SEmmanuel Vadot status = "okay"; 838*5f62a964SEmmanuel Vadot}; 839*5f62a964SEmmanuel Vadot 840*5f62a964SEmmanuel Vadot&xo_board_clk { 841*5f62a964SEmmanuel Vadot clock-frequency = <38400000>; 842*5f62a964SEmmanuel Vadot}; 843*5f62a964SEmmanuel Vadot 844*5f62a964SEmmanuel Vadot/* PINCTRL */ 845*5f62a964SEmmanuel Vadot 846*5f62a964SEmmanuel Vadot&lpass_tlmm { 847*5f62a964SEmmanuel Vadot status = "okay"; 848*5f62a964SEmmanuel Vadot}; 849*5f62a964SEmmanuel Vadot 850*5f62a964SEmmanuel Vadot&pmc8280_2_gpios { 851*5f62a964SEmmanuel Vadot wwan_sw_en: wwan-sw-en-state { 852*5f62a964SEmmanuel Vadot pins = "gpio1"; 853*5f62a964SEmmanuel Vadot function = "normal"; 854*5f62a964SEmmanuel Vadot }; 855*5f62a964SEmmanuel Vadot}; 856*5f62a964SEmmanuel Vadot 857*5f62a964SEmmanuel Vadot&pmr735a_gpios { 858*5f62a964SEmmanuel Vadot hastings_reg_en: hastings-reg-en-state { 859*5f62a964SEmmanuel Vadot pins = "gpio1"; 860*5f62a964SEmmanuel Vadot function = "normal"; 861*5f62a964SEmmanuel Vadot }; 862*5f62a964SEmmanuel Vadot}; 863*5f62a964SEmmanuel Vadot 864*5f62a964SEmmanuel Vadot&tlmm { 865*5f62a964SEmmanuel Vadot bt_default: bt-default-state { 866*5f62a964SEmmanuel Vadot hstp-bt-en-pins { 867*5f62a964SEmmanuel Vadot pins = "gpio133"; 868*5f62a964SEmmanuel Vadot function = "gpio"; 869*5f62a964SEmmanuel Vadot drive-strength = <16>; 870*5f62a964SEmmanuel Vadot bias-disable; 871*5f62a964SEmmanuel Vadot }; 872*5f62a964SEmmanuel Vadot 873*5f62a964SEmmanuel Vadot hstp-sw-ctrl-pins { 874*5f62a964SEmmanuel Vadot pins = "gpio132"; 875*5f62a964SEmmanuel Vadot function = "gpio"; 876*5f62a964SEmmanuel Vadot bias-pull-down; 877*5f62a964SEmmanuel Vadot }; 878*5f62a964SEmmanuel Vadot }; 879*5f62a964SEmmanuel Vadot 880*5f62a964SEmmanuel Vadot nvme_reg_en: nvme-reg-en-state { 881*5f62a964SEmmanuel Vadot pins = "gpio135"; 882*5f62a964SEmmanuel Vadot function = "gpio"; 883*5f62a964SEmmanuel Vadot drive-strength = <2>; 884*5f62a964SEmmanuel Vadot bias-disable; 885*5f62a964SEmmanuel Vadot }; 886*5f62a964SEmmanuel Vadot 887*5f62a964SEmmanuel Vadot pcie2a_default: pcie2a-default-state { 888*5f62a964SEmmanuel Vadot clkreq-n-pins { 889*5f62a964SEmmanuel Vadot pins = "gpio142"; 890*5f62a964SEmmanuel Vadot function = "pcie2a_clkreq"; 891*5f62a964SEmmanuel Vadot drive-strength = <2>; 892*5f62a964SEmmanuel Vadot bias-pull-up; 893*5f62a964SEmmanuel Vadot }; 894*5f62a964SEmmanuel Vadot 895*5f62a964SEmmanuel Vadot perst-n-pins { 896*5f62a964SEmmanuel Vadot pins = "gpio143"; 897*5f62a964SEmmanuel Vadot function = "gpio"; 898*5f62a964SEmmanuel Vadot drive-strength = <2>; 899*5f62a964SEmmanuel Vadot bias-disable; 900*5f62a964SEmmanuel Vadot }; 901*5f62a964SEmmanuel Vadot 902*5f62a964SEmmanuel Vadot wake-n-pins { 903*5f62a964SEmmanuel Vadot pins = "gpio145"; 904*5f62a964SEmmanuel Vadot function = "gpio"; 905*5f62a964SEmmanuel Vadot drive-strength = <2>; 906*5f62a964SEmmanuel Vadot bias-pull-up; 907*5f62a964SEmmanuel Vadot }; 908*5f62a964SEmmanuel Vadot }; 909*5f62a964SEmmanuel Vadot 910*5f62a964SEmmanuel Vadot pcie3a_default: pcie3a-default-state { 911*5f62a964SEmmanuel Vadot clkreq-n-pins { 912*5f62a964SEmmanuel Vadot pins = "gpio150"; 913*5f62a964SEmmanuel Vadot function = "pcie3a_clkreq"; 914*5f62a964SEmmanuel Vadot drive-strength = <2>; 915*5f62a964SEmmanuel Vadot bias-pull-up; 916*5f62a964SEmmanuel Vadot }; 917*5f62a964SEmmanuel Vadot 918*5f62a964SEmmanuel Vadot perst-n-pins { 919*5f62a964SEmmanuel Vadot pins = "gpio151"; 920*5f62a964SEmmanuel Vadot function = "gpio"; 921*5f62a964SEmmanuel Vadot drive-strength = <2>; 922*5f62a964SEmmanuel Vadot bias-disable; 923*5f62a964SEmmanuel Vadot }; 924*5f62a964SEmmanuel Vadot 925*5f62a964SEmmanuel Vadot wake-n-pins { 926*5f62a964SEmmanuel Vadot pins = "gpio148"; 927*5f62a964SEmmanuel Vadot function = "gpio"; 928*5f62a964SEmmanuel Vadot drive-strength = <2>; 929*5f62a964SEmmanuel Vadot bias-pull-up; 930*5f62a964SEmmanuel Vadot }; 931*5f62a964SEmmanuel Vadot }; 932*5f62a964SEmmanuel Vadot 933*5f62a964SEmmanuel Vadot pcie4_default: pcie4-default-state { 934*5f62a964SEmmanuel Vadot clkreq-n-pins { 935*5f62a964SEmmanuel Vadot pins = "gpio140"; 936*5f62a964SEmmanuel Vadot function = "pcie4_clkreq"; 937*5f62a964SEmmanuel Vadot drive-strength = <2>; 938*5f62a964SEmmanuel Vadot bias-pull-up; 939*5f62a964SEmmanuel Vadot }; 940*5f62a964SEmmanuel Vadot 941*5f62a964SEmmanuel Vadot perst-n-pins { 942*5f62a964SEmmanuel Vadot pins = "gpio141"; 943*5f62a964SEmmanuel Vadot function = "gpio"; 944*5f62a964SEmmanuel Vadot drive-strength = <2>; 945*5f62a964SEmmanuel Vadot bias-disable; 946*5f62a964SEmmanuel Vadot }; 947*5f62a964SEmmanuel Vadot 948*5f62a964SEmmanuel Vadot wake-n-pins { 949*5f62a964SEmmanuel Vadot pins = "gpio139"; 950*5f62a964SEmmanuel Vadot function = "gpio"; 951*5f62a964SEmmanuel Vadot drive-strength = <2>; 952*5f62a964SEmmanuel Vadot bias-pull-up; 953*5f62a964SEmmanuel Vadot }; 954*5f62a964SEmmanuel Vadot }; 955*5f62a964SEmmanuel Vadot 956*5f62a964SEmmanuel Vadot 957*5f62a964SEmmanuel Vadot ssam_state: ssam-state-state { 958*5f62a964SEmmanuel Vadot pins = "gpio85"; 959*5f62a964SEmmanuel Vadot function = "gpio"; 960*5f62a964SEmmanuel Vadot bias-disable; 961*5f62a964SEmmanuel Vadot }; 962*5f62a964SEmmanuel Vadot 963*5f62a964SEmmanuel Vadot uart2_default: uart2-default-state { 964*5f62a964SEmmanuel Vadot cts-pins { 965*5f62a964SEmmanuel Vadot pins = "gpio121"; 966*5f62a964SEmmanuel Vadot function = "qup2"; 967*5f62a964SEmmanuel Vadot bias-bus-hold; 968*5f62a964SEmmanuel Vadot }; 969*5f62a964SEmmanuel Vadot 970*5f62a964SEmmanuel Vadot rts-pins { 971*5f62a964SEmmanuel Vadot pins = "gpio122"; 972*5f62a964SEmmanuel Vadot function = "qup2"; 973*5f62a964SEmmanuel Vadot drive-strength = <2>; 974*5f62a964SEmmanuel Vadot bias-disable; 975*5f62a964SEmmanuel Vadot }; 976*5f62a964SEmmanuel Vadot 977*5f62a964SEmmanuel Vadot rx-pins { 978*5f62a964SEmmanuel Vadot pins = "gpio124"; 979*5f62a964SEmmanuel Vadot function = "qup2"; 980*5f62a964SEmmanuel Vadot bias-pull-up; 981*5f62a964SEmmanuel Vadot }; 982*5f62a964SEmmanuel Vadot 983*5f62a964SEmmanuel Vadot tx-pins { 984*5f62a964SEmmanuel Vadot pins = "gpio123"; 985*5f62a964SEmmanuel Vadot function = "qup2"; 986*5f62a964SEmmanuel Vadot drive-strength = <2>; 987*5f62a964SEmmanuel Vadot bias-disable; 988*5f62a964SEmmanuel Vadot }; 989*5f62a964SEmmanuel Vadot }; 990*5f62a964SEmmanuel Vadot 991*5f62a964SEmmanuel Vadot usb0_sbu_default: usb0-sbu-state { 992*5f62a964SEmmanuel Vadot oe-n-pins { 993*5f62a964SEmmanuel Vadot pins = "gpio101"; 994*5f62a964SEmmanuel Vadot function = "gpio"; 995*5f62a964SEmmanuel Vadot bias-disable; 996*5f62a964SEmmanuel Vadot drive-strength = <16>; 997*5f62a964SEmmanuel Vadot output-high; 998*5f62a964SEmmanuel Vadot }; 999*5f62a964SEmmanuel Vadot 1000*5f62a964SEmmanuel Vadot sel-pins { 1001*5f62a964SEmmanuel Vadot pins = "gpio164"; 1002*5f62a964SEmmanuel Vadot function = "gpio"; 1003*5f62a964SEmmanuel Vadot bias-disable; 1004*5f62a964SEmmanuel Vadot drive-strength = <16>; 1005*5f62a964SEmmanuel Vadot }; 1006*5f62a964SEmmanuel Vadot }; 1007*5f62a964SEmmanuel Vadot 1008*5f62a964SEmmanuel Vadot usb1_sbu_default: usb1-sbu-state { 1009*5f62a964SEmmanuel Vadot oe-n-pins { 1010*5f62a964SEmmanuel Vadot pins = "gpio48"; 1011*5f62a964SEmmanuel Vadot function = "gpio"; 1012*5f62a964SEmmanuel Vadot bias-disable; 1013*5f62a964SEmmanuel Vadot drive-strength = <16>; 1014*5f62a964SEmmanuel Vadot output-high; 1015*5f62a964SEmmanuel Vadot }; 1016*5f62a964SEmmanuel Vadot 1017*5f62a964SEmmanuel Vadot sel-pins { 1018*5f62a964SEmmanuel Vadot pins = "gpio47"; 1019*5f62a964SEmmanuel Vadot function = "gpio"; 1020*5f62a964SEmmanuel Vadot bias-disable; 1021*5f62a964SEmmanuel Vadot drive-strength = <16>; 1022*5f62a964SEmmanuel Vadot }; 1023*5f62a964SEmmanuel Vadot }; 1024*5f62a964SEmmanuel Vadot 1025*5f62a964SEmmanuel Vadot wcd_default: wcd-default-state { 1026*5f62a964SEmmanuel Vadot reset-pins { 1027*5f62a964SEmmanuel Vadot pins = "gpio106"; 1028*5f62a964SEmmanuel Vadot function = "gpio"; 1029*5f62a964SEmmanuel Vadot bias-disable; 1030*5f62a964SEmmanuel Vadot }; 1031*5f62a964SEmmanuel Vadot }; 1032*5f62a964SEmmanuel Vadot}; 1033