arm64: dts: qcom: sm8750-mtp: Add WiFi and Bluetooth

MTP8750 rev 2.0 (power grid v8) boards come as two different variants
with different WiFi chips: WCN7850 and WCN786x.  WCN7850 is already
supported by the kernel, but WCN786x is not.  Both of the board variants
are considered newest revisions and the difference is only in MCN
numbers and internal codenames.

Add WCN7850 WiFi and Bluetooth to the MTP8750, stating that this DTS
represents the WCN7850 variant.  The S4D and S5F regulators should
operate at 0.85 V, thus adjust lower constraint and regulator name.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250902140018.247209-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
Krzysztof Kozlowski
2025-09-02 16:00:19 +02:00
committed by Bjorn Andersson
parent 48e7e8996c
commit 141714e163

View File

@@ -201,6 +201,74 @@
regulator-always-on;
regulator-boot-on;
};
/*
* MTPs rev 2.0 (power grid v8) come with two different WiFi chips:
* WCN7850 and WCN786x.
* Device nodes here for the PMU, WiFi and Bluetooth describe the MTP
* variant with WCN7850.
*/
wcn7850-pmu {
compatible = "qcom,wcn7850-pmu";
pinctrl-names = "default";
pinctrl-0 = <&wlan_en>, <&bt_default>;
wlan-enable-gpios = <&tlmm 16 GPIO_ACTIVE_HIGH>;
bt-enable-gpios = <&pm8550ve_f_gpios 3 GPIO_ACTIVE_HIGH>;
vdd-supply = <&vreg_s5f_0p85>;
vddio-supply = <&vreg_l3f_1p8>;
vddio1p2-supply = <&vreg_l2f_1p2>;
vddaon-supply = <&vreg_s4d_0p85>;
vdddig-supply = <&vreg_s1d_0p97>;
vddrfa1p2-supply = <&vreg_s7i_1p2>;
vddrfa1p8-supply = <&vreg_s3g_1p8>;
clocks = <&rpmhcc RPMH_RF_CLK1>;
regulators {
vreg_pmu_rfa_cmn: ldo0 {
regulator-name = "vreg_pmu_rfa_cmn";
};
vreg_pmu_aon_0p59: ldo1 {
regulator-name = "vreg_pmu_aon_0p59";
};
vreg_pmu_wlcx_0p8: ldo2 {
regulator-name = "vreg_pmu_wlcx_0p8";
};
vreg_pmu_wlmx_0p85: ldo3 {
regulator-name = "vreg_pmu_wlmx_0p85";
};
vreg_pmu_btcmx_0p85: ldo4 {
regulator-name = "vreg_pmu_btcmx_0p85";
};
vreg_pmu_rfa_0p8: ldo5 {
regulator-name = "vreg_pmu_rfa_0p8";
};
vreg_pmu_rfa_1p2: ldo6 {
regulator-name = "vreg_pmu_rfa_1p2";
};
vreg_pmu_rfa_1p8: ldo7 {
regulator-name = "vreg_pmu_rfa_1p8";
};
vreg_pmu_pcie_0p9: ldo8 {
regulator-name = "vreg_pmu_pcie_0p9";
};
vreg_pmu_pcie_1p8: ldo9 {
regulator-name = "vreg_pmu_pcie_1p8";
};
};
};
};
&apps_rsc {
@@ -426,7 +494,7 @@
vreg_s4d_0p85: smps4 {
regulator-name = "vreg_s4d_0p85";
regulator-min-microvolt = <500000>;
regulator-min-microvolt = <852000>;
regulator-max-microvolt = <1036000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
@@ -472,9 +540,9 @@
qcom,pmic-id = "f";
vreg_s5f_0p5: smps5 {
regulator-name = "vreg_s5f_0p5";
regulator-min-microvolt = <500000>;
vreg_s5f_0p85: smps5 {
regulator-name = "vreg_s5f_0p85";
regulator-min-microvolt = <852000>;
regulator-max-microvolt = <1000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
@@ -891,6 +959,40 @@
status = "okay";
};
&pcie0 {
wake-gpios = <&tlmm 104 GPIO_ACTIVE_HIGH>;
perst-gpios = <&tlmm 102 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&pcie0_default_state>;
pinctrl-names = "default";
status = "okay";
};
&pcie0_phy {
vdda-phy-supply = <&vreg_l1f_0p88>;
vdda-pll-supply = <&vreg_l3g_1p2>;
status = "okay";
};
&pcieport0 {
wifi@0 {
compatible = "pci17cb,1107";
reg = <0x10000 0x0 0x0 0x0 0x0>;
vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
vddaon-supply = <&vreg_pmu_aon_0p59>;
vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
};
};
&pmih0108_eusb2_repeater {
status = "okay";
@@ -902,6 +1004,10 @@
status = "okay";
};
&qupv3_2 {
status = "okay";
};
&remoteproc_adsp {
firmware-name = "qcom/sm8750/adsp.mbn",
"qcom/sm8750/adsp_dtb.mbn";
@@ -1035,6 +1141,14 @@
};
&tlmm {
bt_default: bt-default-state {
sw-ctrl-pins {
pins = "gpio18";
function = "gpio";
bias-pull-down;
};
};
wcd_default: wcd-reset-n-active-state {
pins = "gpio101";
function = "gpio";
@@ -1042,6 +1156,31 @@
bias-disable;
output-low;
};
wlan_en: wlan-en-state {
pins = "gpio16";
function = "gpio";
drive-strength = <8>;
bias-pull-down;
};
};
&uart14 {
status = "okay";
bluetooth {
compatible = "qcom,wcn7850-bt";
vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
vddaon-supply = <&vreg_pmu_aon_0p59>;
vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
max-speed = <3200000>;
};
};
&ufs_mem_phy {