]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: Add base HAMOA-IOT-EVK board
authorYijie Yang <yijie.yang@oss.qualcomm.com>
Wed, 17 Sep 2025 02:59:00 +0000 (10:59 +0800)
committerBjorn Andersson <andersson@kernel.org>
Thu, 18 Sep 2025 02:16:49 +0000 (21:16 -0500)
The HAMOA-IOT-EVK is an evaluation platform for IoT products, composed of
the Hamoa IoT SoM and a carrier board. Together, they form a complete
embedded system capable of booting to UART.

Make the following peripherals on the carrier board enabled:
- UART
- On-board regulators
- USB Type-C mux
- Pinctrl
- Embedded USB (EUSB) repeaters
- NVMe
- pmic-glink
- USB DisplayPorts
- Bluetooth
- WLAN
- Audio

Written in collaboration with Quill Qi (Audio) <le.qi@oss.qualcomm.com>,
Jie Zhang (Graphics) <quic_jiezh@quicinc.com>, Shuai Zhang (Bluetooth)
<quic_shuaz@quicinc.com>, Yingying Tang (WLAN) <quic_yintang@quicinc.com>,
and Yongxing Mou (USB DisplayPorts) <quic_yongmou@quicinc.com>.

Signed-off-by: Yijie Yang <yijie.yang@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250917-hamoa_initial-v12-3-4ed39d17dfc5@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts [new file with mode: 0644]

index d7f22476d510ee037fa978c7a8366b8d546d8dc8..296688f7cb26550f75bce65826f234bc24110356 100644 (file)
@@ -13,6 +13,7 @@ dtb-$(CONFIG_ARCH_QCOM)       += apq8039-t2.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += apq8094-sony-xperia-kitakami-karin_windy.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += apq8096-db820c.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += apq8096-ifc6640.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += hamoa-iot-evk.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq5018-rdp432-c2.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq5018-tplink-archer-ax55-v1.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq5332-rdp441.dtb
diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
new file mode 100644 (file)
index 0000000..df8d6e5
--- /dev/null
@@ -0,0 +1,1222 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+
+#include "hamoa-iot-som.dtsi"
+
+/ {
+       model = "Qualcomm Technologies, Inc. Hamoa IoT EVK";
+       compatible = "qcom,hamoa-iot-evk", "qcom,hamoa-iot-som", "qcom,x1e80100";
+       chassis-type = "embedded";
+
+       aliases {
+               serial0 = &uart21;
+               serial1 = &uart14;
+       };
+
+       wcd938x: audio-codec {
+               compatible = "qcom,wcd9385-codec";
+
+               pinctrl-0 = <&wcd_default>;
+               pinctrl-names = "default";
+
+               reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
+
+               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>;
+
+               vdd-buck-supply = <&vreg_l15b_1p8>;
+               vdd-rxtx-supply = <&vreg_l15b_1p8>;
+               vdd-io-supply = <&vreg_l15b_1p8>;
+               vdd-mic-bias-supply = <&vreg_bob1>;
+
+               #sound-dai-cells = <1>;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       pmic-glink {
+               compatible = "qcom,x1e80100-pmic-glink",
+                            "qcom,sm8550-pmic-glink",
+                            "qcom,pmic-glink";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
+                                   <&tlmm 123 GPIO_ACTIVE_HIGH>,
+                                   <&tlmm 125 GPIO_ACTIVE_HIGH>;
+
+               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_ss0_hs_in: endpoint {
+                                               remote-endpoint = <&usb_1_ss0_dwc3_hs>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+
+                                       pmic_glink_ss0_ss_in: endpoint {
+                                               remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <2>;
+
+                                       pmic_glink_ss0_sbu: endpoint {
+                                               remote-endpoint = <&usb_1_ss0_sbu_mux>;
+                                       };
+                               };
+                       };
+               };
+
+               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_ss1_hs_in: endpoint {
+                                               remote-endpoint = <&usb_1_ss1_dwc3_hs>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+
+                                       pmic_glink_ss1_ss_in: endpoint {
+                                               remote-endpoint = <&retimer_ss1_ss_out>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <2>;
+
+                                       pmic_glink_ss1_con_sbu_in: endpoint {
+                                               remote-endpoint = <&retimer_ss1_con_sbu_out>;
+                                       };
+                               };
+                       };
+               };
+
+               connector@2 {
+                       compatible = "usb-c-connector";
+                       reg = <2>;
+                       power-role = "dual";
+                       data-role = "dual";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+
+                                       pmic_glink_ss2_hs_in: endpoint {
+                                               remote-endpoint = <&usb_1_ss2_dwc3_hs>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+
+                                       pmic_glink_ss2_ss_in: endpoint {
+                                               remote-endpoint = <&retimer_ss2_ss_out>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <2>;
+
+                                       pmic_glink_ss2_con_sbu_in: endpoint {
+                                               remote-endpoint = <&retimer_ss2_con_sbu_out>;
+                                       };
+                               };
+                       };
+               };
+       };
+
+       vreg_edp_3p3: regulator-edp-3p3 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_EDP_3P3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&edp_reg_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       vreg_nvme: regulator-nvme {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_NVME_3P3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&nvme_reg_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       /* Left unused as the retimer is not used on this board. */
+       vreg_rtmr0_1p15: regulator-rtmr0-1p15 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_RTMR0_1P15";
+               regulator-min-microvolt = <1150000>;
+               regulator-max-microvolt = <1150000>;
+
+               gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&usb0_pwr_1p15_reg_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       vreg_rtmr0_1p8: regulator-rtmr0-1p8 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_RTMR0_1P8";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+
+               gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&usb0_1p8_reg_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       vreg_rtmr0_3p3: regulator-rtmr0-3p3 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_RTMR0_3P3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&usb0_3p3_reg_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       vreg_rtmr1_1p15: regulator-rtmr1-1p15 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_RTMR1_1P15";
+               regulator-min-microvolt = <1150000>;
+               regulator-max-microvolt = <1150000>;
+
+               gpio = <&tlmm 188 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&usb1_pwr_1p15_reg_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       vreg_rtmr1_1p8: regulator-rtmr1-1p8 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_RTMR1_1P8";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+
+               gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&usb1_pwr_1p8_reg_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       vreg_rtmr1_3p3: regulator-rtmr1-3p3 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_RTMR1_3P3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&usb1_pwr_3p3_reg_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       vreg_rtmr2_1p15: regulator-rtmr2-1p15 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_RTMR2_1P15";
+               regulator-min-microvolt = <1150000>;
+               regulator-max-microvolt = <1150000>;
+
+               gpio = <&tlmm 189 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&usb2_pwr_1p15_reg_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       vreg_rtmr2_1p8: regulator-rtmr2-1p8 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_RTMR2_1P8";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+
+               gpio = <&tlmm 126 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&usb2_pwr_1p8_reg_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       vreg_rtmr2_3p3: regulator-rtmr2-3p3 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_RTMR2_3P3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpio = <&tlmm 187 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&usb2_pwr_3p3_reg_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       vph_pwr: regulator-vph-pwr {
+               compatible = "regulator-fixed";
+
+               regulator-name = "vph_pwr";
+               regulator-min-microvolt = <3700000>;
+               regulator-max-microvolt = <3700000>;
+
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       /*
+        * TODO: These two regulators are actually part of the removable M.2
+        * card and not the EVK mainboard. Need to describe this differently.
+        * Functionally it works correctly, because all we need to do is to
+        * turn on the actual 3.3V supply above.
+        */
+       vreg_wcn_0p95: regulator-wcn-0p95 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_WCN_0P95";
+               regulator-min-microvolt = <950000>;
+               regulator-max-microvolt = <950000>;
+
+               vin-supply = <&vreg_wcn_3p3>;
+       };
+
+       vreg_wcn_1p9: regulator-wcn-1p9 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_WCN_1P9";
+               regulator-min-microvolt = <1900000>;
+               regulator-max-microvolt = <1900000>;
+
+               vin-supply = <&vreg_wcn_3p3>;
+       };
+
+       vreg_wcn_3p3: regulator-wcn-3p3 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_WCN_3P3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&wcn_sw_en>;
+               pinctrl-names = "default";
+
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       vreg_wwan: regulator-wwan {
+               compatible = "regulator-fixed";
+
+               regulator-name = "SDX_VPH_PWR";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpio = <&tlmm 221 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&wwan_sw_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       sound {
+               compatible = "qcom,x1e80100-sndcard";
+               model = "X1E80100-EVK";
+               audio-routing = "WooferLeft IN", "WSA WSA_SPK1 OUT",
+                               "TweeterLeft IN", "WSA WSA_SPK2 OUT",
+                               "WooferRight IN", "WSA2 WSA_SPK2 OUT",
+                               "TweeterRight IN", "WSA2 WSA_SPK2 OUT",
+                               "IN1_HPHL", "HPHL_OUT",
+                               "IN2_HPHR", "HPHR_OUT",
+                               "AMIC2", "MIC BIAS2",
+                               "VA DMIC0", "MIC BIAS3",
+                               "VA DMIC1", "MIC BIAS3",
+                               "VA DMIC2", "MIC BIAS1",
+                               "VA DMIC3", "MIC BIAS1",
+                               "TX SWR_INPUT1", "ADC2_OUTPUT";
+
+               wcd-playback-dai-link {
+                       link-name = "WCD Playback";
+
+                       codec {
+                               sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
+                       };
+
+                       cpu {
+                               sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
+                       };
+
+                       platform {
+                               sound-dai = <&q6apm>;
+                       };
+               };
+
+               wcd-capture-dai-link {
+                       link-name = "WCD Capture";
+
+                       codec {
+                               sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>;
+                       };
+
+                       cpu {
+                               sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
+                       };
+
+                       platform {
+                               sound-dai = <&q6apm>;
+                       };
+               };
+
+               wsa-dai-link {
+                       link-name = "WSA Playback";
+
+                       codec {
+                               sound-dai = <&left_woofer>,
+                                           <&left_tweeter>,
+                                           <&swr0 0>,
+                                           <&lpass_wsamacro 0>,
+                                           <&right_woofer>,
+                                           <&right_tweeter>,
+                                           <&swr3 0>,
+                                           <&lpass_wsa2macro 0>;
+                       };
+
+                       cpu {
+                               sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
+                       };
+
+                       platform {
+                               sound-dai = <&q6apm>;
+                       };
+               };
+
+               va-dai-link {
+                       link-name = "VA Capture";
+
+                       codec {
+                               sound-dai = <&lpass_vamacro 0>;
+                       };
+
+                       cpu {
+                               sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
+                       };
+
+                       platform {
+                               sound-dai = <&q6apm>;
+                       };
+               };
+       };
+
+       usb-1-ss0-sbu-mux {
+               compatible = "onnn,fsusb42", "gpio-sbu-mux";
+
+               enable-gpios = <&tlmm 168 GPIO_ACTIVE_LOW>;
+               select-gpios = <&tlmm 167 GPIO_ACTIVE_HIGH>;
+
+               pinctrl-0 = <&usb_1_ss0_sbu_default>;
+               pinctrl-names = "default";
+
+               mode-switch;
+               orientation-switch;
+
+               port {
+                       usb_1_ss0_sbu_mux: endpoint {
+                               remote-endpoint = <&pmic_glink_ss0_sbu>;
+                       };
+               };
+       };
+
+       wcn7850-pmu {
+               compatible = "qcom,wcn7850-pmu";
+
+               vdd-supply = <&vreg_wcn_0p95>;
+               vddio-supply = <&vreg_l15b_1p8>;
+               vddaon-supply = <&vreg_wcn_0p95>;
+               vdddig-supply = <&vreg_wcn_0p95>;
+               vddrfa1p2-supply = <&vreg_wcn_1p9>;
+               vddrfa1p8-supply = <&vreg_wcn_1p9>;
+
+               bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
+               wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
+
+               pinctrl-0 = <&wcn_bt_en>;
+               pinctrl-names = "default";
+
+               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";
+                       };
+               };
+       };
+};
+
+&i2c1 {
+       clock-frequency = <400000>;
+       status = "okay";
+
+       typec-mux@8 {
+               compatible = "parade,ps8830";
+               reg = <0x08>;
+
+               clocks = <&rpmhcc RPMH_RF_CLK5>;
+
+               vdd-supply = <&vreg_rtmr2_1p15>;
+               vdd33-supply = <&vreg_rtmr2_3p3>;
+               vdd33-cap-supply = <&vreg_rtmr2_3p3>;
+               vddar-supply = <&vreg_rtmr2_1p15>;
+               vddat-supply = <&vreg_rtmr2_1p15>;
+               vddio-supply = <&vreg_rtmr2_1p8>;
+
+               reset-gpios = <&tlmm 185 GPIO_ACTIVE_LOW>;
+
+               pinctrl-0 = <&rtmr2_default>;
+               pinctrl-names = "default";
+
+               orientation-switch;
+               retimer-switch;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+
+                               retimer_ss2_ss_out: endpoint {
+                                       remote-endpoint = <&pmic_glink_ss2_ss_in>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+
+                               retimer_ss2_ss_in: endpoint {
+                                       remote-endpoint = <&usb_1_ss2_qmpphy_out>;
+                               };
+                       };
+
+                       port@2 {
+                               reg = <2>;
+
+                               retimer_ss2_con_sbu_out: endpoint {
+                                       remote-endpoint = <&pmic_glink_ss2_con_sbu_in>;
+                               };
+                       };
+               };
+       };
+};
+
+&i2c5 {
+       clock-frequency = <400000>;
+
+       status = "okay";
+
+       eusb3_repeater: redriver@47 {
+               compatible = "nxp,ptn3222";
+               reg = <0x47>;
+               #phy-cells = <0>;
+
+               vdd3v3-supply = <&vreg_l13b_3p0>;
+               vdd1v8-supply = <&vreg_l4b_1p8>;
+
+               reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
+
+               pinctrl-0 = <&eusb3_reset_n>;
+               pinctrl-names = "default";
+       };
+
+       eusb5_repeater: redriver@43 {
+               compatible = "nxp,ptn3222";
+               reg = <0x43>;
+               #phy-cells = <0>;
+
+               vdd3v3-supply = <&vreg_l13b_3p0>;
+               vdd1v8-supply = <&vreg_l4b_1p8>;
+
+               reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>;
+
+               pinctrl-0 = <&eusb5_reset_n>;
+               pinctrl-names = "default";
+       };
+
+       eusb6_repeater: redriver@4f {
+               compatible = "nxp,ptn3222";
+               reg = <0x4f>;
+               #phy-cells = <0>;
+
+               vdd3v3-supply = <&vreg_l13b_3p0>;
+               vdd1v8-supply = <&vreg_l4b_1p8>;
+
+               reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
+
+               pinctrl-0 = <&eusb6_reset_n>;
+               pinctrl-names = "default";
+       };
+};
+
+&i2c7 {
+       clock-frequency = <400000>;
+
+       status = "okay";
+
+       typec-mux@8 {
+               compatible = "parade,ps8830";
+               reg = <0x8>;
+
+               clocks = <&rpmhcc RPMH_RF_CLK4>;
+
+               vdd-supply = <&vreg_rtmr1_1p15>;
+               vdd33-supply = <&vreg_rtmr1_3p3>;
+               vdd33-cap-supply = <&vreg_rtmr1_3p3>;
+               vddar-supply = <&vreg_rtmr1_1p15>;
+               vddat-supply = <&vreg_rtmr1_1p15>;
+               vddio-supply = <&vreg_rtmr1_1p8>;
+
+               reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>;
+
+               pinctrl-0 = <&rtmr1_default>;
+               pinctrl-names = "default";
+
+               retimer-switch;
+               orientation-switch;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+
+                               retimer_ss1_ss_out: endpoint {
+                                       remote-endpoint = <&pmic_glink_ss1_ss_in>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+
+                               retimer_ss1_ss_in: endpoint {
+                                       remote-endpoint = <&usb_1_ss1_qmpphy_out>;
+                               };
+                       };
+
+                       port@2 {
+                               reg = <2>;
+
+                               retimer_ss1_con_sbu_out: endpoint {
+                                       remote-endpoint = <&pmic_glink_ss1_con_sbu_in>;
+                               };
+                       };
+               };
+       };
+};
+
+&lpass_tlmm {
+       spkr_01_sd_n_active: spkr-01-sd-n-active-state {
+               pins = "gpio12";
+               function = "gpio";
+               drive-strength = <16>;
+               bias-disable;
+               output-low;
+       };
+
+       spkr_23_sd_n_active: spkr-23-sd-n-active-state {
+               pins = "gpio13";
+               function = "gpio";
+               drive-strength = <16>;
+               bias-disable;
+               output-low;
+       };
+};
+
+&lpass_vamacro {
+       pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
+       pinctrl-names = "default";
+
+       vdd-micb-supply = <&vreg_l1b_1p8>;
+       qcom,dmic-sample-rate = <4800000>;
+};
+
+&mdss {
+       status = "okay";
+};
+
+&mdss_dp0 {
+       status = "okay";
+};
+
+&mdss_dp0_out {
+       link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+};
+
+&mdss_dp1 {
+       status = "okay";
+};
+
+&mdss_dp1_out {
+       link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+};
+
+&mdss_dp2 {
+       status = "okay";
+};
+
+&mdss_dp2_out {
+       link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+};
+
+&mdss_dp3 {
+       /delete-property/ #sound-dai-cells;
+
+       pinctrl-0 = <&edp0_hpd_default>;
+       pinctrl-names = "default";
+
+       status = "okay";
+
+       aux-bus {
+               panel {
+                       compatible = "edp-panel";
+                       power-supply = <&vreg_edp_3p3>;
+
+                       port {
+                               edp_panel_in: endpoint {
+                                       remote-endpoint = <&mdss_dp3_out>;
+                               };
+                       };
+               };
+       };
+};
+
+&mdss_dp3_out {
+       data-lanes = <0 1 2 3>;
+       link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+
+       remote-endpoint = <&edp_panel_in>;
+};
+
+&mdss_dp3_phy {
+       vdda-phy-supply = <&vreg_l3j_0p8>;
+       vdda-pll-supply = <&vreg_l2j_1p2>;
+
+       status = "okay";
+};
+
+&pcie6a {
+       vddpe-3v3-supply = <&vreg_nvme>;
+};
+
+&pm8550_gpios {
+       rtmr0_default: rtmr0-reset-n-active-state {
+               pins = "gpio10";
+               function = "normal";
+               power-source = <1>; /* 1.8V */
+               bias-disable;
+               input-disable;
+               output-enable;
+       };
+
+       usb0_3p3_reg_en: usb0-3p3-reg-en-state {
+               pins = "gpio11";
+               function = "normal";
+               power-source = <1>; /* 1.8V */
+               bias-disable;
+               input-disable;
+               output-enable;
+       };
+};
+
+&pm8550ve_9_gpios {
+       usb0_1p8_reg_en: usb0-1p8-reg-en-state {
+               pins = "gpio8";
+               function = "normal";
+               power-source = <1>; /* 1.8V */
+               bias-disable;
+               input-disable;
+               output-enable;
+       };
+};
+
+&pmc8380_5_gpios {
+       usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
+               pins = "gpio8";
+               function = "normal";
+               power-source = <1>; /* 1.8V */
+               bias-disable;
+               input-disable;
+               output-enable;
+       };
+};
+
+&smb2360_0 {
+       status = "okay";
+};
+
+&smb2360_0_eusb2_repeater {
+       vdd18-supply = <&vreg_l3d_1p8>;
+       vdd3-supply = <&vreg_l2b_3p0>;
+};
+
+&smb2360_1 {
+       status = "okay";
+};
+
+&smb2360_1_eusb2_repeater {
+       vdd18-supply = <&vreg_l3d_1p8>;
+       vdd3-supply = <&vreg_l14b_3p0>;
+};
+
+&smb2360_2 {
+       status = "okay";
+};
+
+&smb2360_2_eusb2_repeater {
+       vdd18-supply = <&vreg_l3d_1p8>;
+       vdd3-supply = <&vreg_l8b_3p0>;
+};
+
+&swr0 {
+       status = "okay";
+
+       pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
+       pinctrl-names = "default";
+
+       /* WSA8845, Left Woofer */
+       left_woofer: speaker@0,0 {
+               compatible = "sdw20217020400";
+               reg = <0 0>;
+               reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
+               #sound-dai-cells = <0>;
+               sound-name-prefix = "WooferLeft";
+               vdd-1p8-supply = <&vreg_l15b_1p8>;
+               vdd-io-supply = <&vreg_l12b_1p2>;
+               qcom,port-mapping = <1 2 3 7 10 13>;
+       };
+
+       /* WSA8845, Left Tweeter */
+       left_tweeter: speaker@0,1 {
+               compatible = "sdw20217020400";
+               reg = <0 1>;
+               reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
+               #sound-dai-cells = <0>;
+               sound-name-prefix = "TweeterLeft";
+               vdd-1p8-supply = <&vreg_l15b_1p8>;
+               vdd-io-supply = <&vreg_l12b_1p2>;
+               qcom,port-mapping = <4 5 6 7 11 13>;
+       };
+};
+
+&swr1 {
+       status = "okay";
+
+       /* WCD9385 RX */
+       wcd_rx: codec@0,4 {
+               compatible = "sdw20217010d00";
+               reg = <0 4>;
+               qcom,rx-port-mapping = <1 2 3 4 5>;
+       };
+};
+
+&swr2 {
+       status = "okay";
+
+       /* WCD9385 TX */
+       wcd_tx: codec@0,3 {
+               compatible = "sdw20217010d00";
+               reg = <0 3>;
+               qcom,tx-port-mapping = <2 2 3 4>;
+       };
+};
+
+&swr3 {
+       status = "okay";
+
+       pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>;
+       pinctrl-names = "default";
+
+       /* WSA8845, Right Woofer */
+       right_woofer: speaker@0,0 {
+               compatible = "sdw20217020400";
+               reg = <0 0>;
+               reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
+               #sound-dai-cells = <0>;
+               sound-name-prefix = "WooferRight";
+               vdd-1p8-supply = <&vreg_l15b_1p8>;
+               vdd-io-supply = <&vreg_l12b_1p2>;
+               qcom,port-mapping = <1 2 3 7 10 13>;
+       };
+
+       /* WSA8845, Right Tweeter */
+       right_tweeter: speaker@0,1 {
+               compatible = "sdw20217020400";
+               reg = <0 1>;
+               reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
+               #sound-dai-cells = <0>;
+               sound-name-prefix = "TweeterRight";
+               vdd-1p8-supply = <&vreg_l15b_1p8>;
+               vdd-io-supply = <&vreg_l12b_1p2>;
+               qcom,port-mapping = <4 5 6 7 11 13>;
+       };
+};
+
+&tlmm {
+       edp_reg_en: edp-reg-en-state {
+               pins = "gpio70";
+               function = "gpio";
+               drive-strength = <16>;
+               bias-disable;
+       };
+
+       eusb3_reset_n: eusb3-reset-n-state {
+               pins = "gpio6";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+               output-low;
+       };
+
+       eusb5_reset_n: eusb5-reset-n-state {
+               pins = "gpio7";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-pull-up;
+               output-low;
+       };
+
+       eusb6_reset_n: eusb6-reset-n-state {
+               pins = "gpio184";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-pull-up;
+               output-low;
+       };
+
+       nvme_reg_en: nvme-reg-en-state {
+               pins = "gpio18";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       rtmr1_default: rtmr1-reset-n-active-state {
+               pins = "gpio176";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       rtmr2_default: rtmr2-reset-n-active-state {
+               pins = "gpio185";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state {
+               pins = "gpio188";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       usb1_pwr_1p8_reg_en: usb1-pwr-1p8-reg-en-state {
+               pins = "gpio175";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       usb1_pwr_3p3_reg_en: usb1-pwr-3p3-reg-en-state {
+               pins = "gpio186";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       usb2_pwr_1p15_reg_en: usb2-pwr-1p15-reg-en-state {
+               pins = "gpio189";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       usb2_pwr_1p8_reg_en: usb2-pwr-1p8-reg-en-state {
+               pins = "gpio126";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       usb2_pwr_3p3_reg_en: usb2-pwr-3p3-reg-en-state {
+               pins = "gpio187";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       usb_1_ss0_sbu_default: usb-1-ss0-sbu-state {
+               mode-pins {
+                       pins = "gpio166";
+                       function = "gpio";
+                       bias-disable;
+                       drive-strength = <2>;
+                       output-high;
+               };
+
+               oe-n-pins {
+                       pins = "gpio168";
+                       function = "gpio";
+                       bias-disable;
+                       drive-strength = <2>;
+               };
+
+               sel-pins {
+                       pins = "gpio167";
+                       function = "gpio";
+                       bias-disable;
+                       drive-strength = <2>;
+               };
+       };
+
+       wcd_default: wcd-reset-n-active-state {
+               pins = "gpio191";
+               function = "gpio";
+               drive-strength = <16>;
+               bias-disable;
+               output-low;
+       };
+
+       wcn_bt_en: wcn-bt-en-state {
+               pins = "gpio116";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       wwan_sw_en: wwan-sw-en-state {
+               pins = "gpio221";
+               function = "gpio";
+               drive-strength = <4>;
+               bias-disable;
+       };
+
+       wcn_sw_en: wcn-sw-en-state {
+               pins = "gpio214";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       /* Switches USB signal routing between the USB connector and the Wi-Fi card. */
+       wcn_usb_sw_n: wcn-usb-sw-n-state {
+               pins = "gpio225";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+               output-high;
+       };
+};
+
+&uart14 {
+       status = "okay";
+
+       bluetooth {
+               compatible = "qcom,wcn7850-bt";
+               max-speed = <3200000>;
+
+               vddaon-supply = <&vreg_pmu_aon_0p59>;
+               vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
+               vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
+               vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
+               vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
+               vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
+               vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
+       };
+};
+
+&uart21 {
+       compatible = "qcom,geni-debug-uart";
+
+       status = "okay";
+};
+
+&usb_1_ss0_dwc3_hs {
+       remote-endpoint = <&pmic_glink_ss0_hs_in>;
+};
+
+&usb_1_ss0_hsphy {
+       phys = <&smb2360_0_eusb2_repeater>;
+};
+
+&usb_1_ss0_qmpphy_out {
+       remote-endpoint = <&pmic_glink_ss0_ss_in>;
+};
+
+&usb_1_ss1_dwc3_hs {
+       remote-endpoint = <&pmic_glink_ss1_hs_in>;
+};
+
+&usb_1_ss1_hsphy {
+       phys = <&smb2360_1_eusb2_repeater>;
+};
+
+&usb_1_ss1_qmpphy_out {
+       remote-endpoint = <&retimer_ss1_ss_in>;
+};
+
+&usb_1_ss2_dwc3_hs {
+       remote-endpoint = <&pmic_glink_ss2_hs_in>;
+};
+
+&usb_1_ss2_hsphy {
+       phys = <&smb2360_2_eusb2_repeater>;
+};
+
+&usb_1_ss2_qmpphy_out {
+       remote-endpoint = <&retimer_ss2_ss_in>;
+};
+
+&usb_2_hsphy {
+       phys = <&eusb5_repeater>;
+
+       pinctrl-0 = <&wcn_usb_sw_n>;
+       pinctrl-names = "default";
+};
+
+&usb_mp_hsphy0 {
+       phys = <&eusb3_repeater>;
+};
+
+&usb_mp_hsphy1 {
+       phys = <&eusb6_repeater>;
+};