1033 lines
18 KiB
Plaintext
1033 lines
18 KiB
Plaintext
|
// SPDX-License-Identifier: BSD-3-Clause
|
||
|
/*
|
||
|
* Copyright (c) 2024, Jérôme de Bretagne <jerome.debretagne@gmail.com>
|
||
|
*/
|
||
|
|
||
|
/dts-v1/;
|
||
|
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
||
|
|
||
|
#include "sc8280xp.dtsi"
|
||
|
#include "sc8280xp-pmics.dtsi"
|
||
|
|
||
|
/ {
|
||
|
model = "Microsoft Surface Pro 9 5G";
|
||
|
compatible = "microsoft,arcata", "qcom,sc8280xp";
|
||
|
|
||
|
aliases {
|
||
|
serial0 = &uart18;
|
||
|
serial1 = &uart2;
|
||
|
};
|
||
|
|
||
|
wcd938x: audio-codec {
|
||
|
compatible = "qcom,wcd9380-codec";
|
||
|
|
||
|
pinctrl-0 = <&wcd_default>;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
reset-gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
|
||
|
|
||
|
vdd-buck-supply = <&vreg_s10b>;
|
||
|
vdd-rxtx-supply = <&vreg_s10b>;
|
||
|
vdd-io-supply = <&vreg_s10b>;
|
||
|
vdd-mic-bias-supply = <&vreg_bob>;
|
||
|
|
||
|
qcom,micbias1-microvolt = <1800000>;
|
||
|
qcom,micbias2-microvolt = <1800000>;
|
||
|
qcom,micbias3-microvolt = <1800000>;
|
||
|
qcom,micbias4-microvolt = <1800000>;
|
||
|
qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
|
||
|
qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
|
||
|
qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
|
||
|
qcom,rx-device = <&wcd_rx>;
|
||
|
qcom,tx-device = <&wcd_tx>;
|
||
|
|
||
|
#sound-dai-cells = <1>;
|
||
|
};
|
||
|
|
||
|
pmic-glink {
|
||
|
compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
|
||
|
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
/* Left-side top port */
|
||
|
connector@0 {
|
||
|
compatible = "usb-c-connector";
|
||
|
reg = <0>;
|
||
|
power-role = "dual";
|
||
|
data-role = "dual";
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
|
||
|
pmic_glink_con0_hs: endpoint {
|
||
|
remote-endpoint = <&usb_0_dwc3_hs>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
|
||
|
pmic_glink_con0_ss: endpoint {
|
||
|
remote-endpoint = <&usb_0_qmpphy_out>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
port@2 {
|
||
|
reg = <2>;
|
||
|
|
||
|
pmic_glink_con0_sbu: endpoint {
|
||
|
remote-endpoint = <&usb0_sbu_mux>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
/* Left-side bottom port */
|
||
|
connector@1 {
|
||
|
compatible = "usb-c-connector";
|
||
|
reg = <1>;
|
||
|
power-role = "dual";
|
||
|
data-role = "dual";
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
|
||
|
pmic_glink_con1_hs: endpoint {
|
||
|
remote-endpoint = <&usb_1_dwc3_hs>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
|
||
|
pmic_glink_con1_ss: endpoint {
|
||
|
remote-endpoint = <&usb_1_qmpphy_out>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
port@2 {
|
||
|
reg = <2>;
|
||
|
|
||
|
pmic_glink_con1_sbu: endpoint {
|
||
|
remote-endpoint = <&usb1_sbu_mux>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
vreg_nvme: regulator-nvme {
|
||
|
compatible = "regulator-fixed";
|
||
|
|
||
|
regulator-name = "VCC3_SSD";
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
|
||
|
gpio = <&tlmm 135 GPIO_ACTIVE_HIGH>;
|
||
|
enable-active-high;
|
||
|
|
||
|
pinctrl-0 = <&nvme_reg_en>;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
regulator-boot-on;
|
||
|
};
|
||
|
|
||
|
vreg_vph_pwr: regulator-vph-pwr {
|
||
|
compatible = "regulator-fixed";
|
||
|
|
||
|
regulator-name = "VPH_VCC3R9";
|
||
|
regulator-min-microvolt = <3900000>;
|
||
|
regulator-max-microvolt = <3900000>;
|
||
|
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vreg_wlan: regulator-wlan {
|
||
|
compatible = "regulator-fixed";
|
||
|
|
||
|
regulator-name = "VCC_WLAN_3R9";
|
||
|
regulator-min-microvolt = <3900000>;
|
||
|
regulator-max-microvolt = <3900000>;
|
||
|
|
||
|
gpio = <&pmr735a_gpios 1 GPIO_ACTIVE_HIGH>;
|
||
|
enable-active-high;
|
||
|
|
||
|
pinctrl-0 = <&hastings_reg_en>;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
regulator-boot-on;
|
||
|
};
|
||
|
|
||
|
vreg_wwan: regulator-wwan {
|
||
|
compatible = "regulator-fixed";
|
||
|
|
||
|
regulator-name = "VCC3B_WAN";
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
|
||
|
gpio = <&pmc8280_2_gpios 1 GPIO_ACTIVE_HIGH>;
|
||
|
enable-active-high;
|
||
|
|
||
|
pinctrl-0 = <&wwan_sw_en>;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
regulator-boot-on;
|
||
|
};
|
||
|
|
||
|
reserved-memory {
|
||
|
gpu_mem: gpu-mem@8bf00000 {
|
||
|
reg = <0 0x8bf00000 0 0x2000>;
|
||
|
no-map;
|
||
|
};
|
||
|
|
||
|
linux,cma {
|
||
|
compatible = "shared-dma-pool";
|
||
|
size = <0x0 0x8000000>;
|
||
|
reusable;
|
||
|
linux,cma-default;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
thermal-zones {
|
||
|
skin-temp-thermal {
|
||
|
polling-delay-passive = <250>;
|
||
|
|
||
|
thermal-sensors = <&pmk8280_adc_tm 5>;
|
||
|
|
||
|
trips {
|
||
|
skin_temp_alert0: trip-point0 {
|
||
|
temperature = <55000>;
|
||
|
hysteresis = <1000>;
|
||
|
type = "passive";
|
||
|
};
|
||
|
|
||
|
skin_temp_alert1: trip-point1 {
|
||
|
temperature = <58000>;
|
||
|
hysteresis = <1000>;
|
||
|
type = "passive";
|
||
|
};
|
||
|
|
||
|
skin-temp-crit {
|
||
|
temperature = <73000>;
|
||
|
hysteresis = <1000>;
|
||
|
type = "critical";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
cooling-maps {
|
||
|
map0 {
|
||
|
trip = <&skin_temp_alert0>;
|
||
|
cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||
|
<&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||
|
<&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||
|
<&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||
|
};
|
||
|
|
||
|
map1 {
|
||
|
trip = <&skin_temp_alert1>;
|
||
|
cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||
|
<&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||
|
<&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||
|
<&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
usb0-sbu-mux {
|
||
|
compatible = "pericom,pi3usb102", "gpio-sbu-mux";
|
||
|
|
||
|
enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
|
||
|
select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
|
||
|
|
||
|
pinctrl-0 = <&usb0_sbu_default>;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
mode-switch;
|
||
|
orientation-switch;
|
||
|
|
||
|
port {
|
||
|
usb0_sbu_mux: endpoint {
|
||
|
remote-endpoint = <&pmic_glink_con0_sbu>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
usb1-sbu-mux {
|
||
|
compatible = "pericom,pi3usb102", "gpio-sbu-mux";
|
||
|
|
||
|
enable-gpios = <&tlmm 48 GPIO_ACTIVE_LOW>;
|
||
|
select-gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
|
||
|
|
||
|
pinctrl-0 = <&usb1_sbu_default>;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
mode-switch;
|
||
|
orientation-switch;
|
||
|
|
||
|
port {
|
||
|
usb1_sbu_mux: endpoint {
|
||
|
remote-endpoint = <&pmic_glink_con1_sbu>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&apps_rsc {
|
||
|
regulators-0 {
|
||
|
compatible = "qcom,pm8350-rpmh-regulators";
|
||
|
qcom,pmic-id = "b";
|
||
|
|
||
|
vdd-l1-l4-supply = <&vreg_s12b>;
|
||
|
vdd-l2-l7-supply = <&vreg_bob>;
|
||
|
vdd-l3-l5-supply = <&vreg_s11b>;
|
||
|
vdd-l6-l9-l10-supply = <&vreg_s12b>;
|
||
|
vdd-l8-supply = <&vreg_s12b>;
|
||
|
|
||
|
vreg_s10b: smps10 {
|
||
|
regulator-name = "vreg_s10b";
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vreg_s11b: smps11 {
|
||
|
regulator-name = "vreg_s11b";
|
||
|
regulator-min-microvolt = <1272000>;
|
||
|
regulator-max-microvolt = <1272000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vreg_s12b: smps12 {
|
||
|
regulator-name = "vreg_s12b";
|
||
|
regulator-min-microvolt = <984000>;
|
||
|
regulator-max-microvolt = <984000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vreg_l3b: ldo3 {
|
||
|
regulator-name = "vreg_l3b";
|
||
|
regulator-min-microvolt = <1200000>;
|
||
|
regulator-max-microvolt = <1200000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-boot-on;
|
||
|
};
|
||
|
|
||
|
vreg_l4b: ldo4 {
|
||
|
regulator-name = "vreg_l4b";
|
||
|
regulator-min-microvolt = <912000>;
|
||
|
regulator-max-microvolt = <912000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l6b: ldo6 {
|
||
|
regulator-name = "vreg_l6b";
|
||
|
regulator-min-microvolt = <880000>;
|
||
|
regulator-max-microvolt = <880000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-boot-on;
|
||
|
regulator-always-on; // FIXME: VDD_A_EDP_0_0P9
|
||
|
};
|
||
|
};
|
||
|
|
||
|
regulators-1 {
|
||
|
compatible = "qcom,pm8350c-rpmh-regulators";
|
||
|
qcom,pmic-id = "c";
|
||
|
|
||
|
vdd-bob-supply = <&vreg_vph_pwr>;
|
||
|
vdd-l1-l12-supply = <&vreg_s1c>;
|
||
|
vdd-l2-l8-supply = <&vreg_s1c>;
|
||
|
vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
|
||
|
vdd-l6-l9-l11-supply = <&vreg_bob>;
|
||
|
vdd-l10-supply = <&vreg_s11b>;
|
||
|
|
||
|
vreg_s1c: smps1 {
|
||
|
regulator-name = "vreg_s1c";
|
||
|
regulator-min-microvolt = <1880000>;
|
||
|
regulator-max-microvolt = <1900000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
|
||
|
vreg_l1c: ldo1 {
|
||
|
regulator-name = "vreg_l1c";
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l12c: ldo12 {
|
||
|
regulator-name = "vreg_l12c";
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l13c: ldo13 {
|
||
|
regulator-name = "vreg_l13c";
|
||
|
regulator-min-microvolt = <3072000>;
|
||
|
regulator-max-microvolt = <3072000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_bob: bob {
|
||
|
regulator-name = "vreg_bob";
|
||
|
regulator-min-microvolt = <3008000>;
|
||
|
regulator-max-microvolt = <3960000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
|
||
|
regulator-always-on;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
regulators-2 {
|
||
|
compatible = "qcom,pm8350-rpmh-regulators";
|
||
|
qcom,pmic-id = "d";
|
||
|
|
||
|
vdd-l1-l4-supply = <&vreg_s11b>;
|
||
|
vdd-l2-l7-supply = <&vreg_bob>;
|
||
|
vdd-l3-l5-supply = <&vreg_s11b>;
|
||
|
vdd-l6-l9-l10-supply = <&vreg_s12b>;
|
||
|
vdd-l8-supply = <&vreg_s12b>;
|
||
|
|
||
|
vreg_l3d: ldo3 {
|
||
|
regulator-name = "vreg_l3d";
|
||
|
regulator-min-microvolt = <1200000>;
|
||
|
regulator-max-microvolt = <1200000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l4d: ldo4 {
|
||
|
regulator-name = "vreg_l4d";
|
||
|
regulator-min-microvolt = <1200000>;
|
||
|
regulator-max-microvolt = <1200000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l6d: ldo6 {
|
||
|
regulator-name = "vreg_l6d";
|
||
|
regulator-min-microvolt = <880000>;
|
||
|
regulator-max-microvolt = <880000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l7d: ldo7 {
|
||
|
regulator-name = "vreg_l7d";
|
||
|
regulator-min-microvolt = <3072000>;
|
||
|
regulator-max-microvolt = <3072000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l9d: ldo9 {
|
||
|
regulator-name = "vreg_l9d";
|
||
|
regulator-min-microvolt = <912000>;
|
||
|
regulator-max-microvolt = <912000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&dispcc0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&dispcc1 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&gpu {
|
||
|
status = "okay";
|
||
|
|
||
|
zap-shader {
|
||
|
memory-region = <&gpu_mem>;
|
||
|
firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qcdxkmsuc8280.mbn";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&mdss0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&mdss0_dp0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&mdss0_dp0_out {
|
||
|
data-lanes = <0 1>;
|
||
|
remote-endpoint = <&usb_0_qmpphy_dp_in>;
|
||
|
};
|
||
|
|
||
|
&mdss0_dp1 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&mdss0_dp1_out {
|
||
|
data-lanes = <0 1>;
|
||
|
remote-endpoint = <&usb_1_qmpphy_dp_in>;
|
||
|
};
|
||
|
|
||
|
&pcie2a {
|
||
|
perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
|
||
|
wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
|
||
|
|
||
|
vddpe-3v3-supply = <&vreg_nvme>;
|
||
|
|
||
|
pinctrl-0 = <&pcie2a_default>;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pcie2a_phy {
|
||
|
vdda-phy-supply = <&vreg_l6d>;
|
||
|
vdda-pll-supply = <&vreg_l4d>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pcie3a {
|
||
|
perst-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
|
||
|
wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
|
||
|
|
||
|
vddpe-3v3-supply = <&vreg_wwan>;
|
||
|
|
||
|
pinctrl-0 = <&pcie3a_default>;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pcie3a_phy {
|
||
|
vdda-phy-supply = <&vreg_l6d>;
|
||
|
vdda-pll-supply = <&vreg_l4d>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pcie4 {
|
||
|
max-link-speed = <2>;
|
||
|
|
||
|
perst-gpios = <&tlmm 141 GPIO_ACTIVE_LOW>;
|
||
|
wake-gpios = <&tlmm 139 GPIO_ACTIVE_LOW>;
|
||
|
|
||
|
vddpe-3v3-supply = <&vreg_wlan>;
|
||
|
|
||
|
pinctrl-0 = <&pcie4_default>;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pcie4_port0 {
|
||
|
wifi@0 {
|
||
|
compatible = "pci17cb,1103";
|
||
|
reg = <0x10000 0x0 0x0 0x0 0x0>;
|
||
|
|
||
|
qcom,ath11k-calibration-variant = "MS_SP9_5G";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&pcie4_phy {
|
||
|
vdda-phy-supply = <&vreg_l6d>;
|
||
|
vdda-pll-supply = <&vreg_l4d>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pmk8280_pon_pwrkey {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pmk8280_pon_resin {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pmk8280_rtc {
|
||
|
nvmem-cells = <&rtc_offset>;
|
||
|
nvmem-cell-names = "offset";
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pmk8280_sdam_6 {
|
||
|
status = "okay";
|
||
|
|
||
|
rtc_offset: rtc-offset@bc {
|
||
|
reg = <0xbc 0x4>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&qup0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&qup1 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&qup2 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&remoteproc_adsp {
|
||
|
firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qcadsp8280.mbn";
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&remoteproc_nsp0 {
|
||
|
firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qccdsp8280.mbn";
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&rxmacro {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&sound {
|
||
|
compatible = "qcom,sc8280xp-sndcard";
|
||
|
model = "SC8280XP-MICROSOFT-SURFACE-PRO-9-5G";
|
||
|
audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
|
||
|
"SpkrRight IN", "WSA_SPK2 OUT",
|
||
|
"IN1_HPHL", "HPHL_OUT",
|
||
|
"IN2_HPHR", "HPHR_OUT",
|
||
|
"AMIC2", "MIC BIAS2",
|
||
|
"VA DMIC0", "MIC BIAS1",
|
||
|
"VA DMIC1", "MIC BIAS1",
|
||
|
"VA DMIC2", "MIC BIAS3",
|
||
|
"VA DMIC0", "VA MIC BIAS1",
|
||
|
"VA DMIC1", "VA MIC BIAS1",
|
||
|
"VA DMIC2", "VA MIC BIAS3",
|
||
|
"TX SWR_ADC1", "ADC2_OUTPUT";
|
||
|
|
||
|
wcd-playback-dai-link {
|
||
|
link-name = "WCD Playback";
|
||
|
|
||
|
cpu {
|
||
|
sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
|
||
|
};
|
||
|
|
||
|
codec {
|
||
|
sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
|
||
|
};
|
||
|
|
||
|
platform {
|
||
|
sound-dai = <&q6apm>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
wcd-capture-dai-link {
|
||
|
link-name = "WCD Capture";
|
||
|
|
||
|
cpu {
|
||
|
sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
|
||
|
};
|
||
|
|
||
|
codec {
|
||
|
sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
|
||
|
};
|
||
|
|
||
|
platform {
|
||
|
sound-dai = <&q6apm>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
wsa-dai-link {
|
||
|
link-name = "WSA Playback";
|
||
|
|
||
|
cpu {
|
||
|
sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
|
||
|
};
|
||
|
|
||
|
codec {
|
||
|
sound-dai = <&swr0 0>, <&wsamacro 0>;
|
||
|
};
|
||
|
|
||
|
platform {
|
||
|
sound-dai = <&q6apm>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
va-dai-link {
|
||
|
link-name = "VA Capture";
|
||
|
|
||
|
cpu {
|
||
|
sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
|
||
|
};
|
||
|
|
||
|
platform {
|
||
|
sound-dai = <&q6apm>;
|
||
|
};
|
||
|
|
||
|
codec {
|
||
|
sound-dai = <&vamacro 0>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&swr0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&swr1 {
|
||
|
status = "okay";
|
||
|
|
||
|
wcd_rx: codec@0,4 {
|
||
|
compatible = "sdw20217010d00";
|
||
|
reg = <0 4>;
|
||
|
qcom,rx-port-mapping = <1 2 3 4 5>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&swr2 {
|
||
|
status = "okay";
|
||
|
|
||
|
wcd_tx: codec@0,3 {
|
||
|
compatible = "sdw20217010d00";
|
||
|
reg = <0 3>;
|
||
|
qcom,tx-port-mapping = <1 1 2 3>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&txmacro {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&uart2 {
|
||
|
pinctrl-0 = <&uart2_default>;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
status = "okay";
|
||
|
|
||
|
bluetooth {
|
||
|
compatible = "qcom,wcn6855-bt";
|
||
|
|
||
|
vddio-supply = <&vreg_s10b>;
|
||
|
vddbtcxmx-supply = <&vreg_s12b>;
|
||
|
vddrfacmn-supply = <&vreg_s12b>;
|
||
|
vddrfa0p8-supply = <&vreg_s12b>;
|
||
|
vddrfa1p2-supply = <&vreg_s11b>;
|
||
|
vddrfa1p7-supply = <&vreg_s1c>;
|
||
|
|
||
|
max-speed = <3200000>;
|
||
|
|
||
|
enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
|
||
|
swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
|
||
|
|
||
|
pinctrl-0 = <&bt_default>;
|
||
|
pinctrl-names = "default";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&uart18 {
|
||
|
status = "okay";
|
||
|
|
||
|
embedded-controller {
|
||
|
compatible = "microsoft,surface-sam";
|
||
|
|
||
|
interrupts-extended = <&tlmm 85 IRQ_TYPE_EDGE_RISING>;
|
||
|
|
||
|
current-speed = <4000000>;
|
||
|
|
||
|
pinctrl-0 = <&ssam_state>;
|
||
|
pinctrl-names = "default";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&usb_0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_0_dwc3 {
|
||
|
dr_mode = "host";
|
||
|
};
|
||
|
|
||
|
&usb_0_dwc3_hs {
|
||
|
remote-endpoint = <&pmic_glink_con0_hs>;
|
||
|
};
|
||
|
|
||
|
&usb_0_hsphy {
|
||
|
vdda-pll-supply = <&vreg_l9d>;
|
||
|
vdda18-supply = <&vreg_l1c>;
|
||
|
vdda33-supply = <&vreg_l7d>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_0_qmpphy {
|
||
|
vdda-phy-supply = <&vreg_l9d>;
|
||
|
vdda-pll-supply = <&vreg_l4d>;
|
||
|
|
||
|
orientation-switch;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_0_qmpphy_dp_in {
|
||
|
remote-endpoint = <&mdss0_dp0_out>;
|
||
|
};
|
||
|
|
||
|
&usb_0_qmpphy_out {
|
||
|
remote-endpoint = <&pmic_glink_con0_ss>;
|
||
|
};
|
||
|
|
||
|
&usb_1 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_1_dwc3 {
|
||
|
dr_mode = "host";
|
||
|
};
|
||
|
|
||
|
&usb_1_dwc3_hs {
|
||
|
remote-endpoint = <&pmic_glink_con1_hs>;
|
||
|
};
|
||
|
|
||
|
&usb_1_hsphy {
|
||
|
vdda-pll-supply = <&vreg_l4b>;
|
||
|
vdda18-supply = <&vreg_l1c>;
|
||
|
vdda33-supply = <&vreg_l13c>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_1_qmpphy {
|
||
|
vdda-phy-supply = <&vreg_l4b>;
|
||
|
vdda-pll-supply = <&vreg_l3b>;
|
||
|
|
||
|
orientation-switch;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_1_qmpphy_dp_in {
|
||
|
remote-endpoint = <&mdss0_dp1_out>;
|
||
|
};
|
||
|
|
||
|
&usb_1_qmpphy_out {
|
||
|
remote-endpoint = <&pmic_glink_con1_ss>;
|
||
|
};
|
||
|
|
||
|
&vamacro {
|
||
|
pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
vdd-micb-supply = <&vreg_s10b>;
|
||
|
|
||
|
qcom,dmic-sample-rate = <4800000>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&wsamacro {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&xo_board_clk {
|
||
|
clock-frequency = <38400000>;
|
||
|
};
|
||
|
|
||
|
/* PINCTRL */
|
||
|
|
||
|
&lpass_tlmm {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pmc8280_2_gpios {
|
||
|
wwan_sw_en: wwan-sw-en-state {
|
||
|
pins = "gpio1";
|
||
|
function = "normal";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&pmr735a_gpios {
|
||
|
hastings_reg_en: hastings-reg-en-state {
|
||
|
pins = "gpio1";
|
||
|
function = "normal";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&tlmm {
|
||
|
bt_default: bt-default-state {
|
||
|
hstp-bt-en-pins {
|
||
|
pins = "gpio133";
|
||
|
function = "gpio";
|
||
|
drive-strength = <16>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
hstp-sw-ctrl-pins {
|
||
|
pins = "gpio132";
|
||
|
function = "gpio";
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
nvme_reg_en: nvme-reg-en-state {
|
||
|
pins = "gpio135";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
pcie2a_default: pcie2a-default-state {
|
||
|
clkreq-n-pins {
|
||
|
pins = "gpio142";
|
||
|
function = "pcie2a_clkreq";
|
||
|
drive-strength = <2>;
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
perst-n-pins {
|
||
|
pins = "gpio143";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
wake-n-pins {
|
||
|
pins = "gpio145";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
pcie3a_default: pcie3a-default-state {
|
||
|
clkreq-n-pins {
|
||
|
pins = "gpio150";
|
||
|
function = "pcie3a_clkreq";
|
||
|
drive-strength = <2>;
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
perst-n-pins {
|
||
|
pins = "gpio151";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
wake-n-pins {
|
||
|
pins = "gpio148";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
pcie4_default: pcie4-default-state {
|
||
|
clkreq-n-pins {
|
||
|
pins = "gpio140";
|
||
|
function = "pcie4_clkreq";
|
||
|
drive-strength = <2>;
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
perst-n-pins {
|
||
|
pins = "gpio141";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
wake-n-pins {
|
||
|
pins = "gpio139";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
|
||
|
ssam_state: ssam-state-state {
|
||
|
pins = "gpio85";
|
||
|
function = "gpio";
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
uart2_default: uart2-default-state {
|
||
|
cts-pins {
|
||
|
pins = "gpio121";
|
||
|
function = "qup2";
|
||
|
bias-bus-hold;
|
||
|
};
|
||
|
|
||
|
rts-pins {
|
||
|
pins = "gpio122";
|
||
|
function = "qup2";
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
rx-pins {
|
||
|
pins = "gpio124";
|
||
|
function = "qup2";
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
tx-pins {
|
||
|
pins = "gpio123";
|
||
|
function = "qup2";
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
usb0_sbu_default: usb0-sbu-state {
|
||
|
oe-n-pins {
|
||
|
pins = "gpio101";
|
||
|
function = "gpio";
|
||
|
bias-disable;
|
||
|
drive-strength = <16>;
|
||
|
output-high;
|
||
|
};
|
||
|
|
||
|
sel-pins {
|
||
|
pins = "gpio164";
|
||
|
function = "gpio";
|
||
|
bias-disable;
|
||
|
drive-strength = <16>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
usb1_sbu_default: usb1-sbu-state {
|
||
|
oe-n-pins {
|
||
|
pins = "gpio48";
|
||
|
function = "gpio";
|
||
|
bias-disable;
|
||
|
drive-strength = <16>;
|
||
|
output-high;
|
||
|
};
|
||
|
|
||
|
sel-pins {
|
||
|
pins = "gpio47";
|
||
|
function = "gpio";
|
||
|
bias-disable;
|
||
|
drive-strength = <16>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
wcd_default: wcd-default-state {
|
||
|
reset-pins {
|
||
|
pins = "gpio106";
|
||
|
function = "gpio";
|
||
|
bias-disable;
|
||
|
};
|
||
|
};
|
||
|
};
|