xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/sc8280xp-microsoft-arcata.dts (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
15f62a964SEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause
25f62a964SEmmanuel Vadot/*
35f62a964SEmmanuel Vadot * Copyright (c) 2024, Jérôme de Bretagne <jerome.debretagne@gmail.com>
45f62a964SEmmanuel Vadot */
55f62a964SEmmanuel Vadot
65f62a964SEmmanuel Vadot/dts-v1/;
75f62a964SEmmanuel Vadot
85f62a964SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
95f62a964SEmmanuel Vadot#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
105f62a964SEmmanuel Vadot
115f62a964SEmmanuel Vadot#include "sc8280xp.dtsi"
125f62a964SEmmanuel Vadot#include "sc8280xp-pmics.dtsi"
135f62a964SEmmanuel Vadot
145f62a964SEmmanuel Vadot/ {
155f62a964SEmmanuel Vadot	model = "Microsoft Surface Pro 9 5G";
165f62a964SEmmanuel Vadot	compatible = "microsoft,arcata", "qcom,sc8280xp";
175f62a964SEmmanuel Vadot
185f62a964SEmmanuel Vadot	aliases {
195f62a964SEmmanuel Vadot		serial0 = &uart18;
205f62a964SEmmanuel Vadot		serial1 = &uart2;
215f62a964SEmmanuel Vadot	};
225f62a964SEmmanuel Vadot
235f62a964SEmmanuel Vadot	wcd938x: audio-codec {
245f62a964SEmmanuel Vadot		compatible = "qcom,wcd9380-codec";
255f62a964SEmmanuel Vadot
265f62a964SEmmanuel Vadot		pinctrl-0 = <&wcd_default>;
275f62a964SEmmanuel Vadot		pinctrl-names = "default";
285f62a964SEmmanuel Vadot
295f62a964SEmmanuel Vadot		reset-gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
305f62a964SEmmanuel Vadot
315f62a964SEmmanuel Vadot		vdd-buck-supply = <&vreg_s10b>;
325f62a964SEmmanuel Vadot		vdd-rxtx-supply = <&vreg_s10b>;
335f62a964SEmmanuel Vadot		vdd-io-supply = <&vreg_s10b>;
345f62a964SEmmanuel Vadot		vdd-mic-bias-supply = <&vreg_bob>;
355f62a964SEmmanuel Vadot
365f62a964SEmmanuel Vadot		qcom,micbias1-microvolt = <1800000>;
375f62a964SEmmanuel Vadot		qcom,micbias2-microvolt = <1800000>;
385f62a964SEmmanuel Vadot		qcom,micbias3-microvolt = <1800000>;
395f62a964SEmmanuel Vadot		qcom,micbias4-microvolt = <1800000>;
405f62a964SEmmanuel Vadot		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
415f62a964SEmmanuel Vadot		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
425f62a964SEmmanuel Vadot		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
435f62a964SEmmanuel Vadot		qcom,rx-device = <&wcd_rx>;
445f62a964SEmmanuel Vadot		qcom,tx-device = <&wcd_tx>;
455f62a964SEmmanuel Vadot
465f62a964SEmmanuel Vadot		#sound-dai-cells = <1>;
475f62a964SEmmanuel Vadot	};
485f62a964SEmmanuel Vadot
495f62a964SEmmanuel Vadot	pmic-glink {
505f62a964SEmmanuel Vadot		compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
515f62a964SEmmanuel Vadot
525f62a964SEmmanuel Vadot		#address-cells = <1>;
535f62a964SEmmanuel Vadot		#size-cells = <0>;
545f62a964SEmmanuel Vadot
555f62a964SEmmanuel Vadot		/* Left-side top port */
565f62a964SEmmanuel Vadot		connector@0 {
575f62a964SEmmanuel Vadot			compatible = "usb-c-connector";
585f62a964SEmmanuel Vadot			reg = <0>;
595f62a964SEmmanuel Vadot			power-role = "dual";
605f62a964SEmmanuel Vadot			data-role = "dual";
615f62a964SEmmanuel Vadot
625f62a964SEmmanuel Vadot			ports {
635f62a964SEmmanuel Vadot				#address-cells = <1>;
645f62a964SEmmanuel Vadot				#size-cells = <0>;
655f62a964SEmmanuel Vadot
665f62a964SEmmanuel Vadot				port@0 {
675f62a964SEmmanuel Vadot					reg = <0>;
685f62a964SEmmanuel Vadot
695f62a964SEmmanuel Vadot					pmic_glink_con0_hs: endpoint {
705f62a964SEmmanuel Vadot						remote-endpoint = <&usb_0_dwc3_hs>;
715f62a964SEmmanuel Vadot					};
725f62a964SEmmanuel Vadot				};
735f62a964SEmmanuel Vadot
745f62a964SEmmanuel Vadot				port@1 {
755f62a964SEmmanuel Vadot					reg = <1>;
765f62a964SEmmanuel Vadot
775f62a964SEmmanuel Vadot					pmic_glink_con0_ss: endpoint {
785f62a964SEmmanuel Vadot						remote-endpoint = <&usb_0_qmpphy_out>;
795f62a964SEmmanuel Vadot					};
805f62a964SEmmanuel Vadot				};
815f62a964SEmmanuel Vadot
825f62a964SEmmanuel Vadot				port@2 {
835f62a964SEmmanuel Vadot					reg = <2>;
845f62a964SEmmanuel Vadot
855f62a964SEmmanuel Vadot					pmic_glink_con0_sbu: endpoint {
865f62a964SEmmanuel Vadot						remote-endpoint = <&usb0_sbu_mux>;
875f62a964SEmmanuel Vadot					};
885f62a964SEmmanuel Vadot				};
895f62a964SEmmanuel Vadot			};
905f62a964SEmmanuel Vadot		};
915f62a964SEmmanuel Vadot
925f62a964SEmmanuel Vadot		/* Left-side bottom port */
935f62a964SEmmanuel Vadot		connector@1 {
945f62a964SEmmanuel Vadot			compatible = "usb-c-connector";
955f62a964SEmmanuel Vadot			reg = <1>;
965f62a964SEmmanuel Vadot			power-role = "dual";
975f62a964SEmmanuel Vadot			data-role = "dual";
985f62a964SEmmanuel Vadot
995f62a964SEmmanuel Vadot			ports {
1005f62a964SEmmanuel Vadot				#address-cells = <1>;
1015f62a964SEmmanuel Vadot				#size-cells = <0>;
1025f62a964SEmmanuel Vadot
1035f62a964SEmmanuel Vadot				port@0 {
1045f62a964SEmmanuel Vadot					reg = <0>;
1055f62a964SEmmanuel Vadot
1065f62a964SEmmanuel Vadot					pmic_glink_con1_hs: endpoint {
1075f62a964SEmmanuel Vadot						remote-endpoint = <&usb_1_dwc3_hs>;
1085f62a964SEmmanuel Vadot					};
1095f62a964SEmmanuel Vadot				};
1105f62a964SEmmanuel Vadot
1115f62a964SEmmanuel Vadot				port@1 {
1125f62a964SEmmanuel Vadot					reg = <1>;
1135f62a964SEmmanuel Vadot
1145f62a964SEmmanuel Vadot					pmic_glink_con1_ss: endpoint {
1155f62a964SEmmanuel Vadot						remote-endpoint = <&usb_1_qmpphy_out>;
1165f62a964SEmmanuel Vadot					};
1175f62a964SEmmanuel Vadot				};
1185f62a964SEmmanuel Vadot
1195f62a964SEmmanuel Vadot				port@2 {
1205f62a964SEmmanuel Vadot					reg = <2>;
1215f62a964SEmmanuel Vadot
1225f62a964SEmmanuel Vadot					pmic_glink_con1_sbu: endpoint {
1235f62a964SEmmanuel Vadot						remote-endpoint = <&usb1_sbu_mux>;
1245f62a964SEmmanuel Vadot					};
1255f62a964SEmmanuel Vadot				};
1265f62a964SEmmanuel Vadot			};
1275f62a964SEmmanuel Vadot		};
1285f62a964SEmmanuel Vadot	};
1295f62a964SEmmanuel Vadot
1305f62a964SEmmanuel Vadot	vreg_nvme: regulator-nvme {
1315f62a964SEmmanuel Vadot		compatible = "regulator-fixed";
1325f62a964SEmmanuel Vadot
1335f62a964SEmmanuel Vadot		regulator-name = "VCC3_SSD";
1345f62a964SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
1355f62a964SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
1365f62a964SEmmanuel Vadot
1375f62a964SEmmanuel Vadot		gpio = <&tlmm 135 GPIO_ACTIVE_HIGH>;
1385f62a964SEmmanuel Vadot		enable-active-high;
1395f62a964SEmmanuel Vadot
1405f62a964SEmmanuel Vadot		pinctrl-0 = <&nvme_reg_en>;
1415f62a964SEmmanuel Vadot		pinctrl-names = "default";
1425f62a964SEmmanuel Vadot
1435f62a964SEmmanuel Vadot		regulator-boot-on;
1445f62a964SEmmanuel Vadot	};
1455f62a964SEmmanuel Vadot
1465f62a964SEmmanuel Vadot	vreg_vph_pwr: regulator-vph-pwr {
1475f62a964SEmmanuel Vadot		compatible = "regulator-fixed";
1485f62a964SEmmanuel Vadot
1495f62a964SEmmanuel Vadot		regulator-name = "VPH_VCC3R9";
1505f62a964SEmmanuel Vadot		regulator-min-microvolt = <3900000>;
1515f62a964SEmmanuel Vadot		regulator-max-microvolt = <3900000>;
1525f62a964SEmmanuel Vadot
1535f62a964SEmmanuel Vadot		regulator-always-on;
1545f62a964SEmmanuel Vadot	};
1555f62a964SEmmanuel Vadot
1565f62a964SEmmanuel Vadot	vreg_wlan: regulator-wlan {
1575f62a964SEmmanuel Vadot		compatible = "regulator-fixed";
1585f62a964SEmmanuel Vadot
1595f62a964SEmmanuel Vadot		regulator-name = "VCC_WLAN_3R9";
1605f62a964SEmmanuel Vadot		regulator-min-microvolt = <3900000>;
1615f62a964SEmmanuel Vadot		regulator-max-microvolt = <3900000>;
1625f62a964SEmmanuel Vadot
1635f62a964SEmmanuel Vadot		gpio = <&pmr735a_gpios 1 GPIO_ACTIVE_HIGH>;
1645f62a964SEmmanuel Vadot		enable-active-high;
1655f62a964SEmmanuel Vadot
1665f62a964SEmmanuel Vadot		pinctrl-0 = <&hastings_reg_en>;
1675f62a964SEmmanuel Vadot		pinctrl-names = "default";
1685f62a964SEmmanuel Vadot
1695f62a964SEmmanuel Vadot		regulator-boot-on;
1705f62a964SEmmanuel Vadot	};
1715f62a964SEmmanuel Vadot
1725f62a964SEmmanuel Vadot	vreg_wwan: regulator-wwan {
1735f62a964SEmmanuel Vadot		compatible = "regulator-fixed";
1745f62a964SEmmanuel Vadot
1755f62a964SEmmanuel Vadot		regulator-name = "VCC3B_WAN";
1765f62a964SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
1775f62a964SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
1785f62a964SEmmanuel Vadot
1795f62a964SEmmanuel Vadot		gpio = <&pmc8280_2_gpios 1 GPIO_ACTIVE_HIGH>;
1805f62a964SEmmanuel Vadot		enable-active-high;
1815f62a964SEmmanuel Vadot
1825f62a964SEmmanuel Vadot		pinctrl-0 = <&wwan_sw_en>;
1835f62a964SEmmanuel Vadot		pinctrl-names = "default";
1845f62a964SEmmanuel Vadot
1855f62a964SEmmanuel Vadot		regulator-boot-on;
1865f62a964SEmmanuel Vadot	};
1875f62a964SEmmanuel Vadot
1885f62a964SEmmanuel Vadot	reserved-memory {
1895f62a964SEmmanuel Vadot		gpu_mem: gpu-mem@8bf00000 {
1905f62a964SEmmanuel Vadot			reg = <0 0x8bf00000 0 0x2000>;
1915f62a964SEmmanuel Vadot			no-map;
1925f62a964SEmmanuel Vadot		};
1935f62a964SEmmanuel Vadot
1945f62a964SEmmanuel Vadot		linux,cma {
1955f62a964SEmmanuel Vadot			compatible = "shared-dma-pool";
1965f62a964SEmmanuel Vadot			size = <0x0 0x8000000>;
1975f62a964SEmmanuel Vadot			reusable;
1985f62a964SEmmanuel Vadot			linux,cma-default;
1995f62a964SEmmanuel Vadot		};
2005f62a964SEmmanuel Vadot	};
2015f62a964SEmmanuel Vadot
2025f62a964SEmmanuel Vadot	thermal-zones {
2035f62a964SEmmanuel Vadot		skin-temp-thermal {
2045f62a964SEmmanuel Vadot			polling-delay-passive = <250>;
2055f62a964SEmmanuel Vadot
2065f62a964SEmmanuel Vadot			thermal-sensors = <&pmk8280_adc_tm 5>;
2075f62a964SEmmanuel Vadot
2085f62a964SEmmanuel Vadot			trips {
2095f62a964SEmmanuel Vadot				skin_temp_alert0: trip-point0 {
2105f62a964SEmmanuel Vadot					temperature = <55000>;
2115f62a964SEmmanuel Vadot					hysteresis = <1000>;
2125f62a964SEmmanuel Vadot					type = "passive";
2135f62a964SEmmanuel Vadot				};
2145f62a964SEmmanuel Vadot
2155f62a964SEmmanuel Vadot				skin_temp_alert1: trip-point1 {
2165f62a964SEmmanuel Vadot					temperature = <58000>;
2175f62a964SEmmanuel Vadot					hysteresis = <1000>;
2185f62a964SEmmanuel Vadot					type = "passive";
2195f62a964SEmmanuel Vadot				};
2205f62a964SEmmanuel Vadot
2215f62a964SEmmanuel Vadot				skin-temp-crit {
2225f62a964SEmmanuel Vadot					temperature = <73000>;
2235f62a964SEmmanuel Vadot					hysteresis = <1000>;
2245f62a964SEmmanuel Vadot					type = "critical";
2255f62a964SEmmanuel Vadot				};
2265f62a964SEmmanuel Vadot			};
2275f62a964SEmmanuel Vadot
2285f62a964SEmmanuel Vadot			cooling-maps {
2295f62a964SEmmanuel Vadot				map0 {
2305f62a964SEmmanuel Vadot					trip = <&skin_temp_alert0>;
2315f62a964SEmmanuel Vadot					cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2325f62a964SEmmanuel Vadot							 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2335f62a964SEmmanuel Vadot							 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2345f62a964SEmmanuel Vadot							 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2355f62a964SEmmanuel Vadot				};
2365f62a964SEmmanuel Vadot
2375f62a964SEmmanuel Vadot				map1 {
2385f62a964SEmmanuel Vadot					trip = <&skin_temp_alert1>;
2395f62a964SEmmanuel Vadot					cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2405f62a964SEmmanuel Vadot							 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2415f62a964SEmmanuel Vadot							 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2425f62a964SEmmanuel Vadot							 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2435f62a964SEmmanuel Vadot				};
2445f62a964SEmmanuel Vadot			};
2455f62a964SEmmanuel Vadot		};
2465f62a964SEmmanuel Vadot	};
2475f62a964SEmmanuel Vadot
2485f62a964SEmmanuel Vadot	usb0-sbu-mux {
2495f62a964SEmmanuel Vadot		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
2505f62a964SEmmanuel Vadot
2515f62a964SEmmanuel Vadot		enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
2525f62a964SEmmanuel Vadot		select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
2535f62a964SEmmanuel Vadot
2545f62a964SEmmanuel Vadot		pinctrl-0 = <&usb0_sbu_default>;
2555f62a964SEmmanuel Vadot		pinctrl-names = "default";
2565f62a964SEmmanuel Vadot
2575f62a964SEmmanuel Vadot		mode-switch;
2585f62a964SEmmanuel Vadot		orientation-switch;
2595f62a964SEmmanuel Vadot
2605f62a964SEmmanuel Vadot		port {
2615f62a964SEmmanuel Vadot			usb0_sbu_mux: endpoint {
2625f62a964SEmmanuel Vadot				remote-endpoint = <&pmic_glink_con0_sbu>;
2635f62a964SEmmanuel Vadot			};
2645f62a964SEmmanuel Vadot		};
2655f62a964SEmmanuel Vadot	};
2665f62a964SEmmanuel Vadot
2675f62a964SEmmanuel Vadot	usb1-sbu-mux {
2685f62a964SEmmanuel Vadot		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
2695f62a964SEmmanuel Vadot
2705f62a964SEmmanuel Vadot		enable-gpios = <&tlmm 48 GPIO_ACTIVE_LOW>;
2715f62a964SEmmanuel Vadot		select-gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
2725f62a964SEmmanuel Vadot
2735f62a964SEmmanuel Vadot		pinctrl-0 = <&usb1_sbu_default>;
2745f62a964SEmmanuel Vadot		pinctrl-names = "default";
2755f62a964SEmmanuel Vadot
2765f62a964SEmmanuel Vadot		mode-switch;
2775f62a964SEmmanuel Vadot		orientation-switch;
2785f62a964SEmmanuel Vadot
2795f62a964SEmmanuel Vadot		port {
2805f62a964SEmmanuel Vadot			usb1_sbu_mux: endpoint {
2815f62a964SEmmanuel Vadot				remote-endpoint = <&pmic_glink_con1_sbu>;
2825f62a964SEmmanuel Vadot			};
2835f62a964SEmmanuel Vadot		};
2845f62a964SEmmanuel Vadot	};
2855f62a964SEmmanuel Vadot};
2865f62a964SEmmanuel Vadot
2875f62a964SEmmanuel Vadot&apps_rsc {
2885f62a964SEmmanuel Vadot	regulators-0 {
2895f62a964SEmmanuel Vadot		compatible = "qcom,pm8350-rpmh-regulators";
2905f62a964SEmmanuel Vadot		qcom,pmic-id = "b";
2915f62a964SEmmanuel Vadot
2925f62a964SEmmanuel Vadot		vdd-l1-l4-supply = <&vreg_s12b>;
2935f62a964SEmmanuel Vadot		vdd-l2-l7-supply = <&vreg_bob>;
2945f62a964SEmmanuel Vadot		vdd-l3-l5-supply = <&vreg_s11b>;
2955f62a964SEmmanuel Vadot		vdd-l6-l9-l10-supply = <&vreg_s12b>;
2965f62a964SEmmanuel Vadot		vdd-l8-supply = <&vreg_s12b>;
2975f62a964SEmmanuel Vadot
2985f62a964SEmmanuel Vadot		vreg_s10b: smps10 {
2995f62a964SEmmanuel Vadot			regulator-name = "vreg_s10b";
3005f62a964SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
3015f62a964SEmmanuel Vadot			regulator-max-microvolt = <1800000>;
3025f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3035f62a964SEmmanuel Vadot			regulator-always-on;
3045f62a964SEmmanuel Vadot		};
3055f62a964SEmmanuel Vadot
3065f62a964SEmmanuel Vadot		vreg_s11b: smps11 {
3075f62a964SEmmanuel Vadot			regulator-name = "vreg_s11b";
3085f62a964SEmmanuel Vadot			regulator-min-microvolt = <1272000>;
3095f62a964SEmmanuel Vadot			regulator-max-microvolt = <1272000>;
3105f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3115f62a964SEmmanuel Vadot			regulator-always-on;
3125f62a964SEmmanuel Vadot		};
3135f62a964SEmmanuel Vadot
3145f62a964SEmmanuel Vadot		vreg_s12b: smps12 {
3155f62a964SEmmanuel Vadot			regulator-name = "vreg_s12b";
3165f62a964SEmmanuel Vadot			regulator-min-microvolt = <984000>;
3175f62a964SEmmanuel Vadot			regulator-max-microvolt = <984000>;
3185f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3195f62a964SEmmanuel Vadot			regulator-always-on;
3205f62a964SEmmanuel Vadot		};
3215f62a964SEmmanuel Vadot
3225f62a964SEmmanuel Vadot		vreg_l3b: ldo3 {
3235f62a964SEmmanuel Vadot			regulator-name = "vreg_l3b";
3245f62a964SEmmanuel Vadot			regulator-min-microvolt = <1200000>;
3255f62a964SEmmanuel Vadot			regulator-max-microvolt = <1200000>;
3265f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3275f62a964SEmmanuel Vadot			regulator-boot-on;
3285f62a964SEmmanuel Vadot		};
3295f62a964SEmmanuel Vadot
3305f62a964SEmmanuel Vadot		vreg_l4b: ldo4 {
3315f62a964SEmmanuel Vadot			regulator-name = "vreg_l4b";
3325f62a964SEmmanuel Vadot			regulator-min-microvolt = <912000>;
3335f62a964SEmmanuel Vadot			regulator-max-microvolt = <912000>;
3345f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3355f62a964SEmmanuel Vadot		};
3365f62a964SEmmanuel Vadot
3375f62a964SEmmanuel Vadot		vreg_l6b: ldo6 {
3385f62a964SEmmanuel Vadot			regulator-name = "vreg_l6b";
3395f62a964SEmmanuel Vadot			regulator-min-microvolt = <880000>;
3405f62a964SEmmanuel Vadot			regulator-max-microvolt = <880000>;
3415f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3425f62a964SEmmanuel Vadot			regulator-boot-on;
3435f62a964SEmmanuel Vadot			regulator-always-on;	// FIXME: VDD_A_EDP_0_0P9
3445f62a964SEmmanuel Vadot		};
3455f62a964SEmmanuel Vadot	};
3465f62a964SEmmanuel Vadot
3475f62a964SEmmanuel Vadot	regulators-1 {
3485f62a964SEmmanuel Vadot		compatible = "qcom,pm8350c-rpmh-regulators";
3495f62a964SEmmanuel Vadot		qcom,pmic-id = "c";
3505f62a964SEmmanuel Vadot
3515f62a964SEmmanuel Vadot		vdd-bob-supply = <&vreg_vph_pwr>;
3525f62a964SEmmanuel Vadot		vdd-l1-l12-supply = <&vreg_s1c>;
3535f62a964SEmmanuel Vadot		vdd-l2-l8-supply = <&vreg_s1c>;
3545f62a964SEmmanuel Vadot		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
3555f62a964SEmmanuel Vadot		vdd-l6-l9-l11-supply = <&vreg_bob>;
3565f62a964SEmmanuel Vadot		vdd-l10-supply = <&vreg_s11b>;
3575f62a964SEmmanuel Vadot
3585f62a964SEmmanuel Vadot		vreg_s1c: smps1 {
3595f62a964SEmmanuel Vadot			regulator-name = "vreg_s1c";
3605f62a964SEmmanuel Vadot			regulator-min-microvolt = <1880000>;
3615f62a964SEmmanuel Vadot			regulator-max-microvolt = <1900000>;
3625f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3635f62a964SEmmanuel Vadot			regulator-always-on;
3645f62a964SEmmanuel Vadot		};
3655f62a964SEmmanuel Vadot
3665f62a964SEmmanuel Vadot		vreg_l1c: ldo1 {
3675f62a964SEmmanuel Vadot			regulator-name = "vreg_l1c";
3685f62a964SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
3695f62a964SEmmanuel Vadot			regulator-max-microvolt = <1800000>;
3705f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3715f62a964SEmmanuel Vadot		};
3725f62a964SEmmanuel Vadot
3735f62a964SEmmanuel Vadot		vreg_l12c: ldo12 {
3745f62a964SEmmanuel Vadot			regulator-name = "vreg_l12c";
3755f62a964SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
3765f62a964SEmmanuel Vadot			regulator-max-microvolt = <1800000>;
3775f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3785f62a964SEmmanuel Vadot		};
3795f62a964SEmmanuel Vadot
3805f62a964SEmmanuel Vadot		vreg_l13c: ldo13 {
3815f62a964SEmmanuel Vadot			regulator-name = "vreg_l13c";
3825f62a964SEmmanuel Vadot			regulator-min-microvolt = <3072000>;
3835f62a964SEmmanuel Vadot			regulator-max-microvolt = <3072000>;
3845f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3855f62a964SEmmanuel Vadot		};
3865f62a964SEmmanuel Vadot
3875f62a964SEmmanuel Vadot		vreg_bob: bob {
3885f62a964SEmmanuel Vadot			regulator-name = "vreg_bob";
3895f62a964SEmmanuel Vadot			regulator-min-microvolt = <3008000>;
3905f62a964SEmmanuel Vadot			regulator-max-microvolt = <3960000>;
3915f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
3925f62a964SEmmanuel Vadot			regulator-always-on;
3935f62a964SEmmanuel Vadot		};
3945f62a964SEmmanuel Vadot	};
3955f62a964SEmmanuel Vadot
3965f62a964SEmmanuel Vadot	regulators-2 {
3975f62a964SEmmanuel Vadot		compatible = "qcom,pm8350-rpmh-regulators";
3985f62a964SEmmanuel Vadot		qcom,pmic-id = "d";
3995f62a964SEmmanuel Vadot
4005f62a964SEmmanuel Vadot		vdd-l1-l4-supply = <&vreg_s11b>;
4015f62a964SEmmanuel Vadot		vdd-l2-l7-supply = <&vreg_bob>;
4025f62a964SEmmanuel Vadot		vdd-l3-l5-supply = <&vreg_s11b>;
4035f62a964SEmmanuel Vadot		vdd-l6-l9-l10-supply = <&vreg_s12b>;
4045f62a964SEmmanuel Vadot		vdd-l8-supply = <&vreg_s12b>;
4055f62a964SEmmanuel Vadot
4065f62a964SEmmanuel Vadot		vreg_l3d: ldo3 {
4075f62a964SEmmanuel Vadot			regulator-name = "vreg_l3d";
4085f62a964SEmmanuel Vadot			regulator-min-microvolt = <1200000>;
4095f62a964SEmmanuel Vadot			regulator-max-microvolt = <1200000>;
4105f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4115f62a964SEmmanuel Vadot		};
4125f62a964SEmmanuel Vadot
4135f62a964SEmmanuel Vadot		vreg_l4d: ldo4 {
4145f62a964SEmmanuel Vadot			regulator-name = "vreg_l4d";
4155f62a964SEmmanuel Vadot			regulator-min-microvolt = <1200000>;
4165f62a964SEmmanuel Vadot			regulator-max-microvolt = <1200000>;
4175f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4185f62a964SEmmanuel Vadot		};
4195f62a964SEmmanuel Vadot
4205f62a964SEmmanuel Vadot		vreg_l6d: ldo6 {
4215f62a964SEmmanuel Vadot			regulator-name = "vreg_l6d";
4225f62a964SEmmanuel Vadot			regulator-min-microvolt = <880000>;
4235f62a964SEmmanuel Vadot			regulator-max-microvolt = <880000>;
4245f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4255f62a964SEmmanuel Vadot		};
4265f62a964SEmmanuel Vadot
4275f62a964SEmmanuel Vadot		vreg_l7d: ldo7 {
4285f62a964SEmmanuel Vadot			regulator-name = "vreg_l7d";
4295f62a964SEmmanuel Vadot			regulator-min-microvolt = <3072000>;
4305f62a964SEmmanuel Vadot			regulator-max-microvolt = <3072000>;
4315f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4325f62a964SEmmanuel Vadot		};
4335f62a964SEmmanuel Vadot
4345f62a964SEmmanuel Vadot		vreg_l9d: ldo9 {
4355f62a964SEmmanuel Vadot			regulator-name = "vreg_l9d";
4365f62a964SEmmanuel Vadot			regulator-min-microvolt = <912000>;
4375f62a964SEmmanuel Vadot			regulator-max-microvolt = <912000>;
4385f62a964SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4395f62a964SEmmanuel Vadot		};
4405f62a964SEmmanuel Vadot	};
4415f62a964SEmmanuel Vadot};
4425f62a964SEmmanuel Vadot
4435f62a964SEmmanuel Vadot&dispcc0 {
4445f62a964SEmmanuel Vadot	status = "okay";
4455f62a964SEmmanuel Vadot};
4465f62a964SEmmanuel Vadot
4475f62a964SEmmanuel Vadot&dispcc1 {
4485f62a964SEmmanuel Vadot	status = "okay";
4495f62a964SEmmanuel Vadot};
4505f62a964SEmmanuel Vadot
4515f62a964SEmmanuel Vadot&gpu {
4525f62a964SEmmanuel Vadot	status = "okay";
4535f62a964SEmmanuel Vadot
4545f62a964SEmmanuel Vadot	zap-shader {
4555f62a964SEmmanuel Vadot		memory-region = <&gpu_mem>;
4565f62a964SEmmanuel Vadot		firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qcdxkmsuc8280.mbn";
4575f62a964SEmmanuel Vadot	};
4585f62a964SEmmanuel Vadot};
4595f62a964SEmmanuel Vadot
4605f62a964SEmmanuel Vadot&mdss0 {
4615f62a964SEmmanuel Vadot	status = "okay";
4625f62a964SEmmanuel Vadot};
4635f62a964SEmmanuel Vadot
4645f62a964SEmmanuel Vadot&mdss0_dp0 {
4655f62a964SEmmanuel Vadot	status = "okay";
4665f62a964SEmmanuel Vadot};
4675f62a964SEmmanuel Vadot
4685f62a964SEmmanuel Vadot&mdss0_dp0_out {
4695f62a964SEmmanuel Vadot	data-lanes = <0 1>;
4705f62a964SEmmanuel Vadot	remote-endpoint = <&usb_0_qmpphy_dp_in>;
4715f62a964SEmmanuel Vadot};
4725f62a964SEmmanuel Vadot
4735f62a964SEmmanuel Vadot&mdss0_dp1 {
4745f62a964SEmmanuel Vadot	status = "okay";
4755f62a964SEmmanuel Vadot};
4765f62a964SEmmanuel Vadot
4775f62a964SEmmanuel Vadot&mdss0_dp1_out {
4785f62a964SEmmanuel Vadot	data-lanes = <0 1>;
4795f62a964SEmmanuel Vadot	remote-endpoint = <&usb_1_qmpphy_dp_in>;
4805f62a964SEmmanuel Vadot};
4815f62a964SEmmanuel Vadot
4825f62a964SEmmanuel Vadot&pcie2a {
4835f62a964SEmmanuel Vadot	perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
4845f62a964SEmmanuel Vadot	wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
4855f62a964SEmmanuel Vadot
4865f62a964SEmmanuel Vadot	vddpe-3v3-supply = <&vreg_nvme>;
4875f62a964SEmmanuel Vadot
4885f62a964SEmmanuel Vadot	pinctrl-0 = <&pcie2a_default>;
4895f62a964SEmmanuel Vadot	pinctrl-names = "default";
4905f62a964SEmmanuel Vadot
4915f62a964SEmmanuel Vadot	status = "okay";
4925f62a964SEmmanuel Vadot};
4935f62a964SEmmanuel Vadot
4945f62a964SEmmanuel Vadot&pcie2a_phy {
4955f62a964SEmmanuel Vadot	vdda-phy-supply = <&vreg_l6d>;
4965f62a964SEmmanuel Vadot	vdda-pll-supply = <&vreg_l4d>;
4975f62a964SEmmanuel Vadot
4985f62a964SEmmanuel Vadot	status = "okay";
4995f62a964SEmmanuel Vadot};
5005f62a964SEmmanuel Vadot
5015f62a964SEmmanuel Vadot&pcie3a {
5025f62a964SEmmanuel Vadot	perst-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
5035f62a964SEmmanuel Vadot	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
5045f62a964SEmmanuel Vadot
5055f62a964SEmmanuel Vadot	vddpe-3v3-supply = <&vreg_wwan>;
5065f62a964SEmmanuel Vadot
5075f62a964SEmmanuel Vadot	pinctrl-0 = <&pcie3a_default>;
5085f62a964SEmmanuel Vadot	pinctrl-names = "default";
5095f62a964SEmmanuel Vadot
5105f62a964SEmmanuel Vadot	status = "okay";
5115f62a964SEmmanuel Vadot};
5125f62a964SEmmanuel Vadot
5135f62a964SEmmanuel Vadot&pcie3a_phy {
5145f62a964SEmmanuel Vadot	vdda-phy-supply = <&vreg_l6d>;
5155f62a964SEmmanuel Vadot	vdda-pll-supply = <&vreg_l4d>;
5165f62a964SEmmanuel Vadot
5175f62a964SEmmanuel Vadot	status = "okay";
5185f62a964SEmmanuel Vadot};
5195f62a964SEmmanuel Vadot
5205f62a964SEmmanuel Vadot&pcie4 {
5215f62a964SEmmanuel Vadot	max-link-speed = <2>;
5225f62a964SEmmanuel Vadot
5235f62a964SEmmanuel Vadot	perst-gpios = <&tlmm 141 GPIO_ACTIVE_LOW>;
5245f62a964SEmmanuel Vadot	wake-gpios = <&tlmm 139 GPIO_ACTIVE_LOW>;
5255f62a964SEmmanuel Vadot
5265f62a964SEmmanuel Vadot	vddpe-3v3-supply = <&vreg_wlan>;
5275f62a964SEmmanuel Vadot
5285f62a964SEmmanuel Vadot	pinctrl-0 = <&pcie4_default>;
5295f62a964SEmmanuel Vadot	pinctrl-names = "default";
5305f62a964SEmmanuel Vadot
5315f62a964SEmmanuel Vadot	status = "okay";
5325f62a964SEmmanuel Vadot};
5335f62a964SEmmanuel Vadot
5345f62a964SEmmanuel Vadot&pcie4_port0 {
5355f62a964SEmmanuel Vadot	wifi@0 {
5365f62a964SEmmanuel Vadot		compatible = "pci17cb,1103";
5375f62a964SEmmanuel Vadot		reg = <0x10000 0x0 0x0 0x0 0x0>;
5385f62a964SEmmanuel Vadot
539*ae5de77eSEmmanuel Vadot		qcom,calibration-variant = "MS_SP9_5G";
5405f62a964SEmmanuel Vadot	};
5415f62a964SEmmanuel Vadot};
5425f62a964SEmmanuel Vadot
5435f62a964SEmmanuel Vadot&pcie4_phy {
5445f62a964SEmmanuel Vadot	vdda-phy-supply = <&vreg_l6d>;
5455f62a964SEmmanuel Vadot	vdda-pll-supply = <&vreg_l4d>;
5465f62a964SEmmanuel Vadot
5475f62a964SEmmanuel Vadot	status = "okay";
5485f62a964SEmmanuel Vadot};
5495f62a964SEmmanuel Vadot
5505f62a964SEmmanuel Vadot&pmk8280_pon_pwrkey {
5515f62a964SEmmanuel Vadot	status = "okay";
5525f62a964SEmmanuel Vadot};
5535f62a964SEmmanuel Vadot
5545f62a964SEmmanuel Vadot&pmk8280_pon_resin {
5555f62a964SEmmanuel Vadot	status = "okay";
5565f62a964SEmmanuel Vadot};
5575f62a964SEmmanuel Vadot
5585f62a964SEmmanuel Vadot&pmk8280_rtc {
5595f62a964SEmmanuel Vadot	nvmem-cells = <&rtc_offset>;
5605f62a964SEmmanuel Vadot	nvmem-cell-names = "offset";
5615f62a964SEmmanuel Vadot
5625f62a964SEmmanuel Vadot	status = "okay";
5635f62a964SEmmanuel Vadot};
5645f62a964SEmmanuel Vadot
5655f62a964SEmmanuel Vadot&pmk8280_sdam_6 {
5665f62a964SEmmanuel Vadot	status = "okay";
5675f62a964SEmmanuel Vadot
5685f62a964SEmmanuel Vadot	rtc_offset: rtc-offset@bc {
5695f62a964SEmmanuel Vadot		reg = <0xbc 0x4>;
5705f62a964SEmmanuel Vadot	};
5715f62a964SEmmanuel Vadot};
5725f62a964SEmmanuel Vadot
5735f62a964SEmmanuel Vadot&qup0 {
5745f62a964SEmmanuel Vadot	status = "okay";
5755f62a964SEmmanuel Vadot};
5765f62a964SEmmanuel Vadot
5775f62a964SEmmanuel Vadot&qup1 {
5785f62a964SEmmanuel Vadot	status = "okay";
5795f62a964SEmmanuel Vadot};
5805f62a964SEmmanuel Vadot
5815f62a964SEmmanuel Vadot&qup2 {
5825f62a964SEmmanuel Vadot	status = "okay";
5835f62a964SEmmanuel Vadot};
5845f62a964SEmmanuel Vadot
5855f62a964SEmmanuel Vadot&remoteproc_adsp {
5865f62a964SEmmanuel Vadot	firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qcadsp8280.mbn";
5875f62a964SEmmanuel Vadot
5885f62a964SEmmanuel Vadot	status = "okay";
5895f62a964SEmmanuel Vadot};
5905f62a964SEmmanuel Vadot
5915f62a964SEmmanuel Vadot&remoteproc_nsp0 {
5925f62a964SEmmanuel Vadot	firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qccdsp8280.mbn";
5935f62a964SEmmanuel Vadot
5945f62a964SEmmanuel Vadot	status = "okay";
5955f62a964SEmmanuel Vadot};
5965f62a964SEmmanuel Vadot
5975f62a964SEmmanuel Vadot&rxmacro {
5985f62a964SEmmanuel Vadot	status = "okay";
5995f62a964SEmmanuel Vadot};
6005f62a964SEmmanuel Vadot
6015f62a964SEmmanuel Vadot&sound {
6025f62a964SEmmanuel Vadot	compatible = "qcom,sc8280xp-sndcard";
6035f62a964SEmmanuel Vadot	model = "SC8280XP-MICROSOFT-SURFACE-PRO-9-5G";
6045f62a964SEmmanuel Vadot	audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
6055f62a964SEmmanuel Vadot			"SpkrRight IN", "WSA_SPK2 OUT",
6065f62a964SEmmanuel Vadot			"IN1_HPHL", "HPHL_OUT",
6075f62a964SEmmanuel Vadot			"IN2_HPHR", "HPHR_OUT",
6085f62a964SEmmanuel Vadot			"AMIC2", "MIC BIAS2",
6095f62a964SEmmanuel Vadot			"VA DMIC0", "MIC BIAS1",
6105f62a964SEmmanuel Vadot			"VA DMIC1", "MIC BIAS1",
6115f62a964SEmmanuel Vadot			"VA DMIC2", "MIC BIAS3",
6125f62a964SEmmanuel Vadot			"VA DMIC0", "VA MIC BIAS1",
6135f62a964SEmmanuel Vadot			"VA DMIC1", "VA MIC BIAS1",
6145f62a964SEmmanuel Vadot			"VA DMIC2", "VA MIC BIAS3",
6155f62a964SEmmanuel Vadot			"TX SWR_ADC1", "ADC2_OUTPUT";
6165f62a964SEmmanuel Vadot
6175f62a964SEmmanuel Vadot	wcd-playback-dai-link {
6185f62a964SEmmanuel Vadot		link-name = "WCD Playback";
6195f62a964SEmmanuel Vadot
6205f62a964SEmmanuel Vadot		cpu {
6215f62a964SEmmanuel Vadot			sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
6225f62a964SEmmanuel Vadot		};
6235f62a964SEmmanuel Vadot
6245f62a964SEmmanuel Vadot		codec {
6255f62a964SEmmanuel Vadot			sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
6265f62a964SEmmanuel Vadot		};
6275f62a964SEmmanuel Vadot
6285f62a964SEmmanuel Vadot		platform {
6295f62a964SEmmanuel Vadot			sound-dai = <&q6apm>;
6305f62a964SEmmanuel Vadot		};
6315f62a964SEmmanuel Vadot	};
6325f62a964SEmmanuel Vadot
6335f62a964SEmmanuel Vadot	wcd-capture-dai-link {
6345f62a964SEmmanuel Vadot		link-name = "WCD Capture";
6355f62a964SEmmanuel Vadot
6365f62a964SEmmanuel Vadot		cpu {
6375f62a964SEmmanuel Vadot			sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
6385f62a964SEmmanuel Vadot		};
6395f62a964SEmmanuel Vadot
6405f62a964SEmmanuel Vadot		codec {
6415f62a964SEmmanuel Vadot			sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
6425f62a964SEmmanuel Vadot		};
6435f62a964SEmmanuel Vadot
6445f62a964SEmmanuel Vadot		platform {
6455f62a964SEmmanuel Vadot			sound-dai = <&q6apm>;
6465f62a964SEmmanuel Vadot		};
6475f62a964SEmmanuel Vadot	};
6485f62a964SEmmanuel Vadot
6495f62a964SEmmanuel Vadot	wsa-dai-link {
6505f62a964SEmmanuel Vadot		link-name = "WSA Playback";
6515f62a964SEmmanuel Vadot
6525f62a964SEmmanuel Vadot		cpu {
6535f62a964SEmmanuel Vadot			sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
6545f62a964SEmmanuel Vadot		};
6555f62a964SEmmanuel Vadot
6565f62a964SEmmanuel Vadot		codec {
6575f62a964SEmmanuel Vadot			sound-dai = <&swr0 0>, <&wsamacro 0>;
6585f62a964SEmmanuel Vadot		};
6595f62a964SEmmanuel Vadot
6605f62a964SEmmanuel Vadot		platform {
6615f62a964SEmmanuel Vadot			sound-dai = <&q6apm>;
6625f62a964SEmmanuel Vadot		};
6635f62a964SEmmanuel Vadot	};
6645f62a964SEmmanuel Vadot
6655f62a964SEmmanuel Vadot	va-dai-link {
6665f62a964SEmmanuel Vadot		link-name = "VA Capture";
6675f62a964SEmmanuel Vadot
6685f62a964SEmmanuel Vadot		cpu {
6695f62a964SEmmanuel Vadot			sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
6705f62a964SEmmanuel Vadot		};
6715f62a964SEmmanuel Vadot
6725f62a964SEmmanuel Vadot		platform {
6735f62a964SEmmanuel Vadot			sound-dai = <&q6apm>;
6745f62a964SEmmanuel Vadot		};
6755f62a964SEmmanuel Vadot
6765f62a964SEmmanuel Vadot		codec {
6775f62a964SEmmanuel Vadot			sound-dai = <&vamacro 0>;
6785f62a964SEmmanuel Vadot		};
6795f62a964SEmmanuel Vadot	};
6805f62a964SEmmanuel Vadot};
6815f62a964SEmmanuel Vadot
6825f62a964SEmmanuel Vadot&swr0 {
6835f62a964SEmmanuel Vadot	status = "okay";
6845f62a964SEmmanuel Vadot};
6855f62a964SEmmanuel Vadot
6865f62a964SEmmanuel Vadot&swr1 {
6875f62a964SEmmanuel Vadot	status = "okay";
6885f62a964SEmmanuel Vadot
6895f62a964SEmmanuel Vadot	wcd_rx: codec@0,4 {
6905f62a964SEmmanuel Vadot		compatible = "sdw20217010d00";
6915f62a964SEmmanuel Vadot		reg = <0 4>;
6925f62a964SEmmanuel Vadot		qcom,rx-port-mapping = <1 2 3 4 5>;
6935f62a964SEmmanuel Vadot	};
6945f62a964SEmmanuel Vadot};
6955f62a964SEmmanuel Vadot
6965f62a964SEmmanuel Vadot&swr2 {
6975f62a964SEmmanuel Vadot	status = "okay";
6985f62a964SEmmanuel Vadot
6995f62a964SEmmanuel Vadot	wcd_tx: codec@0,3 {
7005f62a964SEmmanuel Vadot		compatible = "sdw20217010d00";
7015f62a964SEmmanuel Vadot		reg = <0 3>;
7025f62a964SEmmanuel Vadot		qcom,tx-port-mapping = <1 1 2 3>;
7035f62a964SEmmanuel Vadot	};
7045f62a964SEmmanuel Vadot};
7055f62a964SEmmanuel Vadot
7065f62a964SEmmanuel Vadot&txmacro {
7075f62a964SEmmanuel Vadot	status = "okay";
7085f62a964SEmmanuel Vadot};
7095f62a964SEmmanuel Vadot
7105f62a964SEmmanuel Vadot&uart2 {
7115f62a964SEmmanuel Vadot	pinctrl-0 = <&uart2_default>;
7125f62a964SEmmanuel Vadot	pinctrl-names = "default";
7135f62a964SEmmanuel Vadot
7145f62a964SEmmanuel Vadot	status = "okay";
7155f62a964SEmmanuel Vadot
7165f62a964SEmmanuel Vadot	bluetooth {
7175f62a964SEmmanuel Vadot		compatible = "qcom,wcn6855-bt";
7185f62a964SEmmanuel Vadot
7195f62a964SEmmanuel Vadot		vddio-supply = <&vreg_s10b>;
7205f62a964SEmmanuel Vadot		vddbtcxmx-supply = <&vreg_s12b>;
7215f62a964SEmmanuel Vadot		vddrfacmn-supply = <&vreg_s12b>;
7225f62a964SEmmanuel Vadot		vddrfa0p8-supply = <&vreg_s12b>;
7235f62a964SEmmanuel Vadot		vddrfa1p2-supply = <&vreg_s11b>;
7245f62a964SEmmanuel Vadot		vddrfa1p7-supply = <&vreg_s1c>;
7255f62a964SEmmanuel Vadot
7265f62a964SEmmanuel Vadot		max-speed = <3200000>;
7275f62a964SEmmanuel Vadot
7285f62a964SEmmanuel Vadot		enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
7295f62a964SEmmanuel Vadot		swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
7305f62a964SEmmanuel Vadot
7315f62a964SEmmanuel Vadot		pinctrl-0 = <&bt_default>;
7325f62a964SEmmanuel Vadot		pinctrl-names = "default";
7335f62a964SEmmanuel Vadot	};
7345f62a964SEmmanuel Vadot};
7355f62a964SEmmanuel Vadot
7365f62a964SEmmanuel Vadot&uart18 {
7375f62a964SEmmanuel Vadot	status = "okay";
7385f62a964SEmmanuel Vadot
7395f62a964SEmmanuel Vadot	embedded-controller {
7405f62a964SEmmanuel Vadot		compatible = "microsoft,surface-sam";
7415f62a964SEmmanuel Vadot
7425f62a964SEmmanuel Vadot		interrupts-extended = <&tlmm 85 IRQ_TYPE_EDGE_RISING>;
7435f62a964SEmmanuel Vadot
7445f62a964SEmmanuel Vadot		current-speed = <4000000>;
7455f62a964SEmmanuel Vadot
7465f62a964SEmmanuel Vadot		pinctrl-0 = <&ssam_state>;
7475f62a964SEmmanuel Vadot		pinctrl-names = "default";
7485f62a964SEmmanuel Vadot	};
7495f62a964SEmmanuel Vadot};
7505f62a964SEmmanuel Vadot
7515f62a964SEmmanuel Vadot&usb_0 {
7525f62a964SEmmanuel Vadot	status = "okay";
7535f62a964SEmmanuel Vadot};
7545f62a964SEmmanuel Vadot
7555f62a964SEmmanuel Vadot&usb_0_dwc3 {
7565f62a964SEmmanuel Vadot	dr_mode = "host";
7575f62a964SEmmanuel Vadot};
7585f62a964SEmmanuel Vadot
7595f62a964SEmmanuel Vadot&usb_0_dwc3_hs {
7605f62a964SEmmanuel Vadot	remote-endpoint = <&pmic_glink_con0_hs>;
7615f62a964SEmmanuel Vadot};
7625f62a964SEmmanuel Vadot
7635f62a964SEmmanuel Vadot&usb_0_hsphy {
7645f62a964SEmmanuel Vadot	vdda-pll-supply = <&vreg_l9d>;
7655f62a964SEmmanuel Vadot	vdda18-supply = <&vreg_l1c>;
7665f62a964SEmmanuel Vadot	vdda33-supply = <&vreg_l7d>;
7675f62a964SEmmanuel Vadot
7685f62a964SEmmanuel Vadot	status = "okay";
7695f62a964SEmmanuel Vadot};
7705f62a964SEmmanuel Vadot
7715f62a964SEmmanuel Vadot&usb_0_qmpphy {
7725f62a964SEmmanuel Vadot	vdda-phy-supply = <&vreg_l9d>;
7735f62a964SEmmanuel Vadot	vdda-pll-supply = <&vreg_l4d>;
7745f62a964SEmmanuel Vadot
7755f62a964SEmmanuel Vadot	orientation-switch;
7765f62a964SEmmanuel Vadot
7775f62a964SEmmanuel Vadot	status = "okay";
7785f62a964SEmmanuel Vadot};
7795f62a964SEmmanuel Vadot
7805f62a964SEmmanuel Vadot&usb_0_qmpphy_dp_in {
7815f62a964SEmmanuel Vadot	remote-endpoint = <&mdss0_dp0_out>;
7825f62a964SEmmanuel Vadot};
7835f62a964SEmmanuel Vadot
7845f62a964SEmmanuel Vadot&usb_0_qmpphy_out {
7855f62a964SEmmanuel Vadot	remote-endpoint = <&pmic_glink_con0_ss>;
7865f62a964SEmmanuel Vadot};
7875f62a964SEmmanuel Vadot
7885f62a964SEmmanuel Vadot&usb_1 {
7895f62a964SEmmanuel Vadot	status = "okay";
7905f62a964SEmmanuel Vadot};
7915f62a964SEmmanuel Vadot
7925f62a964SEmmanuel Vadot&usb_1_dwc3 {
7935f62a964SEmmanuel Vadot	dr_mode = "host";
7945f62a964SEmmanuel Vadot};
7955f62a964SEmmanuel Vadot
7965f62a964SEmmanuel Vadot&usb_1_dwc3_hs {
7975f62a964SEmmanuel Vadot	remote-endpoint = <&pmic_glink_con1_hs>;
7985f62a964SEmmanuel Vadot};
7995f62a964SEmmanuel Vadot
8005f62a964SEmmanuel Vadot&usb_1_hsphy {
8015f62a964SEmmanuel Vadot	vdda-pll-supply = <&vreg_l4b>;
8025f62a964SEmmanuel Vadot	vdda18-supply = <&vreg_l1c>;
8035f62a964SEmmanuel Vadot	vdda33-supply = <&vreg_l13c>;
8045f62a964SEmmanuel Vadot
8055f62a964SEmmanuel Vadot	status = "okay";
8065f62a964SEmmanuel Vadot};
8075f62a964SEmmanuel Vadot
8085f62a964SEmmanuel Vadot&usb_1_qmpphy {
8095f62a964SEmmanuel Vadot	vdda-phy-supply = <&vreg_l4b>;
8105f62a964SEmmanuel Vadot	vdda-pll-supply = <&vreg_l3b>;
8115f62a964SEmmanuel Vadot
8125f62a964SEmmanuel Vadot	orientation-switch;
8135f62a964SEmmanuel Vadot
8145f62a964SEmmanuel Vadot	status = "okay";
8155f62a964SEmmanuel Vadot};
8165f62a964SEmmanuel Vadot
8175f62a964SEmmanuel Vadot&usb_1_qmpphy_dp_in {
8185f62a964SEmmanuel Vadot	remote-endpoint = <&mdss0_dp1_out>;
8195f62a964SEmmanuel Vadot};
8205f62a964SEmmanuel Vadot
8215f62a964SEmmanuel Vadot&usb_1_qmpphy_out {
8225f62a964SEmmanuel Vadot	remote-endpoint = <&pmic_glink_con1_ss>;
8235f62a964SEmmanuel Vadot};
8245f62a964SEmmanuel Vadot
8255f62a964SEmmanuel Vadot&vamacro {
8265f62a964SEmmanuel Vadot	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
8275f62a964SEmmanuel Vadot	pinctrl-names = "default";
8285f62a964SEmmanuel Vadot
8295f62a964SEmmanuel Vadot	vdd-micb-supply = <&vreg_s10b>;
8305f62a964SEmmanuel Vadot
8315f62a964SEmmanuel Vadot	qcom,dmic-sample-rate = <4800000>;
8325f62a964SEmmanuel Vadot
8335f62a964SEmmanuel Vadot	status = "okay";
8345f62a964SEmmanuel Vadot};
8355f62a964SEmmanuel Vadot
8365f62a964SEmmanuel Vadot&wsamacro {
8375f62a964SEmmanuel Vadot	status = "okay";
8385f62a964SEmmanuel Vadot};
8395f62a964SEmmanuel Vadot
8405f62a964SEmmanuel Vadot&xo_board_clk {
8415f62a964SEmmanuel Vadot	clock-frequency = <38400000>;
8425f62a964SEmmanuel Vadot};
8435f62a964SEmmanuel Vadot
8445f62a964SEmmanuel Vadot/* PINCTRL */
8455f62a964SEmmanuel Vadot
8465f62a964SEmmanuel Vadot&lpass_tlmm {
8475f62a964SEmmanuel Vadot	status = "okay";
8485f62a964SEmmanuel Vadot};
8495f62a964SEmmanuel Vadot
8505f62a964SEmmanuel Vadot&pmc8280_2_gpios {
8515f62a964SEmmanuel Vadot	wwan_sw_en: wwan-sw-en-state {
8525f62a964SEmmanuel Vadot		pins = "gpio1";
8535f62a964SEmmanuel Vadot		function = "normal";
8545f62a964SEmmanuel Vadot	};
8555f62a964SEmmanuel Vadot};
8565f62a964SEmmanuel Vadot
8575f62a964SEmmanuel Vadot&pmr735a_gpios {
8585f62a964SEmmanuel Vadot	hastings_reg_en: hastings-reg-en-state {
8595f62a964SEmmanuel Vadot		pins = "gpio1";
8605f62a964SEmmanuel Vadot		function = "normal";
8615f62a964SEmmanuel Vadot	};
8625f62a964SEmmanuel Vadot};
8635f62a964SEmmanuel Vadot
8645f62a964SEmmanuel Vadot&tlmm {
8655f62a964SEmmanuel Vadot	bt_default: bt-default-state {
8665f62a964SEmmanuel Vadot		hstp-bt-en-pins {
8675f62a964SEmmanuel Vadot			pins = "gpio133";
8685f62a964SEmmanuel Vadot			function = "gpio";
8695f62a964SEmmanuel Vadot			drive-strength = <16>;
8705f62a964SEmmanuel Vadot			bias-disable;
8715f62a964SEmmanuel Vadot		};
8725f62a964SEmmanuel Vadot
8735f62a964SEmmanuel Vadot		hstp-sw-ctrl-pins {
8745f62a964SEmmanuel Vadot			pins = "gpio132";
8755f62a964SEmmanuel Vadot			function = "gpio";
8765f62a964SEmmanuel Vadot			bias-pull-down;
8775f62a964SEmmanuel Vadot		};
8785f62a964SEmmanuel Vadot	};
8795f62a964SEmmanuel Vadot
8805f62a964SEmmanuel Vadot	nvme_reg_en: nvme-reg-en-state {
8815f62a964SEmmanuel Vadot		pins = "gpio135";
8825f62a964SEmmanuel Vadot		function = "gpio";
8835f62a964SEmmanuel Vadot		drive-strength = <2>;
8845f62a964SEmmanuel Vadot		bias-disable;
8855f62a964SEmmanuel Vadot	};
8865f62a964SEmmanuel Vadot
8875f62a964SEmmanuel Vadot	pcie2a_default: pcie2a-default-state {
8885f62a964SEmmanuel Vadot		clkreq-n-pins {
8895f62a964SEmmanuel Vadot			pins = "gpio142";
8905f62a964SEmmanuel Vadot			function = "pcie2a_clkreq";
8915f62a964SEmmanuel Vadot			drive-strength = <2>;
8925f62a964SEmmanuel Vadot			bias-pull-up;
8935f62a964SEmmanuel Vadot		};
8945f62a964SEmmanuel Vadot
8955f62a964SEmmanuel Vadot		perst-n-pins {
8965f62a964SEmmanuel Vadot			pins = "gpio143";
8975f62a964SEmmanuel Vadot			function = "gpio";
8985f62a964SEmmanuel Vadot			drive-strength = <2>;
8995f62a964SEmmanuel Vadot			bias-disable;
9005f62a964SEmmanuel Vadot		};
9015f62a964SEmmanuel Vadot
9025f62a964SEmmanuel Vadot		wake-n-pins {
9035f62a964SEmmanuel Vadot			pins = "gpio145";
9045f62a964SEmmanuel Vadot			function = "gpio";
9055f62a964SEmmanuel Vadot			drive-strength = <2>;
9065f62a964SEmmanuel Vadot			bias-pull-up;
9075f62a964SEmmanuel Vadot	       };
9085f62a964SEmmanuel Vadot	};
9095f62a964SEmmanuel Vadot
9105f62a964SEmmanuel Vadot	pcie3a_default: pcie3a-default-state {
9115f62a964SEmmanuel Vadot		clkreq-n-pins {
9125f62a964SEmmanuel Vadot			pins = "gpio150";
9135f62a964SEmmanuel Vadot			function = "pcie3a_clkreq";
9145f62a964SEmmanuel Vadot			drive-strength = <2>;
9155f62a964SEmmanuel Vadot			bias-pull-up;
9165f62a964SEmmanuel Vadot		};
9175f62a964SEmmanuel Vadot
9185f62a964SEmmanuel Vadot		perst-n-pins {
9195f62a964SEmmanuel Vadot			pins = "gpio151";
9205f62a964SEmmanuel Vadot			function = "gpio";
9215f62a964SEmmanuel Vadot			drive-strength = <2>;
9225f62a964SEmmanuel Vadot			bias-disable;
9235f62a964SEmmanuel Vadot		};
9245f62a964SEmmanuel Vadot
9255f62a964SEmmanuel Vadot		wake-n-pins {
9265f62a964SEmmanuel Vadot			pins = "gpio148";
9275f62a964SEmmanuel Vadot			function = "gpio";
9285f62a964SEmmanuel Vadot			drive-strength = <2>;
9295f62a964SEmmanuel Vadot			bias-pull-up;
9305f62a964SEmmanuel Vadot		};
9315f62a964SEmmanuel Vadot	};
9325f62a964SEmmanuel Vadot
9335f62a964SEmmanuel Vadot	pcie4_default: pcie4-default-state {
9345f62a964SEmmanuel Vadot		clkreq-n-pins {
9355f62a964SEmmanuel Vadot			pins = "gpio140";
9365f62a964SEmmanuel Vadot			function = "pcie4_clkreq";
9375f62a964SEmmanuel Vadot			drive-strength = <2>;
9385f62a964SEmmanuel Vadot			bias-pull-up;
9395f62a964SEmmanuel Vadot		};
9405f62a964SEmmanuel Vadot
9415f62a964SEmmanuel Vadot		perst-n-pins {
9425f62a964SEmmanuel Vadot			pins = "gpio141";
9435f62a964SEmmanuel Vadot			function = "gpio";
9445f62a964SEmmanuel Vadot			drive-strength = <2>;
9455f62a964SEmmanuel Vadot			bias-disable;
9465f62a964SEmmanuel Vadot		};
9475f62a964SEmmanuel Vadot
9485f62a964SEmmanuel Vadot		wake-n-pins {
9495f62a964SEmmanuel Vadot			pins = "gpio139";
9505f62a964SEmmanuel Vadot			function = "gpio";
9515f62a964SEmmanuel Vadot			drive-strength = <2>;
9525f62a964SEmmanuel Vadot			bias-pull-up;
9535f62a964SEmmanuel Vadot		};
9545f62a964SEmmanuel Vadot	};
9555f62a964SEmmanuel Vadot
9565f62a964SEmmanuel Vadot
9575f62a964SEmmanuel Vadot	ssam_state: ssam-state-state {
9585f62a964SEmmanuel Vadot		pins = "gpio85";
9595f62a964SEmmanuel Vadot		function = "gpio";
9605f62a964SEmmanuel Vadot		bias-disable;
9615f62a964SEmmanuel Vadot	};
9625f62a964SEmmanuel Vadot
9635f62a964SEmmanuel Vadot	uart2_default: uart2-default-state {
9645f62a964SEmmanuel Vadot		cts-pins {
9655f62a964SEmmanuel Vadot			pins = "gpio121";
9665f62a964SEmmanuel Vadot			function = "qup2";
9675f62a964SEmmanuel Vadot			bias-bus-hold;
9685f62a964SEmmanuel Vadot		};
9695f62a964SEmmanuel Vadot
9705f62a964SEmmanuel Vadot		rts-pins {
9715f62a964SEmmanuel Vadot			pins = "gpio122";
9725f62a964SEmmanuel Vadot			function = "qup2";
9735f62a964SEmmanuel Vadot			drive-strength = <2>;
9745f62a964SEmmanuel Vadot			bias-disable;
9755f62a964SEmmanuel Vadot		};
9765f62a964SEmmanuel Vadot
9775f62a964SEmmanuel Vadot		rx-pins {
9785f62a964SEmmanuel Vadot			pins = "gpio124";
9795f62a964SEmmanuel Vadot			function = "qup2";
9805f62a964SEmmanuel Vadot			bias-pull-up;
9815f62a964SEmmanuel Vadot		};
9825f62a964SEmmanuel Vadot
9835f62a964SEmmanuel Vadot		tx-pins {
9845f62a964SEmmanuel Vadot			pins = "gpio123";
9855f62a964SEmmanuel Vadot			function = "qup2";
9865f62a964SEmmanuel Vadot			drive-strength = <2>;
9875f62a964SEmmanuel Vadot			bias-disable;
9885f62a964SEmmanuel Vadot		};
9895f62a964SEmmanuel Vadot	};
9905f62a964SEmmanuel Vadot
9915f62a964SEmmanuel Vadot	usb0_sbu_default: usb0-sbu-state {
9925f62a964SEmmanuel Vadot		oe-n-pins {
9935f62a964SEmmanuel Vadot			pins = "gpio101";
9945f62a964SEmmanuel Vadot			function = "gpio";
9955f62a964SEmmanuel Vadot			bias-disable;
9965f62a964SEmmanuel Vadot			drive-strength = <16>;
9975f62a964SEmmanuel Vadot			output-high;
9985f62a964SEmmanuel Vadot		};
9995f62a964SEmmanuel Vadot
10005f62a964SEmmanuel Vadot		sel-pins {
10015f62a964SEmmanuel Vadot			pins = "gpio164";
10025f62a964SEmmanuel Vadot			function = "gpio";
10035f62a964SEmmanuel Vadot			bias-disable;
10045f62a964SEmmanuel Vadot			drive-strength = <16>;
10055f62a964SEmmanuel Vadot		};
10065f62a964SEmmanuel Vadot	};
10075f62a964SEmmanuel Vadot
10085f62a964SEmmanuel Vadot	usb1_sbu_default: usb1-sbu-state {
10095f62a964SEmmanuel Vadot		oe-n-pins {
10105f62a964SEmmanuel Vadot			pins = "gpio48";
10115f62a964SEmmanuel Vadot			function = "gpio";
10125f62a964SEmmanuel Vadot			bias-disable;
10135f62a964SEmmanuel Vadot			drive-strength = <16>;
10145f62a964SEmmanuel Vadot			output-high;
10155f62a964SEmmanuel Vadot		};
10165f62a964SEmmanuel Vadot
10175f62a964SEmmanuel Vadot		sel-pins {
10185f62a964SEmmanuel Vadot			pins = "gpio47";
10195f62a964SEmmanuel Vadot			function = "gpio";
10205f62a964SEmmanuel Vadot			bias-disable;
10215f62a964SEmmanuel Vadot			drive-strength = <16>;
10225f62a964SEmmanuel Vadot		};
10235f62a964SEmmanuel Vadot	};
10245f62a964SEmmanuel Vadot
10255f62a964SEmmanuel Vadot	wcd_default: wcd-default-state {
10265f62a964SEmmanuel Vadot		reset-pins {
10275f62a964SEmmanuel Vadot			pins = "gpio106";
10285f62a964SEmmanuel Vadot			function = "gpio";
10295f62a964SEmmanuel Vadot			bias-disable;
10305f62a964SEmmanuel Vadot		};
10315f62a964SEmmanuel Vadot	};
10325f62a964SEmmanuel Vadot};
1033