[ Now with diff ]

This rebases things on top of Linux 6.13 and adds some recent patches from:

  https://github.com/SpieringsAE/linux/tree/wip/x1e80100-6.13

which in turn includes patches from:

  https://github.com/jhovold/linux/tree/wip/x1e80100-6.13

The vast majority of these patches have received positive reviews on
the relevant Linux mailing list, and some of them are already present
in linux-next.  They mostly bring support for more USB ports on t14s
and vivobook.

Probably needs some testing, especially on the hp and samsung
machines as those devices are not present upstream.

ok?


Index: sysutils/firmware/arm64-qcom-dtb/Makefile
===================================================================
RCS file: /cvs/ports/sysutils/firmware/arm64-qcom-dtb/Makefile,v
diff -u -p -r1.20 Makefile
--- sysutils/firmware/arm64-qcom-dtb/Makefile   17 Nov 2024 16:45:15 -0000      
1.20
+++ sysutils/firmware/arm64-qcom-dtb/Makefile   21 Jan 2025 20:29:19 -0000
@@ -1,7 +1,7 @@
 FW_DRIVER=     arm64-qcom-dtb
-FW_VER=                2.3
+FW_VER=                2.4
 
-DISTNAME=      devicetree-rebasing-6.11-dts
+DISTNAME=      devicetree-rebasing-6.13-dts
 
 # can be redistributed, but shouldn't be in normal packages directory as
 # this is only meant for use with fw_update.
@@ -20,8 +20,13 @@ MAKE_ENV +=  CPP=clang-cpp
 DTBS=  sc8280xp-lenovo-thinkpad-x13s.dtb \
        x1e78100-lenovo-thinkpad-t14s.dtb \
        x1e80100-asus-vivobook-s15.dtb \
+       x1e80100-crd.dtb \
+       x1e80100-dell-xps13-9345.dtb \
        x1e80100-hp-omnibook-x14.dtb \
        x1e80100-lenovo-yoga-slim7x.dtb \
+       x1e80100-microsoft-romulus13.dtb \
+       x1e80100-microsoft-romulus15.dtb \
+       x1e80100-qcp.dtb \
        x1e80100-samsung-galaxy-book4-edge.dtb
 
 ALL_TARGET=
Index: sysutils/firmware/arm64-qcom-dtb/distinfo
===================================================================
RCS file: /cvs/ports/sysutils/firmware/arm64-qcom-dtb/distinfo,v
diff -u -p -r1.2 distinfo
--- sysutils/firmware/arm64-qcom-dtb/distinfo   21 Sep 2024 17:14:17 -0000      
1.2
+++ sysutils/firmware/arm64-qcom-dtb/distinfo   21 Jan 2025 20:29:19 -0000
@@ -1,2 +1,2 @@
-SHA256 (firmware/devicetree-rebasing-6.11-dts.tar.gz) = 
cSkEweN++8qCEaUaST73Rbkw7JVl4eTeRODFd3LgBKA=
-SIZE (firmware/devicetree-rebasing-6.11-dts.tar.gz) = 9145072
+SHA256 (firmware/devicetree-rebasing-6.13-dts.tar.gz) = 
ukVSSdtl5Vf2G3/vsvWZC4wGOI8kIzNeK1A+qrMNF1o=
+SIZE (firmware/devicetree-rebasing-6.13-dts.tar.gz) = 9463945
Index: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_sc8280xp-lenovo-thinkpad-x13s_dts
===================================================================
RCS file: 
/cvs/ports/sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_sc8280xp-lenovo-thinkpad-x13s_dts,v
diff -u -p -r1.3 patch-src_arm64_qcom_sc8280xp-lenovo-thinkpad-x13s_dts
--- 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_sc8280xp-lenovo-thinkpad-x13s_dts
     23 Sep 2024 17:48:28 -0000      1.3
+++ 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_sc8280xp-lenovo-thinkpad-x13s_dts
     21 Jan 2025 20:29:19 -0000
@@ -1,7 +1,7 @@
 Index: src/arm64/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
 --- src/arm64/qcom/sc8280xp-lenovo-thinkpad-x13s.dts.orig
 +++ src/arm64/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
-@@ -847,14 +847,14 @@
+@@ -959,14 +959,14 @@
        pinctrl-names = "default";
        pinctrl-0 = <&pcie3a_default>;
  
@@ -18,7 +18,7 @@ Index: src/arm64/qcom/sc8280xp-lenovo-th
  };
  
  &pcie4 {
-@@ -1299,7 +1299,7 @@
+@@ -1417,7 +1417,7 @@
  };
  
  &usb_2 {
Index: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e78100-lenovo-thinkpad-t14s_dts
===================================================================
RCS file: 
/cvs/ports/sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e78100-lenovo-thinkpad-t14s_dts,v
diff -u -p -r1.2 patch-src_arm64_qcom_x1e78100-lenovo-thinkpad-t14s_dts
--- 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e78100-lenovo-thinkpad-t14s_dts
     21 Sep 2024 17:14:17 -0000      1.2
+++ 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e78100-lenovo-thinkpad-t14s_dts
     21 Jan 2025 20:29:19 -0000
@@ -1,815 +1,729 @@
 Index: src/arm64/qcom/x1e78100-lenovo-thinkpad-t14s.dts
 --- src/arm64/qcom/x1e78100-lenovo-thinkpad-t14s.dts.orig
 +++ src/arm64/qcom/x1e78100-lenovo-thinkpad-t14s.dts
-@@ -0,0 +1,811 @@
-+// SPDX-License-Identifier: BSD-3-Clause
-+/*
-+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
-+ * Copyright (c) 2024, Linaro Limited
-+ */
-+
-+/dts-v1/;
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/gpio-keys.h>
-+#include <dt-bindings/input/input.h>
-+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
-+
-+#include "x1e80100.dtsi"
-+#include "x1e80100-pmics.dtsi"
-+
-+/ {
-+      model = "Lenovo ThinkPad T14s Gen 6";
-+      compatible = "lenovo,thinkpad-t14s", "qcom,x1e78100", "qcom,x1e80100";
-+      chassis-type = "laptop";
-+
-+      gpio-keys {
-+              compatible = "gpio-keys";
-+
-+              pinctrl-0 = <&hall_int_n_default>;
-+              pinctrl-names = "default";
-+
-+              switch-lid {
-+                      gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
-+                      linux,input-type = <EV_SW>;
-+                      linux,code = <SW_LID>;
-+                      wakeup-source;
-+                      wakeup-event-action = <EV_ACT_DEASSERTED>;
-+              };
-+      };
+@@ -19,6 +19,10 @@
+       compatible = "lenovo,thinkpad-t14s", "qcom,x1e78100", "qcom,x1e80100";
+       chassis-type = "laptop";
+ 
++      aliases {
++              serial1 = &uart14;
++      };
++
+       gpio-keys {
+               compatible = "gpio-keys";
+ 
+@@ -66,9 +70,17 @@
+                                       reg = <1>;
+ 
+                                       pmic_glink_ss0_ss_in: endpoint {
+-                                              remote-endpoint = 
<&usb_1_ss0_qmpphy_out>;
++                                              remote-endpoint = 
<&retimer_ss0_ss_out>;
+                                       };
+                               };
 +
-+      pmic-glink {
-+              compatible = "qcom,x1e80100-pmic-glink",
-+                           "qcom,sm8550-pmic-glink",
-+                           "qcom,pmic-glink";
-+              orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
-+                                  <&tlmm 123 GPIO_ACTIVE_HIGH>;
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+
-+              /* Display-adjacent port */
-+              connector@0 {
-+                      compatible = "usb-c-connector";
-+                      reg = <0>;
-+                      power-role = "dual";
-+                      data-role = "dual";
-+
-+                      ports {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
++                              port@2 {
++                                      reg = <2>;
 +
-+                              port@0 {
-+                                      reg = <0>;
-+
-+                                      pmic_glink_ss0_hs_in: endpoint {
-+                                              remote-endpoint = 
<&usb_1_ss0_dwc3_hs>;
++                                      pmic_glink_ss0_con_sbu_in: endpoint {
++                                              remote-endpoint = 
<&retimer_ss0_con_sbu_out>;
 +                                      };
 +                              };
+                       };
+               };
+ 
+@@ -95,9 +107,17 @@
+                                       reg = <1>;
+ 
+                                       pmic_glink_ss1_ss_in: endpoint {
+-                                              remote-endpoint = 
<&usb_1_ss1_qmpphy_out>;
++                                              remote-endpoint = 
<&retimer_ss1_ss_out>;
+                                       };
+                               };
 +
-+                              port@1 {
-+                                      reg = <1>;
++                              port@2 {
++                                      reg = <2>;
 +
-+                                      pmic_glink_ss0_ss_in: endpoint {
-+                                              remote-endpoint = 
<&usb_1_ss0_qmpphy_out>;
++                                      pmic_glink_ss1_con_sbu_in: endpoint {
++                                              remote-endpoint = 
<&retimer_ss1_con_sbu_out>;
 +                                      };
 +                              };
-+                      };
-+              };
-+
-+              /* User-adjacent port */
-+              connector@1 {
-+                      compatible = "usb-c-connector";
-+                      reg = <1>;
-+                      power-role = "dual";
-+                      data-role = "dual";
-+
-+                      ports {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
+                       };
+               };
+       };
+@@ -143,6 +163,102 @@
+               regulator-boot-on;
+       };
+ 
++      vreg_rtmr0_1p15: regulator-rtmr0-1p15 {
++              compatible = "regulator-fixed";
 +
-+                              port@0 {
-+                                      reg = <0>;
++              regulator-name = "VREG_RTMR0_1P15";
++              regulator-min-microvolt = <1150000>;
++              regulator-max-microvolt = <1150000>;
 +
-+                                      pmic_glink_ss1_hs_in: endpoint {
-+                                              remote-endpoint = 
<&usb_1_ss1_dwc3_hs>;
-+                                      };
-+                              };
-+
-+                              port@1 {
-+                                      reg = <1>;
++              gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
++              enable-active-high;
 +
-+                                      pmic_glink_ss1_ss_in: endpoint {
-+                                              remote-endpoint = 
<&usb_1_ss1_qmpphy_out>;
-+                                      };
-+                              };
-+                      };
-+              };
-+      };
++              pinctrl-0 = <&usb0_pwr_1p15_reg_en>;
++              pinctrl-names = "default";
 +
-+      reserved-memory {
-+              linux,cma {
-+                      compatible = "shared-dma-pool";
-+                      size = <0x0 0x8000000>;
-+                      reusable;
-+                      linux,cma-default;
-+              };
++              regulator-boot-on;
 +      };
 +
-+      vreg_edp_3p3: regulator-edp-3p3 {
++      vreg_rtmr0_1p8: regulator-rtmr0-1p8 {
 +              compatible = "regulator-fixed";
 +
-+              regulator-name = "VREG_EDP_3P3";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
++              regulator-name = "VREG_RTMR0_1P8";
++              regulator-min-microvolt = <1800000>;
++              regulator-max-microvolt = <1800000>;
 +
-+              gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
++              gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
 +              enable-active-high;
 +
-+              pinctrl-0 = <&edp_reg_en>;
++              pinctrl-0 = <&usb0_1p8_reg_en>;
 +              pinctrl-names = "default";
 +
 +              regulator-boot-on;
 +      };
 +
-+      vreg_nvme: regulator-nvme {
++      vreg_rtmr0_3p3: regulator-rtmr0-3p3 {
 +              compatible = "regulator-fixed";
 +
-+              regulator-name = "VREG_NVME_3P3";
++              regulator-name = "VREG_RTMR0_3P3";
 +              regulator-min-microvolt = <3300000>;
 +              regulator-max-microvolt = <3300000>;
 +
-+              gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
++              gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
 +              enable-active-high;
 +
-+              pinctrl-0 = <&nvme_reg_en>;
++              pinctrl-0 = <&usb0_3p3_reg_en>;
 +              pinctrl-names = "default";
++
++              regulator-boot-on;
 +      };
 +
-+      vph_pwr: regulator-vph-pwr {
++      vreg_rtmr1_1p15: regulator-rtmr1-1p15 {
 +              compatible = "regulator-fixed";
 +
-+              regulator-name = "vph_pwr";
-+              regulator-min-microvolt = <3700000>;
-+              regulator-max-microvolt = <3700000>;
++              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-always-on;
 +              regulator-boot-on;
 +      };
-+};
-+
-+&apps_rsc {
-+      regulators-0 {
-+              compatible = "qcom,pm8550-rpmh-regulators";
-+              qcom,pmic-id = "b";
-+
-+              vdd-bob1-supply = <&vph_pwr>;
-+              vdd-bob2-supply = <&vph_pwr>;
-+              vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
-+              vdd-l2-l13-l14-supply = <&vreg_bob1>;
-+              vdd-l5-l16-supply = <&vreg_bob1>;
-+              vdd-l6-l7-supply = <&vreg_bob2>;
-+              vdd-l8-l9-supply = <&vreg_bob1>;
-+              vdd-l12-supply = <&vreg_s5j_1p2>;
-+              vdd-l15-supply = <&vreg_s4c_1p8>;
-+              vdd-l17-supply = <&vreg_bob2>;
-+
-+              vreg_bob1: bob1 {
-+                      regulator-name = "vreg_bob1";
-+                      regulator-min-microvolt = <3008000>;
-+                      regulator-max-microvolt = <3960000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
 +
-+              vreg_bob2: bob2 {
-+                      regulator-name = "vreg_bob2";
-+                      regulator-min-microvolt = <2504000>;
-+                      regulator-max-microvolt = <3008000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++      vreg_rtmr1_1p8: regulator-rtmr1-1p8 {
++              compatible = "regulator-fixed";
 +
-+              vreg_l2b_3p0: ldo2 {
-+                      regulator-name = "vreg_l2b_3p0";
-+                      regulator-min-microvolt = <3072000>;
-+                      regulator-max-microvolt = <3072000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              regulator-name = "VREG_RTMR1_1P8";
++              regulator-min-microvolt = <1800000>;
++              regulator-max-microvolt = <1800000>;
 +
-+              vreg_l4b_1p8: ldo4 {
-+                      regulator-name = "vreg_l4b_1p8";
-+                      regulator-min-microvolt = <1800000>;
-+                      regulator-max-microvolt = <1800000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>;
++              enable-active-high;
 +
-+              vreg_l6b_1p8: ldo6 {
-+                      regulator-name = "vreg_l6b_1p8";
-+                      regulator-min-microvolt = <1800000>;
-+                      regulator-max-microvolt = <2960000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              pinctrl-0 = <&usb1_pwr_1p8_reg_en>;
++              pinctrl-names = "default";
 +
-+              vreg_l8b_3p0: ldo8 {
-+                      regulator-name = "vreg_l8b_3p0";
-+                      regulator-min-microvolt = <3072000>;
-+                      regulator-max-microvolt = <3072000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              regulator-boot-on;
++      };
 +
-+              vreg_l9b_2p9: ldo9 {
-+                      regulator-name = "vreg_l9b_2p9";
-+                      regulator-min-microvolt = <2960000>;
-+                      regulator-max-microvolt = <2960000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++      vreg_rtmr1_3p3: regulator-rtmr1-3p3 {
++              compatible = "regulator-fixed";
 +
-+              vreg_l10b_1p8: ldo10 {
-+                      regulator-name = "vreg_l10b_1p8";
-+                      regulator-min-microvolt = <1800000>;
-+                      regulator-max-microvolt = <1800000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              regulator-name = "VREG_RTMR1_3P3";
++              regulator-min-microvolt = <3300000>;
++              regulator-max-microvolt = <3300000>;
 +
-+              vreg_l12b_1p2: ldo12 {
-+                      regulator-name = "vreg_l12b_1p2";
-+                      regulator-min-microvolt = <1200000>;
-+                      regulator-max-microvolt = <1200000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>;
++              enable-active-high;
 +
-+              vreg_l13b_3p0: ldo13 {
-+                      regulator-name = "vreg_l13b_3p0";
-+                      regulator-min-microvolt = <3072000>;
-+                      regulator-max-microvolt = <3072000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              pinctrl-0 = <&usb1_pwr_3p3_reg_en>;
++              pinctrl-names = "default";
 +
-+              vreg_l14b_3p0: ldo14 {
-+                      regulator-name = "vreg_l14b_3p0";
-+                      regulator-min-microvolt = <3072000>;
-+                      regulator-max-microvolt = <3072000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              regulator-boot-on;
++      };
 +
-+              vreg_l15b_1p8: ldo15 {
-+                      regulator-name = "vreg_l15b_1p8";
-+                      regulator-min-microvolt = <1800000>;
-+                      regulator-max-microvolt = <1800000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
+       vph_pwr: regulator-vph-pwr {
+               compatible = "regulator-fixed";
+ 
+@@ -153,6 +269,107 @@
+               regulator-always-on;
+               regulator-boot-on;
+       };
 +
-+              vreg_l17b_2p5: ldo17 {
-+                      regulator-name = "vreg_l17b_2p5";
-+                      regulator-min-microvolt = <2504000>;
-+                      regulator-max-microvolt = <2504000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
-+      };
++      vreg_wcn_3p3: regulator-wcn-3p3 {
++              compatible = "regulator-fixed";
 +
-+      regulators-1 {
-+              compatible = "qcom,pm8550ve-rpmh-regulators";
-+              qcom,pmic-id = "c";
-+
-+              vdd-l1-supply = <&vreg_s5j_1p2>;
-+              vdd-l2-supply = <&vreg_s1f_0p7>;
-+              vdd-l3-supply = <&vreg_s1f_0p7>;
-+              vdd-s4-supply = <&vph_pwr>;
-+
-+              vreg_s4c_1p8: smps4 {
-+                      regulator-name = "vreg_s4c_1p8";
-+                      regulator-min-microvolt = <1856000>;
-+                      regulator-max-microvolt = <2000000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              regulator-name = "VREG_WCN_3P3";
++              regulator-min-microvolt = <3300000>;
++              regulator-max-microvolt = <3300000>;
 +
-+              vreg_l1c_1p2: ldo1 {
-+                      regulator-name = "vreg_l1c_1p2";
-+                      regulator-min-microvolt = <1200000>;
-+                      regulator-max-microvolt = <1200000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>;
++              enable-active-high;
 +
-+              vreg_l2c_0p8: ldo2 {
-+                      regulator-name = "vreg_l2c_0p8";
-+                      regulator-min-microvolt = <880000>;
-+                      regulator-max-microvolt = <880000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              pinctrl-0 = <&wcn_sw_en>;
++              pinctrl-names = "default";
 +
-+              vreg_l3c_0p8: ldo3 {
-+                      regulator-name = "vreg_l3c_0p8";
-+                      regulator-min-microvolt = <912000>;
-+                      regulator-max-microvolt = <912000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              regulator-boot-on;
 +      };
 +
-+      regulators-2 {
-+              compatible = "qcom,pmc8380-rpmh-regulators";
-+              qcom,pmic-id = "d";
-+
-+              vdd-l1-supply = <&vreg_s1f_0p7>;
-+              vdd-l2-supply = <&vreg_s1f_0p7>;
-+              vdd-l3-supply = <&vreg_s4c_1p8>;
-+              vdd-s1-supply = <&vph_pwr>;
-+
-+              vreg_l1d_0p8: ldo1 {
-+                      regulator-name = "vreg_l1d_0p8";
-+                      regulator-min-microvolt = <880000>;
-+                      regulator-max-microvolt = <880000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++      /*
++       * TODO: These two regulators are actually part of the removable M.2
++       * card and not the CRD 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";
 +
-+              vreg_l2d_0p9: ldo2 {
-+                      regulator-name = "vreg_l2d_0p9";
-+                      regulator-min-microvolt = <912000>;
-+                      regulator-max-microvolt = <912000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              regulator-name = "VREG_WCN_0P95";
++              regulator-min-microvolt = <950000>;
++              regulator-max-microvolt = <950000>;
 +
-+              vreg_l3d_1p8: ldo3 {
-+                      regulator-name = "vreg_l3d_1p8";
-+                      regulator-min-microvolt = <1800000>;
-+                      regulator-max-microvolt = <1800000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              vin-supply = <&vreg_wcn_3p3>;
 +      };
 +
-+      regulators-3 {
-+              compatible = "qcom,pmc8380-rpmh-regulators";
-+              qcom,pmic-id = "e";
-+
-+              vdd-l2-supply = <&vreg_s1f_0p7>;
-+              vdd-l3-supply = <&vreg_s5j_1p2>;
-+
-+              vreg_l2e_0p8: ldo2 {
-+                      regulator-name = "vreg_l2e_0p8";
-+                      regulator-min-microvolt = <880000>;
-+                      regulator-max-microvolt = <880000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++      vreg_wcn_1p9: regulator-wcn-1p9 {
++              compatible = "regulator-fixed";
 +
-+              vreg_l3e_1p2: ldo3 {
-+                      regulator-name = "vreg_l3e_1p2";
-+                      regulator-min-microvolt = <1200000>;
-+                      regulator-max-microvolt = <1200000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
-+      };
++              regulator-name = "VREG_WCN_1P9";
++              regulator-min-microvolt = <1900000>;
++              regulator-max-microvolt = <1900000>;
 +
-+      regulators-4 {
-+              compatible = "qcom,pmc8380-rpmh-regulators";
-+              qcom,pmic-id = "f";
-+
-+              vdd-l1-supply = <&vreg_s5j_1p2>;
-+              vdd-l2-supply = <&vreg_s5j_1p2>;
-+              vdd-l3-supply = <&vreg_s5j_1p2>;
-+              vdd-s1-supply = <&vph_pwr>;
-+
-+              vreg_s1f_0p7: smps1 {
-+                      regulator-name = "vreg_s1f_0p7";
-+                      regulator-min-microvolt = <700000>;
-+                      regulator-max-microvolt = <1100000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              vin-supply = <&vreg_wcn_3p3>;
 +      };
 +
-+      regulators-6 {
-+              compatible = "qcom,pm8550ve-rpmh-regulators";
-+              qcom,pmic-id = "i";
-+
-+              vdd-l1-supply = <&vreg_s4c_1p8>;
-+              vdd-l2-supply = <&vreg_s5j_1p2>;
-+              vdd-l3-supply = <&vreg_s1f_0p7>;
-+              vdd-s1-supply = <&vph_pwr>;
-+              vdd-s2-supply = <&vph_pwr>;
-+
-+              vreg_l1i_1p8: ldo1 {
-+                      regulator-name = "vreg_l1i_1p8";
-+                      regulator-min-microvolt = <1800000>;
-+                      regulator-max-microvolt = <1800000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++      wcn7850-pmu {
++              compatible = "qcom,wcn7850-pmu";
 +
-+              vreg_l2i_1p2: ldo2 {
-+                      regulator-name = "vreg_l2i_1p2";
-+                      regulator-min-microvolt = <1200000>;
-+                      regulator-max-microvolt = <1200000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              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>;
 +
-+              vreg_l3i_0p8: ldo3 {
-+                      regulator-name = "vreg_l3i_0p8";
-+                      regulator-min-microvolt = <880000>;
-+                      regulator-max-microvolt = <880000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
-+      };
++              wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
++              bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
 +
-+      regulators-7 {
-+              compatible = "qcom,pm8550ve-rpmh-regulators";
-+              qcom,pmic-id = "j";
-+
-+              vdd-l1-supply = <&vreg_s1f_0p7>;
-+              vdd-l2-supply = <&vreg_s5j_1p2>;
-+              vdd-l3-supply = <&vreg_s1f_0p7>;
-+              vdd-s5-supply = <&vph_pwr>;
-+
-+              vreg_s5j_1p2: smps5 {
-+                      regulator-name = "vreg_s5j_1p2";
-+                      regulator-min-microvolt = <1256000>;
-+                      regulator-max-microvolt = <1304000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              pinctrl-0 = <&wcn_wlan_bt_en>;
++              pinctrl-names = "default";
 +
-+              vreg_l1j_0p8: ldo1 {
-+                      regulator-name = "vreg_l1j_0p8";
-+                      regulator-min-microvolt = <912000>;
-+                      regulator-max-microvolt = <912000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++              regulators {
++                      vreg_pmu_rfa_cmn: ldo0 {
++                              regulator-name = "vreg_pmu_rfa_cmn";
++                      };
 +
-+              vreg_l2j_1p2: ldo2 {
-+                      regulator-name = "vreg_l2j_1p2";
-+                      regulator-min-microvolt = <1256000>;
-+                      regulator-max-microvolt = <1256000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
++                      vreg_pmu_aon_0p59: ldo1 {
++                              regulator-name = "vreg_pmu_aon_0p59";
++                      };
 +
-+              vreg_l3j_0p8: ldo3 {
-+                      regulator-name = "vreg_l3j_0p8";
-+                      regulator-min-microvolt = <880000>;
-+                      regulator-max-microvolt = <880000>;
-+                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-+              };
-+      };
-+};
++                      vreg_pmu_wlcx_0p8: ldo2 {
++                              regulator-name = "vreg_pmu_wlcx_0p8";
++                      };
 +
-+&gpu {
-+      status = "okay";
++                      vreg_pmu_wlmx_0p85: ldo3 {
++                              regulator-name = "vreg_pmu_wlmx_0p85";
++                      };
 +
-+      zap-shader {
-+              firmware-name = "qcom/x1e80100/LENOVO/21N1/qcdxkmsuc8380.mbn";
-+      };
-+};
++                      vreg_pmu_btcmx_0p85: ldo4 {
++                              regulator-name = "vreg_pmu_btcmx_0p85";
++                      };
++
++                      vreg_pmu_rfa_0p8: ldo5 {
++                              regulator-name = "vreg_pmu_rfa_0p8";
++                      };
 +
-+&i2c0 {
++                      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 {
+@@ -495,6 +712,169 @@
+       };
+ };
+ 
++&i2c3 {
 +      clock-frequency = <400000>;
 +
 +      status = "okay";
 +
-+      /* ELAN06E2 or ELAN06E3 */
-+      touchpad@15 {
-+              compatible = "hid-over-i2c";
-+              reg = <0x15>;
++      typec-mux@8 {
++              compatible = "parade,ps8830";
++              reg = <0x08>;
++
++              clocks = <&rpmhcc RPMH_RF_CLK3>;
++
++              vdd-supply = <&vreg_rtmr0_1p15>;
++              vdd33-supply = <&vreg_rtmr0_3p3>;
++              vdd33-cap-supply = <&vreg_rtmr0_3p3>;
++              vddar-supply = <&vreg_rtmr0_1p15>;
++              vddat-supply = <&vreg_rtmr0_1p15>;
++              vddio-supply = <&vreg_rtmr0_1p8>;
 +
-+              hid-descr-addr = <0x1>;
-+              interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
++              reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
 +
-+              pinctrl-0 = <&tpad_default>;
++              pinctrl-0 = <&rtmr0_default>;
 +              pinctrl-names = "default";
 +
-+              wakeup-source;
-+      };
++              orientation-switch;
++              retimer-switch;
 +
-+      /* TODO: second-sourced SYNA8022 or SYNA8024 touchpad @ 0x2c */
++              ports {
++                      #address-cells = <1>;
++                      #size-cells = <0>;
 +
-+      /* ELAN06F1 or SYNA06F2 */
-+      keyboard@3a {
-+              compatible = "hid-over-i2c";
-+              reg = <0x3a>;
++                      port@0 {
++                              reg = <0>;
 +
-+              hid-descr-addr = <0x1>;
-+              interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
++                              retimer_ss0_ss_out: endpoint {
++                                      remote-endpoint = 
<&pmic_glink_ss0_ss_in>;
++                              };
++                      };
 +
-+              pinctrl-0 = <&kybd_default>;
-+              pinctrl-names = "default";
++                      port@1 {
++                              reg = <1>;
++
++                              retimer_ss0_ss_in: endpoint {
++                                      remote-endpoint = 
<&usb_1_ss0_qmpphy_out>;
++                              };
++                      };
 +
-+              wakeup-source;
++                      port@2 {
++                              reg = <2>;
++
++                              retimer_ss0_con_sbu_out: endpoint {
++                                      remote-endpoint = 
<&pmic_glink_ss0_con_sbu_in>;
++                              };
++                      };
++              };
 +      };
 +};
 +
-+&i2c8 {
++&i2c5 {
 +      clock-frequency = <400000>;
 +
 +      status = "okay";
 +
-+      /* ILIT2911 or GTCH1563 */
-+      touchscreen@10 {
-+              compatible = "hid-over-i2c";
-+              reg = <0x10>;
++      eusb5_repeater: redriver@43 {
++              compatible = "nxp,ptn3222";
++              reg = <0x43>;
++              #phy-cells = <0>;
++
++              vdd3v3-supply = <&vreg_l13b_3p0>;
++              vdd1v8-supply = <&vreg_l4b_1p8>;
 +
-+              hid-descr-addr = <0x1>;
-+              interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
++              reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>;
 +
-+              pinctrl-0 = <&ts0_default>;
++              pinctrl-0 = <&eusb5_reset_n>;
 +              pinctrl-names = "default";
 +      };
 +
-+      /* TODO: second-sourced touchscreen @ 0x41 */
-+};
++      eusb3_repeater: redriver@47 {
++              compatible = "nxp,ptn3222";
++              reg = <0x47>;
++              #phy-cells = <0>;
 +
-+&mdss {
-+      status = "okay";
-+};
++              vdd3v3-supply = <&vreg_l13b_3p0>;
++              vdd1v8-supply = <&vreg_l4b_1p8>;
 +
-+&mdss_dp3 {
-+      compatible = "qcom,x1e80100-dp";
-+      /delete-property/ #sound-dai-cells;
++              reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
 +
-+      status = "okay";
++              pinctrl-0 = <&eusb3_reset_n>;
++              pinctrl-names = "default";
++      };
 +
-+      aux-bus {
-+              panel {
-+                      compatible = "edp-panel";
-+                      enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
-+                      power-supply = <&vreg_edp_3p3>;
++      eusb6_repeater: redriver@4f {
++              compatible = "nxp,ptn3222";
++              reg = <0x4f>;
++              #phy-cells = <0>;
 +
-+                      pinctrl-0 = <&edp_bl_en>;
-+                      pinctrl-names = "default";
++              vdd3v3-supply = <&vreg_l13b_3p0>;
++              vdd1v8-supply = <&vreg_l4b_1p8>;
 +
-+                      port {
-+                              edp_panel_in: endpoint {
-+                                      remote-endpoint = <&mdss_dp3_out>;
-+                              };
-+                      };
-+              };
-+      };
++              reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
 +
-+      ports {
-+              port@1 {
-+                      reg = <1>;
-+
-+                      mdss_dp3_out: endpoint {
-+                              data-lanes = <0 1 2 3>;
-+                              link-frequencies = /bits/ 64 <1620000000 
2700000000 5400000000 8100000000>;
-+
-+                              remote-endpoint = <&edp_panel_in>;
-+                      };
-+              };
++              pinctrl-0 = <&eusb6_reset_n>;
++              pinctrl-names = "default";
 +      };
 +};
 +
-+&mdss_dp3_phy {
-+      vdda-phy-supply = <&vreg_l3j_0p8>;
-+      vdda-pll-supply = <&vreg_l2j_1p2>;
++&i2c7 {
++      clock-frequency = <400000>;
 +
 +      status = "okay";
-+};
 +
-+&pcie4 {
-+      perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
-+      wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
++      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>;
 +
-+      pinctrl-0 = <&pcie4_default>;
-+      pinctrl-names = "default";
++              reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>;
 +
-+      status = "okay";
-+};
++              pinctrl-0 = <&rtmr1_default>;
++              pinctrl-names = "default";
 +
-+&pcie4_phy {
-+      vdda-phy-supply = <&vreg_l3i_0p8>;
-+      vdda-pll-supply = <&vreg_l3e_1p2>;
++              retimer-switch;
++              orientation-switch;
 +
-+      status = "okay";
-+};
++              ports {
++                      #address-cells = <1>;
++                      #size-cells = <0>;
 +
-+&pcie6a {
-+      perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
-+      wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
++                      port@0 {
++                              reg = <0>;
 +
-+      vddpe-3v3-supply = <&vreg_nvme>;
++                              retimer_ss1_ss_out: endpoint {
++                                      remote-endpoint = 
<&pmic_glink_ss1_ss_in>;
++                              };
++                      };
 +
-+      pinctrl-0 = <&pcie6a_default>;
-+      pinctrl-names = "default";
++                      port@1 {
++                              reg = <1>;
 +
-+      status = "okay";
-+};
++                              retimer_ss1_ss_in: endpoint {
++                                      remote-endpoint = 
<&usb_1_ss1_qmpphy_out>;
++                              };
++                      };
 +
-+&pcie6a_phy {
-+      vdda-phy-supply = <&vreg_l1d_0p8>;
-+      vdda-pll-supply = <&vreg_l2j_1p2>;
++                      port@2 {
++                              reg = <2>;
 +
-+      status = "okay";
-+};
++                              retimer_ss1_con_sbu_out: endpoint {
++                                      remote-endpoint = 
<&pmic_glink_ss1_con_sbu_in>;
++                              };
++                      };
 +
-+&pmc8380_3_gpios {
-+      edp_bl_en: edp-bl-en-state {
-+              pins = "gpio4";
-+              function = "normal";
-+              power-source = <1>;
-+              input-disable;
-+              output-enable;
++              };
 +      };
 +};
 +
-+&qupv3_0 {
+ &i2c8 {
+       clock-frequency = <400000>;
+ 
+@@ -519,6 +899,22 @@
+       status = "okay";
+ };
+ 
++&mdss_dp0 {
 +      status = "okay";
 +};
 +
-+&qupv3_1 {
++&mdss_dp0_out {
++      data-lanes = <0 1>;
++};
++
++&mdss_dp1 {
 +      status = "okay";
 +};
 +
-+&qupv3_2 {
-+      status = "okay";
-+};
-+
-+&remoteproc_adsp {
-+      firmware-name = "qcom/x1e80100/LENOVO/21N1/qcadsp8380.mbn",
-+                      "qcom/x1e80100/LENOVO/21N1/adsp_dtbs.elf";
-+
-+      status = "okay";
++&mdss_dp1_out {
++      data-lanes = <0 1>;
++};
++
+ &mdss_dp3 {
+       compatible = "qcom,x1e80100-dp";
+       /delete-property/ #sound-dai-cells;
+@@ -580,6 +976,23 @@
+       status = "okay";
+ };
+ 
++&pcie4_port0 {
++      wifi@0 {
++              compatible = "pci17cb,1107";
++              reg = <0x10000 0x0 0x0 0x0 0x0>;
++
++              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>;
++              vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
++              vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
++      };
 +};
 +
-+&remoteproc_cdsp {
-+      firmware-name = "qcom/x1e80100/LENOVO/21N1/qccdsp8380.mbn",
-+                      "qcom/x1e80100/LENOVO/21N1/cdsp_dtbs.elf";
+ &pcie6a {
+       perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+@@ -599,6 +1012,37 @@
+       status = "okay";
+ };
+ 
++&pm8550_gpios {
++      rtmr0_default: rtmr0-reset-n-active-state {
++              pins = "gpio10";
++              function = "normal";
++              power-source = <1>; /* 1.8V */
++              bias-disable;
++              input-disable;
++              output-enable;
++      };
 +
-+      status = "okay";
++      usb0_3p3_reg_en: usb0-3p3-reg-en-state {
++              pins = "gpio11";
++              function = "normal";
++              power-source = <1>; /* 1.8V */
++              bias-disable;
++              input-disable;
++              output-enable;
++      };
 +};
 +
-+&smb2360_0_eusb2_repeater {
-+      vdd18-supply = <&vreg_l3d_1p8>;
-+      vdd3-supply = <&vreg_l2b_3p0>;
++&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;
++      };
 +};
 +
-+&smb2360_1_eusb2_repeater {
-+      vdd18-supply = <&vreg_l3d_1p8>;
-+      vdd3-supply = <&vreg_l14b_3p0>;
+ &pmc8380_3_gpios {
+       edp_bl_en: edp-bl-en-state {
+               pins = "gpio4";
+@@ -609,6 +1053,17 @@
+       };
+ };
+ 
++&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;
++      };
 +};
 +
-+&tlmm {
-+      gpio-reserved-ranges = <34 2>, /* Unused */
-+                             <44 4>, /* SPI (TPM) */
-+                             <72 2>, /* Secure EC I2C connection (?) */
-+                             <238 1>; /* UFS Reset */
-+
-+      tpad_default: tpad-default-state {
-+              pins = "gpio3";
+ &qupv3_0 {
+       status = "okay";
+ };
+@@ -651,6 +1106,30 @@
+                              <72 2>, /* Secure EC I2C connection (?) */
+                              <238 1>; /* UFS Reset */
+ 
++      eusb3_reset_n: eusb3-reset-n-state {
++              pins = "gpio6";
 +              function = "gpio";
-+              bias-pull-up;
++              drive-strength = <2>;
++              bias-disable;
++              output-low;
 +      };
 +
-+      nvme_reg_en: nvme-reg-en-state {
-+              pins = "gpio18";
++      eusb5_reset_n: eusb5-reset-n-state {
++              pins = "gpio7";
 +              function = "gpio";
 +              drive-strength = <2>;
 +              bias-disable;
++              output-low;
 +      };
 +
-+      ts0_default: ts0-default-state {
-+              reset-n-pins {
-+                      pins = "gpio48";
-+                      function = "gpio";
-+                      output-high;
-+                      drive-strength = <16>;
-+              };
-+
-+              int-n-pins {
-+                      pins = "gpio51";
-+                      function = "gpio";
-+                      bias-disable;
-+              };
-+      };
-+
-+      kybd_default: kybd-default-state {
-+              pins = "gpio67";
++      eusb6_reset_n: eusb6-reset-n-state {
++              pins = "gpio184";
 +              function = "gpio";
++              drive-strength = <2>;
 +              bias-disable;
++              output-low;
 +      };
 +
-+      edp_reg_en: edp-reg-en-state {
-+              pins = "gpio70";
+       tpad_default: tpad-default-state {
+               pins = "gpio3";
+               function = "gpio";
+@@ -744,6 +1223,34 @@
+               };
+       };
+ 
++      rtmr1_default: rtmr1-reset-n-active-state {
++              pins = "gpio176";
 +              function = "gpio";
-+              drive-strength = <16>;
++              drive-strength = <2>;
 +              bias-disable;
 +      };
 +
-+      hall_int_n_default: hall-int-n-state {
-+              pins = "gpio92";
++      usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state {
++              pins = "gpio188";
 +              function = "gpio";
++              drive-strength = <2>;
 +              bias-disable;
 +      };
 +
-+      pcie4_default: pcie4-default-state {
-+              clkreq-n-pins {
-+                      pins = "gpio147";
-+                      function = "pcie4_clk";
-+                      drive-strength = <2>;
-+                      bias-pull-up;
-+              };
-+
-+              perst-n-pins {
-+                      pins = "gpio146";
-+                      function = "gpio";
-+                      drive-strength = <2>;
-+                      bias-disable;
-+              };
-+
-+              wake-n-pins {
-+                      pins = "gpio148";
-+                      function = "gpio";
-+                      drive-strength = <2>;
-+                      bias-pull-up;
-+              };
-+      };
-+
-+      pcie6a_default: pcie6a-default-state {
-+              clkreq-n-pins {
-+                      pins = "gpio153";
-+                      function = "pcie6a_clk";
-+                      drive-strength = <2>;
-+                      bias-pull-up;
-+              };
-+
-+              perst-n-pins {
-+                      pins = "gpio152";
-+                      function = "gpio";
-+                      drive-strength = <2>;
-+                      bias-disable;
-+              };
-+
-+              wake-n-pins {
-+                      pins = "gpio154";
-+                      function = "gpio";
-+                      drive-strength = <2>;
-+                      bias-pull-up;
-+              };
++      usb1_pwr_1p8_reg_en: usb1-pwr-1p8-reg-en-state {
++              pins = "gpio175";
++              function = "gpio";
++              drive-strength = <2>;
++              bias-disable;
 +      };
 +
-+      wcd_default: wcd-reset-n-active-state {
-+              pins = "gpio191";
++      usb1_pwr_3p3_reg_en: usb1-pwr-3p3-reg-en-state {
++              pins = "gpio186";
 +              function = "gpio";
-+              drive-strength = <16>;
++              drive-strength = <2>;
 +              bias-disable;
-+              output-low;
 +      };
-+};
-+
-+&usb_1_ss0_hsphy {
-+      vdd-supply = <&vreg_l3j_0p8>;
-+      vdda12-supply = <&vreg_l2j_1p2>;
 +
-+      phys = <&smb2360_0_eusb2_repeater>;
-+
-+      status = "okay";
-+};
-+
-+&usb_1_ss0_qmpphy {
-+      vdda-phy-supply = <&vreg_l3e_1p2>;
-+      vdda-pll-supply = <&vreg_l1j_0p8>;
-+
-+      status = "okay";
+       wcd_default: wcd-reset-n-active-state {
+               pins = "gpio191";
+               function = "gpio";
+@@ -751,8 +1258,39 @@
+               bias-disable;
+               output-low;
+       };
++
++        wcn_sw_en: wcn-sw-en-state {
++                pins = "gpio214";
++                function = "gpio";
++                drive-strength = <2>;
++                bias-disable;
++        };
++
++        wcn_wlan_bt_en: wcn-wlan-bt-en-state {
++                pins = "gpio116", "gpio117";
++                function = "gpio";
++                drive-strength = <2>;
++                bias-disable;
++        };
+ };
+ 
++&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>;
++      };
++};
++
+ &usb_1_ss0_hsphy {
+       vdd-supply = <&vreg_l3j_0p8>;
+       vdda12-supply = <&vreg_l2j_1p2>;
+@@ -763,7 +1301,7 @@
+ };
+ 
+ &usb_1_ss0_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l1j_0p8>;
+ 
+       status = "okay";
+@@ -782,7 +1320,7 @@
+ };
+ 
+ &usb_1_ss0_qmpphy_out {
+-      remote-endpoint = <&pmic_glink_ss0_ss_in>;
++      remote-endpoint = <&retimer_ss0_ss_in>;
+ };
+ 
+ &usb_1_ss1_hsphy {
+@@ -795,7 +1333,7 @@
+ };
+ 
+ &usb_1_ss1_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l2d_0p9>;
+ 
+       status = "okay";
+@@ -814,5 +1352,58 @@
+ };
+ 
+ &usb_1_ss1_qmpphy_out {
+-      remote-endpoint = <&pmic_glink_ss1_ss_in>;
++      remote-endpoint = <&retimer_ss1_ss_in>;
 +};
 +
-+&usb_1_ss0 {
++&usb_2 {
 +      status = "okay";
 +};
 +
-+&usb_1_ss0_dwc3 {
++&usb_2_dwc3 {
 +      dr_mode = "host";
 +};
 +
-+&usb_1_ss0_dwc3_hs {
-+      remote-endpoint = <&pmic_glink_ss0_hs_in>;
++&usb_2_hsphy {
++      vdd-supply = <&vreg_l2e_0p8>;
++      vdda12-supply = <&vreg_l3e_1p2>;
++
++      phys = <&eusb5_repeater>;
++
++      status = "okay";
 +};
 +
-+&usb_1_ss0_qmpphy_out {
-+      remote-endpoint = <&pmic_glink_ss0_ss_in>;
++&usb_mp {
++      status = "okay";
 +};
 +
-+&usb_1_ss1_hsphy {
-+      vdd-supply = <&vreg_l3j_0p8>;
-+      vdda12-supply = <&vreg_l2j_1p2>;
++&usb_mp_hsphy0 {
++      vdd-supply = <&vreg_l2e_0p8>;
++      vdda12-supply = <&vreg_l3e_1p2>;
 +
-+      phys = <&smb2360_1_eusb2_repeater>;
++      phys = <&eusb6_repeater>;
 +
 +      status = "okay";
 +};
 +
-+&usb_1_ss1_qmpphy {
++&usb_mp_qmpphy0 {
 +      vdda-phy-supply = <&vreg_l3e_1p2>;
-+      vdda-pll-supply = <&vreg_l2d_0p9>;
++      vdda-pll-supply = <&vreg_l3c_0p8>;
 +
 +      status = "okay";
 +};
 +
-+&usb_1_ss1 {
-+      status = "okay";
-+};
++&usb_mp_hsphy1 {
++      vdd-supply = <&vreg_l2e_0p8>;
++      vdda12-supply = <&vreg_l3e_1p2>;
 +
-+&usb_1_ss1_dwc3 {
-+      dr_mode = "host";
-+};
++      phys = <&eusb3_repeater>;
 +
-+&usb_1_ss1_dwc3_hs {
-+      remote-endpoint = <&pmic_glink_ss1_hs_in>;
++      status = "okay";
 +};
 +
-+&usb_1_ss1_qmpphy_out {
-+      remote-endpoint = <&pmic_glink_ss1_ss_in>;
-+};
++&usb_mp_qmpphy1 {
++      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-pll-supply = <&vreg_l3c_0p8>;
 +
-+&usb_mp {
 +      status = "okay";
-+};
+ };
Index: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-asus-vivobook-s15_dts
===================================================================
RCS file: 
/cvs/ports/sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-asus-vivobook-s15_dts,v
diff -u -p -r1.2 patch-src_arm64_qcom_x1e80100-asus-vivobook-s15_dts
--- 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-asus-vivobook-s15_dts
        21 Sep 2024 17:14:17 -0000      1.2
+++ 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-asus-vivobook-s15_dts
        21 Jan 2025 20:29:19 -0000
@@ -1,23 +1,472 @@
 Index: src/arm64/qcom/x1e80100-asus-vivobook-s15.dts
 --- src/arm64/qcom/x1e80100-asus-vivobook-s15.dts.orig
 +++ src/arm64/qcom/x1e80100-asus-vivobook-s15.dts
-@@ -501,10 +501,6 @@
-       vdd3-supply = <&vreg_l14b_3p0>;
+@@ -7,7 +7,9 @@
+ /dts-v1/;
+ 
+ #include <dt-bindings/gpio/gpio.h>
++#include <dt-bindings/input/gpio-keys.h>
+ #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
++#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+ 
+ #include "x1e80100.dtsi"
+ #include "x1e80100-pmics.dtsi"
+@@ -17,6 +19,24 @@
+       compatible = "asus,vivobook-s15", "qcom,x1e80100";
+       chassis-type = "laptop";
+ 
++      aliases {
++              serial1 = &uart14;
++      };
++
++      gpio-keys {
++              compatible = "gpio-keys";
++              pinctrl-0 = <&hall_int_n_default>;
++              pinctrl-names = "default";
++
++              switch-lid {
++                      gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
++                      linux,input-type = <EV_SW>;
++                      linux,code = <SW_LID>;
++                      wakeup-source;
++                      wakeup-event-action = <EV_ACT_DEASSERTED>;
++              };
++      };
++
+       pmic-glink {
+               compatible = "qcom,x1e80100-pmic-glink",
+                            "qcom,sm8550-pmic-glink",
+@@ -137,6 +157,101 @@
+               regulator-always-on;
+               regulator-boot-on;
+       };
++
++      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-boot-on;
++      };
++
++      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>;
++
++              wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
++              bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
++
++              pinctrl-0 = <&wcn_wlan_en>, <&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";
++                      };
++              };
++      };
+ };
+ 
+ &apps_rsc {
+@@ -176,12 +291,33 @@
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+ 
++              vreg_l4b_1p8: ldo4 {
++                      regulator-name = "vreg_l4b_1p8";
++                      regulator-min-microvolt = <1800000>;
++                      regulator-max-microvolt = <1800000>;
++                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
++              };
++
++              vreg_l13b_3p0: ldo13 {
++                      regulator-name = "vreg_l13b_3p0";
++                      regulator-min-microvolt = <3072000>;
++                      regulator-max-microvolt = <3072000>;
++                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
++              };
++
+               vreg_l14b_3p0: ldo14 {
+                       regulator-name = "vreg_l14b_3p0";
+                       regulator-min-microvolt = <3072000>;
+                       regulator-max-microvolt = <3072000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
++
++              vreg_l15b_1p8: ldo15 {
++                      regulator-name = "vreg_l15b_1p8";
++                      regulator-min-microvolt = <1800000>;
++                      regulator-max-microvolt = <1800000>;
++                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
++              };
+       };
+ 
+       regulators-1 {
+@@ -193,6 +329,13 @@
+               vdd-l3-supply = <&vreg_s1f_0p7>;
+               vdd-s4-supply = <&vph_pwr>;
+ 
++              vreg_l3c_0p8: ldo3 {
++                      regulator-name = "vreg_l3c_0p8";
++                      regulator-min-microvolt = <912000>;
++                      regulator-max-microvolt = <912000>;
++                      regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
++              };
++
+               vreg_s4c_1p8: smps4 {
+                       regulator-name = "vreg_s4c_1p8";
+                       regulator-min-microvolt = <1856000>;
+@@ -328,6 +471,14 @@
+       };
  };
  
--&smb2360_2 {
--      status = "disabled";
--};
--
- &tlmm {
-       gpio-reserved-ranges = <34 2>, /* Unused */
-                              <44 4>, /* SPI (TPM) */
-@@ -649,4 +645,8 @@
++&gpu {
++      status = "okay";
++
++      zap-shader {
++              firmware-name = 
"qcom/x1e80100/ASUSTeK/vivobook-s15/qcdxkmsuc8380.mbn";
++      };
++};
++
+ &i2c0 {
+       clock-frequency = <400000>;
+       status = "okay";
+@@ -377,7 +528,49 @@
+               wakeup-source;
+       };
+ 
+-      /* EC? @ 0x5b, 0x76 */
++      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";
++      };
++
++      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";
++      };
++
++      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";
++      };
++
++      /* EC @ 0x76 */
+ };
+ 
+ &i2c7 {
+@@ -399,9 +592,13 @@
+ 
+       aux-bus {
+               panel {
+-                      compatible = "edp-panel";
++                      compatible = "samsung,atna56ac03", "samsung,atna33xc20";
++                      enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
+                       power-supply = <&vreg_edp_3p3>;
+ 
++                      pinctrl-0 = <&edp_bl_en>;
++                      pinctrl-names = "default";
++
+                       port {
+                               edp_panel_in: endpoint {
+                                       remote-endpoint = <&mdss_dp3_out>;
+@@ -448,6 +645,23 @@
+       status = "okay";
+ };
+ 
++&pcie4_port0 {
++      wifi@0 {
++              compatible = "pci17cb,1107";
++              reg = <0x10000 0x0 0x0 0x0 0x0>;
++
++              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>;
++              vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
++              vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
++      };
++};
++
+ &pcie6a {
+       perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+@@ -467,6 +681,18 @@
+       status = "okay";
+ };
+ 
++&pmc8380_3_gpios {
++      edp_bl_en: edp-bl-en-state {
++              pins = "gpio4";
++              function = "normal";
++              power-source = <1>; /* 1.8 V */
++              qcom,drive-strength = <PMIC_GPIO_STRENGTH_MED>;
++              bias-pull-down;
++              input-disable;
++              output-enable;
++      };
++};
++
+ &qupv3_0 {
+       status = "okay";
+ };
+@@ -515,6 +741,36 @@
+               bias-disable;
+       };
+ 
++      eusb3_reset_n: eusb3-reset-n-state {
++              pins = "gpio6";
++              function = "gpio";
++              drive-strength = <2>;
++              bias-pull-up;
++              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;
++      };
++
++      hall_int_n_default: hall-int-n-state {
++              pins = "gpio92";
++              function = "gpio";
++              bias-disable;
++      };
++
+       kybd_default: kybd-default-state {
+               pins = "gpio67";
+               function = "gpio";
+@@ -579,8 +835,46 @@
+               function = "gpio";
+               bias-disable;
+       };
++
++      wcn_bt_en: wcn-bt-en-state {
++              pins = "gpio116";
++              function = "gpio";
++              drive-strength = <16>;
++              bias-pull-down;
++      };
++
++      wcn_sw_en: wcn-sw-en-state {
++              pins = "gpio214";
++              function = "gpio";
++              drive-strength = <16>;
++              bias-disable;
++      };
++
++      wcn_wlan_en: wcn-wlan-en-state {
++              pins = "gpio117";
++              function = "gpio";
++              drive-strength = <16>;
++              bias-disable;
++      };
+ };
+ 
++&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>;
++      };
++};
++
+ &usb_1_ss0_hsphy {
+       vdd-supply = <&vreg_l3j_0p8>;
+       vdda12-supply = <&vreg_l2j_1p2>;
+@@ -591,7 +885,7 @@
+ };
+ 
+ &usb_1_ss0_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l1j_0p8>;
+ 
+       status = "okay";
+@@ -623,7 +917,7 @@
+ };
+ 
+ &usb_1_ss1_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l2d_0p9>;
+ 
+       status = "okay";
+@@ -643,4 +937,57 @@
  
  &usb_1_ss1_qmpphy_out {
        remote-endpoint = <&pmic_glink_ss1_ss_in>;
 +};
 +
++&usb_2 {
++      status = "okay";
++};
++
++&usb_2_dwc3 {
++      dr_mode = "host";
++};
++
++&usb_2_hsphy {
++      vdd-supply = <&vreg_l2e_0p8>;
++      vdda12-supply = <&vreg_l3e_1p2>;
++
++      phys = <&eusb5_repeater>;
++
++      status = "okay";
++};
++
 +&usb_mp {
++      status = "okay";
++};
++
++&usb_mp_hsphy0 {
++      vdd-supply = <&vreg_l2e_0p8>;
++      vdda12-supply = <&vreg_l3e_1p2>;
++
++      phys = <&eusb6_repeater>;
++
++      status = "okay";
++};
++
++&usb_mp_hsphy1 {
++      vdd-supply = <&vreg_l2e_0p8>;
++      vdda12-supply = <&vreg_l3e_1p2>;
++
++      phys = <&eusb3_repeater>;
++
++      status = "okay";
++};
++
++&usb_mp_qmpphy0 {
++      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-pll-supply = <&vreg_l3c_0p8>;
++
++      status = "okay";
++};
++
++&usb_mp_qmpphy1 {
++      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-pll-supply = <&vreg_l3c_0p8>;
++
 +      status = "okay";
  };
Index: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-crd_dts
===================================================================
RCS file: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-crd_dts
diff -N 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-crd_dts
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-crd_dts  
    21 Jan 2025 20:29:19 -0000
@@ -0,0 +1,798 @@
+Index: src/arm64/qcom/x1e80100-crd.dts
+--- src/arm64/qcom/x1e80100-crd.dts.orig
++++ src/arm64/qcom/x1e80100-crd.dts
+@@ -20,6 +20,7 @@
+ 
+       aliases {
+               serial0 = &uart21;
++              serial1 = &uart14;
+       };
+ 
+       wcd938x: audio-codec {
+@@ -100,9 +101,17 @@
+                                       reg = <1>;
+ 
+                                       pmic_glink_ss0_ss_in: endpoint {
+-                                              remote-endpoint = 
<&usb_1_ss0_qmpphy_out>;
++                                              remote-endpoint = 
<&retimer_ss0_ss_out>;
+                                       };
+                               };
++
++                              port@2 {
++                                      reg = <2>;
++
++                                      pmic_glink_ss0_con_sbu_in: endpoint {
++                                              remote-endpoint = 
<&retimer_ss0_con_sbu_out>;
++                                      };
++                              };
+                       };
+               };
+ 
+@@ -129,9 +138,17 @@
+                                       reg = <1>;
+ 
+                                       pmic_glink_ss1_ss_in: endpoint {
+-                                              remote-endpoint = 
<&usb_1_ss1_qmpphy_out>;
++                                              remote-endpoint = 
<&retimer_ss1_ss_out>;
+                                       };
+                               };
++
++                              port@2 {
++                                      reg = <2>;
++
++                                      pmic_glink_ss1_con_sbu_in: endpoint {
++                                              remote-endpoint = 
<&retimer_ss1_con_sbu_out>;
++                                      };
++                              };
+                       };
+               };
+ 
+@@ -158,9 +175,17 @@
+                                       reg = <1>;
+ 
+                                       pmic_glink_ss2_ss_in: endpoint {
+-                                              remote-endpoint = 
<&usb_1_ss2_qmpphy_out>;
++                                              remote-endpoint = 
<&retimer_ss2_ss_out>;
+                                       };
+                               };
++
++                              port@2 {
++                                      reg = <2>;
++
++                                      pmic_glink_ss2_con_sbu_in: endpoint {
++                                              remote-endpoint = 
<&retimer_ss2_con_sbu_out>;
++                                      };
++                              };
+                       };
+               };
+       };
+@@ -311,6 +336,150 @@
+               regulator-boot-on;
+       };
+ 
++      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";
+ 
+@@ -322,6 +491,48 @@
+               regulator-boot-on;
+       };
+ 
++      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-boot-on;
++      };
++
++      /*
++       * TODO: These two regulators are actually part of the removable M.2
++       * card and not the CRD 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_wwan: regulator-wwan {
+               compatible = "regulator-fixed";
+ 
+@@ -337,6 +548,65 @@
+ 
+               regulator-boot-on;
+       };
++
++      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>;
++
++              wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
++              bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
++
++              pinctrl-0 = <&wcn_wlan_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";
++                      };
++              };
++      };
+ };
+ 
+ &apps_rsc {
+@@ -735,6 +1005,178 @@
+       };
+ };
+ 
++&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>;
++                              };
++                      };
++              };
++      };
++};
++
++&i2c3 {
++      clock-frequency = <400000>;
++
++      status = "okay";
++
++      typec-mux@8 {
++              compatible = "parade,ps8830";
++              reg = <0x08>;
++
++              clocks = <&rpmhcc RPMH_RF_CLK3>;
++
++              vdd-supply = <&vreg_rtmr0_1p15>;
++              vdd33-supply = <&vreg_rtmr0_3p3>;
++              vdd33-cap-supply = <&vreg_rtmr0_3p3>;
++              vddar-supply = <&vreg_rtmr0_1p15>;
++              vddat-supply = <&vreg_rtmr0_1p15>;
++              vddio-supply = <&vreg_rtmr0_1p8>;
++
++              reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
++
++              pinctrl-0 = <&rtmr0_default>;
++              pinctrl-names = "default";
++
++              retimer-switch;
++              orientation-switch;
++
++              ports {
++                      #address-cells = <1>;
++                      #size-cells = <0>;
++
++                      port@0 {
++                              reg = <0>;
++
++                              retimer_ss0_ss_out: endpoint {
++                                      remote-endpoint = 
<&pmic_glink_ss0_ss_in>;
++                              };
++                      };
++
++                      port@1 {
++                              reg = <1>;
++
++                              retimer_ss0_ss_in: endpoint {
++                                      remote-endpoint = 
<&usb_1_ss0_qmpphy_out>;
++                              };
++                      };
++
++                      port@2 {
++                              reg = <2>;
++
++                              retimer_ss0_con_sbu_out: endpoint {
++                                      remote-endpoint = 
<&pmic_glink_ss0_con_sbu_in>;
++                              };
++                      };
++              };
++      };
++};
++
++&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>;
++                              };
++                      };
++
++              };
++      };
++};
++
+ &i2c8 {
+       clock-frequency = <400000>;
+ 
+@@ -785,6 +1227,30 @@
+       status = "okay";
+ };
+ 
++&mdss_dp0 {
++      status = "okay";
++};
++
++&mdss_dp0_out {
++      data-lanes = <0 1>;
++};
++
++&mdss_dp1 {
++      status = "okay";
++};
++
++&mdss_dp1_out {
++      data-lanes = <0 1>;
++};
++
++&mdss_dp2 {
++      status = "okay";
++};
++
++&mdss_dp2_out {
++      data-lanes = <0 1>;
++};
++
+ &mdss_dp3 {
+       compatible = "qcom,x1e80100-dp";
+       /delete-property/ #sound-dai-cells;
+@@ -845,6 +1311,23 @@
+       status = "okay";
+ };
+ 
++&pcie4_port0 {
++      wifi@0 {
++              compatible = "pci17cb,1107";
++              reg = <0x10000 0x0 0x0 0x0 0x0>;
++
++              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>;
++              vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
++              vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
++      };
++};
++
+ &pcie5 {
+       perst-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
+@@ -883,6 +1366,26 @@
+       status = "okay";
+ };
+ 
++&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_8_gpios {
+       misc_3p3_reg_en: misc-3p3-reg-en-state {
+               pins = "gpio6";
+@@ -896,6 +1399,17 @@
+       };
+ };
+ 
++&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_3_gpios {
+       edp_bl_en: edp-bl-en-state {
+               pins = "gpio4";
+@@ -906,6 +1420,17 @@
+       };
+ };
+ 
++&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;
++      };
++};
++
+ &qupv3_0 {
+       status = "okay";
+ };
+@@ -1135,6 +1660,20 @@
+               };
+       };
+ 
++      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;
++      };
++
+       tpad_default: tpad-default-state {
+               pins = "gpio3";
+               function = "gpio";
+@@ -1156,6 +1695,48 @@
+               };
+       };
+ 
++      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;
++      };
++
+       wcd_default: wcd-reset-n-active-state {
+               pins = "gpio191";
+               function = "gpio";
+@@ -1164,6 +1745,20 @@
+               output-low;
+       };
+ 
++      wcn_sw_en: wcn-sw-en-state {
++              pins = "gpio214";
++              function = "gpio";
++              drive-strength = <2>;
++              bias-disable;
++      };
++
++      wcn_wlan_bt_en: wcn-wlan-bt-en-state {
++              pins = "gpio116", "gpio117";
++              function = "gpio";
++              drive-strength = <2>;
++              bias-disable;
++      };
++
+       wwan_sw_en: wwan-sw-en-state {
+               pins = "gpio221";
+               function = "gpio";
+@@ -1172,6 +1767,23 @@
+       };
+ };
+ 
++&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";
+@@ -1187,7 +1799,7 @@
+ };
+ 
+ &usb_1_ss0_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l1j_0p8>;
+ 
+       status = "okay";
+@@ -1206,7 +1818,7 @@
+ };
+ 
+ &usb_1_ss0_qmpphy_out {
+-      remote-endpoint = <&pmic_glink_ss0_ss_in>;
++      remote-endpoint = <&retimer_ss0_ss_in>;
+ };
+ 
+ &usb_1_ss1_hsphy {
+@@ -1219,7 +1831,7 @@
+ };
+ 
+ &usb_1_ss1_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l2d_0p9>;
+ 
+       status = "okay";
+@@ -1238,7 +1850,7 @@
+ };
+ 
+ &usb_1_ss1_qmpphy_out {
+-      remote-endpoint = <&pmic_glink_ss1_ss_in>;
++      remote-endpoint = <&retimer_ss1_ss_in>;
+ };
+ 
+ &usb_1_ss2_hsphy {
+@@ -1251,7 +1863,7 @@
+ };
+ 
+ &usb_1_ss2_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l2d_0p9>;
+ 
+       status = "okay";
+@@ -1270,5 +1882,5 @@
+ };
+ 
+ &usb_1_ss2_qmpphy_out {
+-      remote-endpoint = <&pmic_glink_ss2_ss_in>;
++      remote-endpoint = <&retimer_ss2_ss_in>;
+ };
Index: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-dell-xps13-9345_dts
===================================================================
RCS file: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-dell-xps13-9345_dts
diff -N 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-dell-xps13-9345_dts
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-dell-xps13-9345_dts
  21 Jan 2025 20:29:19 -0000
@@ -0,0 +1,21 @@
+Index: src/arm64/qcom/x1e80100-dell-xps13-9345.dts
+--- src/arm64/qcom/x1e80100-dell-xps13-9345.dts.orig
++++ src/arm64/qcom/x1e80100-dell-xps13-9345.dts
+@@ -820,7 +820,7 @@
+ };
+ 
+ &usb_1_ss0_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l1j_0p9>;
+ 
+       status = "okay";
+@@ -852,7 +852,7 @@
+ };
+ 
+ &usb_1_ss1_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l2d_0p9>;
+ 
+       status = "okay";
Index: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-lenovo-yoga-slim7x_dts
===================================================================
RCS file: 
/cvs/ports/sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-lenovo-yoga-slim7x_dts,v
diff -u -p -r1.2 patch-src_arm64_qcom_x1e80100-lenovo-yoga-slim7x_dts
--- 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-lenovo-yoga-slim7x_dts
       21 Sep 2024 17:14:17 -0000      1.2
+++ 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-lenovo-yoga-slim7x_dts
       21 Jan 2025 20:29:19 -0000
@@ -1,54 +1,30 @@
 Index: src/arm64/qcom/x1e80100-lenovo-yoga-slim7x.dts
 --- src/arm64/qcom/x1e80100-lenovo-yoga-slim7x.dts.orig
 +++ src/arm64/qcom/x1e80100-lenovo-yoga-slim7x.dts
-@@ -190,7 +190,6 @@
-               pinctrl-0 = <&edp_reg_en>;
-               pinctrl-names = "default";
- 
--              regulator-always-on;
-               regulator-boot-on;
-       };
- 
-@@ -592,9 +591,13 @@
- 
-       aux-bus {
-               panel {
--                      compatible = "edp-panel";
-+                      compatible = "samsung,atna45dc02", "samsung,atna33xc20";
-+                      enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
-                       power-supply = <&vreg_edp_3p3>;
- 
-+                      pinctrl-0 = <&edp_bl_en>;
-+                      pinctrl-names = "default";
-+
-                       port {
-                               edp_panel_in: endpoint {
-                                       remote-endpoint = <&mdss_dp3_out>;
-@@ -669,6 +672,16 @@
-       status = "okay";
+@@ -908,7 +908,7 @@
  };
  
-+&pmc8380_3_gpios {
-+      edp_bl_en: edp-bl-en-state {
-+              pins = "gpio4";
-+              function = "normal";
-+              power-source = <0>;
-+              input-disable;
-+              output-enable;
-+      };
-+};
-+
- &qupv3_0 {
+ &usb_1_ss0_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l1j_0p8>;
+ 
        status = "okay";
+@@ -940,7 +940,7 @@
  };
-@@ -702,6 +715,10 @@
- &smb2360_1_eusb2_repeater {
-       vdd18-supply = <&vreg_l3d_1p8>;
-       vdd3-supply = <&vreg_l14b_3p0>;
-+};
-+
-+&smb2360_2 {
-+      status = "okay";
+ 
+ &usb_1_ss1_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l2d_0p9>;
+ 
+       status = "okay";
+@@ -972,7 +972,7 @@
  };
  
- &smb2360_2_eusb2_repeater {
+ &usb_1_ss2_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l2d_0p9>;
+ 
+       status = "okay";
Index: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-microsoft-romulus_dtsi
===================================================================
RCS file: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-microsoft-romulus_dtsi
diff -N 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-microsoft-romulus_dtsi
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-microsoft-romulus_dtsi
       21 Jan 2025 20:29:19 -0000
@@ -0,0 +1,21 @@
+Index: src/arm64/qcom/x1e80100-microsoft-romulus.dtsi
+--- src/arm64/qcom/x1e80100-microsoft-romulus.dtsi.orig
++++ src/arm64/qcom/x1e80100-microsoft-romulus.dtsi
+@@ -823,7 +823,7 @@
+ };
+ 
+ &usb_1_ss0_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e>;
++      vdda-phy-supply = <&vreg_l2j>;
+       vdda-pll-supply = <&vreg_l1j>;
+ 
+       status = "okay";
+@@ -855,7 +855,7 @@
+ };
+ 
+ &usb_1_ss1_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e>;
++      vdda-phy-supply = <&vreg_l2j>;
+       vdda-pll-supply = <&vreg_l2d>;
+ 
+       status = "okay";
Index: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-pmics_dtsi
===================================================================
RCS file: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-pmics_dtsi
diff -N 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-pmics_dtsi
--- 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-pmics_dtsi
   21 Sep 2024 17:14:17 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,27 +0,0 @@
-Index: src/arm64/qcom/x1e80100-pmics.dtsi
---- src/arm64/qcom/x1e80100-pmics.dtsi.orig
-+++ src/arm64/qcom/x1e80100-pmics.dtsi
-@@ -249,6 +249,14 @@
-                       interrupt-controller;
-                       #interrupt-cells = <2>;
-               };
-+
-+              pmk8550_pwm: pwm {
-+                      compatible = "qcom,pmk8550-pwm";
-+
-+                      #pwm-cells = <2>;
-+
-+                      status = "disabled";
-+              };
-       };
- 
-       /* PMC8380C */
-@@ -508,6 +516,8 @@
-               reg = <0xb SPMI_USID>;
-               #address-cells = <1>;
-               #size-cells = <0>;
-+
-+              status = "disabled";
- 
-               smb2360_2_eusb2_repeater: phy@fd00 {
-                       compatible = "qcom,smb2360-eusb2-repeater";
Index: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-qcp_dts
===================================================================
RCS file: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-qcp_dts
diff -N 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-qcp_dts
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-qcp_dts  
    21 Jan 2025 20:29:19 -0000
@@ -0,0 +1,204 @@
+Index: src/arm64/qcom/x1e80100-qcp.dts
+--- src/arm64/qcom/x1e80100-qcp.dts.orig
++++ src/arm64/qcom/x1e80100-qcp.dts
+@@ -17,6 +17,7 @@
+ 
+       aliases {
+               serial0 = &uart21;
++              serial1 = &uart14;
+       };
+ 
+       wcd938x: audio-codec {
+@@ -256,6 +257,101 @@
+ 
+               regulator-boot-on;
+       };
++
++      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-boot-on;
++      };
++
++      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>;
++      };
++
++      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>;
++
++              wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
++              bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
++
++              pinctrl-0 = <&wcn_wlan_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";
++                      };
++              };
++      };
+ };
+ 
+ &apps_rsc {
+@@ -686,6 +782,23 @@
+       status = "okay";
+ };
+ 
++&pcie4_port0 {
++      wifi@0 {
++              compatible = "pci17cb,1107";
++              reg = <0x10000 0x0 0x0 0x0 0x0>;
++
++              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>;
++              vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
++              vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
++      };
++};
++
+ &pcie6a {
+       perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+@@ -879,8 +992,39 @@
+               bias-disable;
+               output-low;
+       };
++
++      wcn_wlan_bt_en: wcn-wlan-bt-en-state {
++              pins = "gpio116", "gpio117";
++              function = "gpio";
++              drive-strength = <2>;
++              bias-disable;
++      };
++
++      wcn_sw_en: wcn-sw-en-state {
++              pins = "gpio214";
++              function = "gpio";
++              drive-strength = <2>;
++              bias-disable;
++      };
+ };
+ 
++&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";
+@@ -896,7 +1040,7 @@
+ };
+ 
+ &usb_1_ss0_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l1j_0p8>;
+ 
+       status = "okay";
+@@ -928,7 +1072,7 @@
+ };
+ 
+ &usb_1_ss1_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l2d_0p9>;
+ 
+       status = "okay";
+@@ -960,7 +1104,7 @@
+ };
+ 
+ &usb_1_ss2_qmpphy {
+-      vdda-phy-supply = <&vreg_l3e_1p2>;
++      vdda-phy-supply = <&vreg_l2j_1p2>;
+       vdda-pll-supply = <&vreg_l2d_0p9>;
+ 
+       status = "okay";
Index: 
sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100_dtsi
===================================================================
RCS file: 
/cvs/ports/sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100_dtsi,v
diff -u -p -r1.3 patch-src_arm64_qcom_x1e80100_dtsi
--- sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100_dtsi 
17 Nov 2024 16:45:15 -0000      1.3
+++ sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100_dtsi 
21 Jan 2025 20:29:19 -0000
@@ -1,149 +1,141 @@
 Index: src/arm64/qcom/x1e80100.dtsi
 --- src/arm64/qcom/x1e80100.dtsi.orig
 +++ src/arm64/qcom/x1e80100.dtsi
-@@ -4,6 +4,7 @@
-  */
- 
- #include <dt-bindings/clock/qcom,rpmh.h>
-+#include <dt-bindings/clock/qcom,sc8280xp-lpasscc.h>
- #include <dt-bindings/clock/qcom,x1e80100-dispcc.h>
- #include <dt-bindings/clock/qcom,x1e80100-gcc.h>
- #include <dt-bindings/clock/qcom,x1e80100-gpucc.h>
-@@ -70,8 +71,8 @@
+@@ -71,8 +71,8 @@
                        reg = <0x0 0x0>;
                        enable-method = "psci";
-                       next-level-cache = <&L2_0>;
--                      power-domains = <&CPU_PD0>;
+                       next-level-cache = <&l2_0>;
+-                      power-domains = <&cpu_pd0>;
 -                      power-domain-names = "psci";
-+                      power-domains = <&CPU_PD0>, <&scmi_dvfs 0>;
++                      power-domains = <&cpu_pd0>, <&scmi_dvfs 0>;
 +                      power-domain-names = "psci", "perf";
-                       cpu-idle-states = <&CLUSTER_C4>;
+                       cpu-idle-states = <&cluster_c4>;
  
-                       L2_0: l2-cache {
-@@ -87,8 +88,8 @@
+                       l2_0: l2-cache {
+@@ -88,8 +88,8 @@
                        reg = <0x0 0x100>;
                        enable-method = "psci";
-                       next-level-cache = <&L2_0>;
--                      power-domains = <&CPU_PD1>;
+                       next-level-cache = <&l2_0>;
+-                      power-domains = <&cpu_pd1>;
 -                      power-domain-names = "psci";
-+                      power-domains = <&CPU_PD1>, <&scmi_dvfs 0>;
++                      power-domains = <&cpu_pd1>, <&scmi_dvfs 0>;
 +                      power-domain-names = "psci", "perf";
-                       cpu-idle-states = <&CLUSTER_C4>;
+                       cpu-idle-states = <&cluster_c4>;
                };
  
-@@ -98,8 +99,8 @@
+@@ -99,8 +99,8 @@
                        reg = <0x0 0x200>;
                        enable-method = "psci";
-                       next-level-cache = <&L2_0>;
--                      power-domains = <&CPU_PD2>;
+                       next-level-cache = <&l2_0>;
+-                      power-domains = <&cpu_pd2>;
 -                      power-domain-names = "psci";
-+                      power-domains = <&CPU_PD2>, <&scmi_dvfs 0>;
++                      power-domains = <&cpu_pd2>, <&scmi_dvfs 0>;
 +                      power-domain-names = "psci", "perf";
-                       cpu-idle-states = <&CLUSTER_C4>;
+                       cpu-idle-states = <&cluster_c4>;
                };
  
-@@ -109,8 +110,8 @@
+@@ -110,8 +110,8 @@
                        reg = <0x0 0x300>;
                        enable-method = "psci";
-                       next-level-cache = <&L2_0>;
--                      power-domains = <&CPU_PD3>;
+                       next-level-cache = <&l2_0>;
+-                      power-domains = <&cpu_pd3>;
 -                      power-domain-names = "psci";
-+                      power-domains = <&CPU_PD3>, <&scmi_dvfs 0>;
++                      power-domains = <&cpu_pd3>, <&scmi_dvfs 0>;
 +                      power-domain-names = "psci", "perf";
-                       cpu-idle-states = <&CLUSTER_C4>;
+                       cpu-idle-states = <&cluster_c4>;
                };
  
-@@ -120,8 +121,8 @@
+@@ -121,8 +121,8 @@
                        reg = <0x0 0x10000>;
                        enable-method = "psci";
-                       next-level-cache = <&L2_1>;
--                      power-domains = <&CPU_PD4>;
+                       next-level-cache = <&l2_1>;
+-                      power-domains = <&cpu_pd4>;
 -                      power-domain-names = "psci";
-+                      power-domains = <&CPU_PD4>, <&scmi_dvfs 1>;
++                      power-domains = <&cpu_pd4>, <&scmi_dvfs 1>;
 +                      power-domain-names = "psci", "perf";
-                       cpu-idle-states = <&CLUSTER_C4>;
+                       cpu-idle-states = <&cluster_c4>;
  
-                       L2_1: l2-cache {
-@@ -137,8 +138,8 @@
+                       l2_1: l2-cache {
+@@ -138,8 +138,8 @@
                        reg = <0x0 0x10100>;
                        enable-method = "psci";
-                       next-level-cache = <&L2_1>;
--                      power-domains = <&CPU_PD5>;
+                       next-level-cache = <&l2_1>;
+-                      power-domains = <&cpu_pd5>;
 -                      power-domain-names = "psci";
-+                      power-domains = <&CPU_PD5>, <&scmi_dvfs 1>;
++                      power-domains = <&cpu_pd5>, <&scmi_dvfs 1>;
 +                      power-domain-names = "psci", "perf";
-                       cpu-idle-states = <&CLUSTER_C4>;
+                       cpu-idle-states = <&cluster_c4>;
                };
  
-@@ -148,8 +149,8 @@
+@@ -149,8 +149,8 @@
                        reg = <0x0 0x10200>;
                        enable-method = "psci";
-                       next-level-cache = <&L2_1>;
--                      power-domains = <&CPU_PD6>;
+                       next-level-cache = <&l2_1>;
+-                      power-domains = <&cpu_pd6>;
 -                      power-domain-names = "psci";
-+                      power-domains = <&CPU_PD6>, <&scmi_dvfs 1>;
++                      power-domains = <&cpu_pd6>, <&scmi_dvfs 1>;
 +                      power-domain-names = "psci", "perf";
-                       cpu-idle-states = <&CLUSTER_C4>;
+                       cpu-idle-states = <&cluster_c4>;
                };
  
-@@ -159,8 +160,8 @@
+@@ -160,8 +160,8 @@
                        reg = <0x0 0x10300>;
                        enable-method = "psci";
-                       next-level-cache = <&L2_1>;
--                      power-domains = <&CPU_PD7>;
+                       next-level-cache = <&l2_1>;
+-                      power-domains = <&cpu_pd7>;
 -                      power-domain-names = "psci";
-+                      power-domains = <&CPU_PD7>, <&scmi_dvfs 1>;
++                      power-domains = <&cpu_pd7>, <&scmi_dvfs 1>;
 +                      power-domain-names = "psci", "perf";
-                       cpu-idle-states = <&CLUSTER_C4>;
+                       cpu-idle-states = <&cluster_c4>;
                };
  
-@@ -170,8 +171,8 @@
+@@ -171,8 +171,8 @@
                        reg = <0x0 0x20000>;
                        enable-method = "psci";
-                       next-level-cache = <&L2_2>;
--                      power-domains = <&CPU_PD8>;
+                       next-level-cache = <&l2_2>;
+-                      power-domains = <&cpu_pd8>;
 -                      power-domain-names = "psci";
-+                      power-domains = <&CPU_PD8>, <&scmi_dvfs 2>;
++                      power-domains = <&cpu_pd8>, <&scmi_dvfs 2>;
 +                      power-domain-names = "psci", "perf";
-                       cpu-idle-states = <&CLUSTER_C4>;
+                       cpu-idle-states = <&cluster_c4>;
  
-                       L2_2: l2-cache {
-@@ -187,8 +188,8 @@
+                       l2_2: l2-cache {
+@@ -188,8 +188,8 @@
                        reg = <0x0 0x20100>;
                        enable-method = "psci";
-                       next-level-cache = <&L2_2>;
--                      power-domains = <&CPU_PD9>;
+                       next-level-cache = <&l2_2>;
+-                      power-domains = <&cpu_pd9>;
 -                      power-domain-names = "psci";
-+                      power-domains = <&CPU_PD9>, <&scmi_dvfs 2>;
++                      power-domains = <&cpu_pd9>, <&scmi_dvfs 2>;
 +                      power-domain-names = "psci", "perf";
-                       cpu-idle-states = <&CLUSTER_C4>;
+                       cpu-idle-states = <&cluster_c4>;
                };
  
-@@ -198,8 +199,8 @@
+@@ -199,8 +199,8 @@
                        reg = <0x0 0x20200>;
                        enable-method = "psci";
-                       next-level-cache = <&L2_2>;
--                      power-domains = <&CPU_PD10>;
+                       next-level-cache = <&l2_2>;
+-                      power-domains = <&cpu_pd10>;
 -                      power-domain-names = "psci";
-+                      power-domains = <&CPU_PD10>, <&scmi_dvfs 2>;
++                      power-domains = <&cpu_pd10>, <&scmi_dvfs 2>;
 +                      power-domain-names = "psci", "perf";
-                       cpu-idle-states = <&CLUSTER_C4>;
+                       cpu-idle-states = <&cluster_c4>;
                };
  
-@@ -209,8 +210,8 @@
+@@ -210,8 +210,8 @@
                        reg = <0x0 0x20300>;
                        enable-method = "psci";
-                       next-level-cache = <&L2_2>;
--                      power-domains = <&CPU_PD11>;
+                       next-level-cache = <&l2_2>;
+-                      power-domains = <&cpu_pd11>;
 -                      power-domain-names = "psci";
-+                      power-domains = <&CPU_PD11>, <&scmi_dvfs 2>;
++                      power-domains = <&cpu_pd11>, <&scmi_dvfs 2>;
 +                      power-domain-names = "psci", "perf";
-                       cpu-idle-states = <&CLUSTER_C4>;
+                       cpu-idle-states = <&cluster_c4>;
                };
  
-@@ -310,6 +311,21 @@
-                       interconnects = <&aggre2_noc MASTER_CRYPTO 
QCOM_ICC_TAG_ALWAYS
+@@ -310,6 +310,21 @@
                                         &mc_virt SLAVE_EBI1 
QCOM_ICC_TAG_ALWAYS>;
+                       qcom,dload-mode = <&tcsr 0x19000>;
                };
 +
 +              scmi {
@@ -163,193 +155,575 @@ Index: src/arm64/qcom/x1e80100.dtsi
        };
  
        clk_virt: interconnect-0 {
-@@ -745,7 +761,7 @@
-                                <&sleep_clk>,
-                                <0>,
-                                <&pcie4_phy>,
--                               <0>,
-+                               <&pcie5_phy>,
-                                <&pcie6a_phy>,
-                                <0>,
-                                <&usb_1_ss0_qmpphy QMP_USB43DP_USB3_PIPE_CLK>,
-@@ -1979,7 +1995,7 @@
- 
-                       i2c0: i2c@b80000 {
-                               compatible = "qcom,geni-i2c";
--                              reg = <0 0xb80000 0 0x4000>;
-+                              reg = <0 0x00b80000 0 0x4000>;
- 
-                               interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
+@@ -677,6 +692,34 @@
+               };
+       };
  
-@@ -2142,9 +2158,31 @@
++      qup_opp_table_100mhz: opp-table-qup100mhz {
++              compatible = "operating-points-v2";
++
++              opp-75000000 {
++                      opp-hz = /bits/ 64 <75000000>;
++                      required-opps = <&rpmhpd_opp_low_svs>;
++              };
++
++              opp-100000000 {
++                      opp-hz = /bits/ 64 <100000000>;
++                      required-opps = <&rpmhpd_opp_svs>;
++              };
++      };
++
++      qup_opp_table_120mhz: opp-table-qup120mhz {
++              compatible = "operating-points-v2";
++
++              opp-75000000 {
++                      opp-hz = /bits/ 64 <75000000>;
++                      required-opps = <&rpmhpd_opp_low_svs>;
++              };
++
++              opp-120000000 {
++                      opp-hz = /bits/ 64 <120000000>;
++                      required-opps = <&rpmhpd_opp_svs>;
++              };
++      };
++
+       smp2p-adsp {
+               compatible = "qcom,smp2p";
+ 
+@@ -831,6 +874,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma2 0 0 QCOM_GPI_I2C>,
+                                      <&gpi_dma2 1 0 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -864,6 +910,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_120mhz>;
++
+                               dmas = <&gpi_dma2 0 0 QCOM_GPI_SPI>,
+                                      <&gpi_dma2 1 0 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -897,6 +946,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma2 0 1 QCOM_GPI_I2C>,
+                                      <&gpi_dma2 1 1 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -930,6 +982,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_120mhz>;
++
+                               dmas = <&gpi_dma2 0 1 QCOM_GPI_SPI>,
+                                      <&gpi_dma2 1 1 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -963,6 +1018,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma2 0 2 QCOM_GPI_I2C>,
+                                      <&gpi_dma2 1 2 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -996,6 +1054,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma2 0 2 QCOM_GPI_SPI>,
+                                      <&gpi_dma2 1 2 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1029,6 +1090,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma2 0 3 QCOM_GPI_I2C>,
+                                      <&gpi_dma2 1 3 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -1062,6 +1126,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma2 0 3 QCOM_GPI_SPI>,
+                                      <&gpi_dma2 1 3 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1095,6 +1162,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma2 0 4 QCOM_GPI_I2C>,
+                                      <&gpi_dma2 1 4 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -1128,6 +1198,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma2 0 4 QCOM_GPI_SPI>,
+                                      <&gpi_dma2 1 4 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1161,6 +1234,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma2 0 5 QCOM_GPI_I2C>,
+                                      <&gpi_dma2 1 5 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -1194,6 +1270,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma2 0 5 QCOM_GPI_SPI>,
+                                      <&gpi_dma2 1 5 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1224,6 +1303,9 @@
+                               interconnect-names = "qup-core",
+                                                    "qup-config";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               pinctrl-0 = <&qup_uart21_default>;
+                               pinctrl-names = "default";
+ 
+@@ -1249,6 +1331,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma2 0 6 QCOM_GPI_I2C>,
+                                      <&gpi_dma2 1 6 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -1282,6 +1367,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma2 0 6 QCOM_GPI_SPI>,
+                                      <&gpi_dma2 1 6 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1315,6 +1403,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma2 0 7 QCOM_GPI_I2C>,
+                                      <&gpi_dma2 1 7 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -1348,6 +1439,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma2 0 7 QCOM_GPI_SPI>,
+                                      <&gpi_dma2 1 7 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1425,6 +1519,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
+                                      <&gpi_dma1 1 0 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -1458,6 +1555,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_120mhz>;
++
+                               dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
+                                      <&gpi_dma1 1 0 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1491,6 +1591,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
+                                      <&gpi_dma1 1 1 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -1524,6 +1627,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_120mhz>;
++
+                               dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
+                                      <&gpi_dma1 1 1 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1557,6 +1663,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
+                                      <&gpi_dma1 1 2 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -1590,6 +1699,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>,
+                                      <&gpi_dma1 1 2 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1623,6 +1735,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
+                                      <&gpi_dma1 1 3 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -1656,6 +1771,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>,
+                                      <&gpi_dma1 1 3 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1689,6 +1807,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
+                                      <&gpi_dma1 1 4 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -1722,6 +1843,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
+                                      <&gpi_dma1 1 4 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1755,6 +1879,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>,
+                                      <&gpi_dma1 1 5 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -1788,6 +1915,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma1 0 5 QCOM_GPI_SPI>,
+                                      <&gpi_dma1 1 5 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1821,6 +1951,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>,
+                                      <&gpi_dma1 1 6 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -1854,6 +1987,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma1 0 6 QCOM_GPI_SPI>,
+                                      <&gpi_dma1 1 6 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1868,6 +2004,31 @@
                                status = "disabled";
                        };
  
-+                      uart2: serial@b88000 {
++                      uart14: serial@a98000 {
 +                              compatible = "qcom,geni-uart";
-+                              reg = <0 0x00b88000 0 0x4000>;
++                              reg = <0 0x00a98000 0 0x4000>;
 +
-+                              interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
++                              interrupts = <GIC_SPI 806 IRQ_TYPE_LEVEL_HIGH>;
 +
-+                              clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
++                              clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
 +                              clock-names = "se";
 +
-+                              interconnects = <&clk_virt MASTER_QUP_CORE_0 
QCOM_ICC_TAG_ALWAYS
-+                                               &clk_virt SLAVE_QUP_CORE_0 
QCOM_ICC_TAG_ALWAYS>,
++                              interconnects = <&clk_virt MASTER_QUP_CORE_1 
QCOM_ICC_TAG_ALWAYS
++                                               &clk_virt SLAVE_QUP_CORE_1 
QCOM_ICC_TAG_ALWAYS>,
 +                                              <&gem_noc MASTER_APPSS_PROC 
QCOM_ICC_TAG_ALWAYS
-+                                               &config_noc SLAVE_QUP_0 
QCOM_ICC_TAG_ALWAYS>;
++                                               &config_noc SLAVE_QUP_1 
QCOM_ICC_TAG_ALWAYS>;
 +                              interconnect-names = "qup-core",
 +                                                   "qup-config";
 +
-+                              pinctrl-0 = <&qup_uart2_default>;
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
++                              pinctrl-0 = <&qup_uart14_default>;
 +                              pinctrl-names = "default";
 +
 +                              status = "disabled";
 +                      };
 +
-                       spi2: spi@b88000 {
-                               compatible = "qcom,geni-spi";
--                              reg = <0 0xb88000 0 0x4000>;
-+                              reg = <0 0x00b88000 0 0x4000>;
- 
-                               interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
- 
-@@ -2243,7 +2281,7 @@
- 
-                       i2c4: i2c@b90000 {
+                       i2c15: i2c@a9c000 {
                                compatible = "qcom,geni-i2c";
--                              reg = <0 0xb90000 0 0x4000>;
-+                              reg = <0 0x00b90000 0 0x4000>;
- 
-                               interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
- 
-@@ -2603,6 +2641,8 @@
-                       #clock-cells = <1>;
-                       #phy-cells = <1>;
- 
-+                      orientation-switch;
-+
+                               reg = <0 0x00a9c000 0 0x4000>;
+@@ -1887,6 +2048,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma1 0 7 QCOM_GPI_I2C>,
+                                      <&gpi_dma1 1 7 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -1920,6 +2084,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma1 0 7 QCOM_GPI_SPI>,
+                                      <&gpi_dma1 1 7 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -1996,6 +2163,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
+                                      <&gpi_dma0 1 0 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -2029,6 +2199,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_120mhz>;
++
+                               dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
+                                      <&gpi_dma0 1 0 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -2062,6 +2235,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
+                                      <&gpi_dma0 1 1 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -2095,6 +2271,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_120mhz>;
++
+                               dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
+                                      <&gpi_dma0 1 1 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -2128,6 +2307,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
+                                      <&gpi_dma0 1 2 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -2158,6 +2340,9 @@
+                               interconnect-names = "qup-core",
+                                                    "qup-config";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               pinctrl-0 = <&qup_uart2_default>;
+                               pinctrl-names = "default";
+ 
+@@ -2183,6 +2368,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
+                                      <&gpi_dma0 1 2 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -2216,6 +2404,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
+                                      <&gpi_dma0 1 3 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -2249,6 +2440,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
+                                      <&gpi_dma0 1 3 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -2282,6 +2476,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
+                                      <&gpi_dma0 1 4 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -2315,6 +2512,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>,
+                                      <&gpi_dma0 1 4 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -2348,6 +2548,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
+                                      <&gpi_dma0 1 5 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -2381,6 +2584,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
+                                      <&gpi_dma0 1 5 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -2414,6 +2620,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>,
+                                      <&gpi_dma0 1 6 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -2447,6 +2656,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma0 0 6 QCOM_GPI_SPI>,
+                                      <&gpi_dma0 1 6 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -2480,6 +2692,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              required-opps = <&rpmhpd_opp_low_svs>;
++
+                               dmas = <&gpi_dma0 0 7 QCOM_GPI_I2C>,
+                                      <&gpi_dma0 1 7 QCOM_GPI_I2C>;
+                               dma-names = "tx",
+@@ -2513,6 +2728,9 @@
+                                                    "qup-config",
+                                                    "qup-memory";
+ 
++                              power-domains = <&rpmhpd RPMHPD_CX>;
++                              operating-points-v2 = <&qup_opp_table_100mhz>;
++
+                               dmas = <&gpi_dma0 0 7 QCOM_GPI_SPI>,
+                                      <&gpi_dma0 1 7 QCOM_GPI_SPI>;
+                               dma-names = "tx",
+@@ -3291,6 +3509,77 @@
                        status = "disabled";
- 
-                       ports {
-@@ -2671,6 +2711,8 @@
-                       #clock-cells = <1>;
-                       #phy-cells = <1>;
- 
-+                      orientation-switch;
-+
-                       status = "disabled";
- 
-                       ports {
-@@ -2739,6 +2781,8 @@
-                       #clock-cells = <1>;
-                       #phy-cells = <1>;
- 
-+                      orientation-switch;
-+
-                       status = "disabled";
- 
-                       ports {
-@@ -2772,7 +2816,7 @@
- 
-               cnoc_main: interconnect@1500000 {
-                       compatible = "qcom,x1e80100-cnoc-main";
--                      reg = <0 0x1500000 0 0x14400>;
-+                      reg = <0 0x01500000 0 0x14400>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -2781,7 +2825,7 @@
- 
-               config_noc: interconnect@1600000 {
-                       compatible = "qcom,x1e80100-cnoc-cfg";
--                      reg = <0 0x1600000 0 0x6600>;
-+                      reg = <0 0x01600000 0 0x6600>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -2790,7 +2834,7 @@
- 
-               system_noc: interconnect@1680000 {
-                       compatible = "qcom,x1e80100-system-noc";
--                      reg = <0 0x1680000 0 0x1c080>;
-+                      reg = <0 0x01680000 0 0x1c080>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -2799,7 +2843,7 @@
- 
-               pcie_south_anoc: interconnect@16c0000 {
-                       compatible = "qcom,x1e80100-pcie-south-anoc";
--                      reg = <0 0x16c0000 0 0xd080>;
-+                      reg = <0 0x016c0000 0 0xd080>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -2808,7 +2852,7 @@
- 
-               pcie_center_anoc: interconnect@16d0000 {
-                       compatible = "qcom,x1e80100-pcie-center-anoc";
--                      reg = <0 0x16d0000 0 0x7000>;
-+                      reg = <0 0x016d0000 0 0x7000>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -2817,7 +2861,7 @@
- 
-               aggre1_noc: interconnect@16e0000 {
-                       compatible = "qcom,x1e80100-aggre1-noc";
--                      reg = <0 0x16E0000 0 0x14400>;
-+                      reg = <0 0x016e0000 0 0x14400>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -2826,7 +2870,7 @@
- 
-               aggre2_noc: interconnect@1700000 {
-                       compatible = "qcom,x1e80100-aggre2-noc";
--                      reg = <0 0x1700000 0 0x1c400>;
-+                      reg = <0 0x01700000 0 0x1c400>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -2835,7 +2879,7 @@
- 
-               pcie_north_anoc: interconnect@1740000 {
-                       compatible = "qcom,x1e80100-pcie-north-anoc";
--                      reg = <0 0x1740000 0 0x9080>;
-+                      reg = <0 0x01740000 0 0x9080>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -2844,7 +2888,7 @@
- 
-               usb_center_anoc: interconnect@1750000 {
-                       compatible = "qcom,x1e80100-usb-center-anoc";
--                      reg = <0 0x1750000 0 0x8800>;
-+                      reg = <0 0x01750000 0 0x8800>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -2853,7 +2897,7 @@
- 
-               usb_north_anoc: interconnect@1760000 {
-                       compatible = "qcom,x1e80100-usb-north-anoc";
--                      reg = <0 0x1760000 0 0x7080>;
-+                      reg = <0 0x01760000 0 0x7080>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -2862,16 +2906,87 @@
- 
-               usb_south_anoc: interconnect@1770000 {
-                       compatible = "qcom,x1e80100-usb-south-anoc";
--                      reg = <0 0x1770000 0 0xf080>;
-+                      reg = <0 0x01770000 0 0xf080>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-                       #interconnect-cells = <2>;
                };
  
 +              ufs_mem_hc: ufshc@1d84000 {
@@ -423,585 +797,108 @@ Index: src/arm64/qcom/x1e80100.dtsi
 +                      clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
 +              };
 +
-               mmss_noc: interconnect@1780000 {
-                       compatible = "qcom,x1e80100-mmss-noc";
--                      reg = <0 0x1780000 0 0x5B800>;
-+                      reg = <0 0x01780000 0 0x5B800>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -3000,6 +3115,126 @@
-                       status = "disabled";
-               };
+               tcsr_mutex: hwlock@1f40000 {
+                       compatible = "qcom,tcsr-mutex";
+                       reg = <0 0x01f40000 0 0x20000>;
+@@ -4063,6 +4352,8 @@
+                               snps,dis_u2_susphy_quirk;
+                               snps,dis_enblslpm_quirk;
+                               snps,usb3_lpm_capable;
++                              snps,dis-u1-entry-quirk;
++                              snps,dis-u2-entry-quirk;
+ 
+                               dma-coherent;
+ 
+@@ -4118,7 +4409,7 @@
+                                         <&gcc GCC_USB20_MASTER_CLK>;
+                       assigned-clock-rates = <19200000>, <200000000>;
+ 
+-                      interrupts-extended = <&intc GIC_SPI 240 
IRQ_TYPE_LEVEL_HIGH>,
++                      interrupts-extended = <&intc GIC_SPI 245 
IRQ_TYPE_LEVEL_HIGH>,
+                                             <&pdc 50 IRQ_TYPE_EDGE_BOTH>,
+                                             <&pdc 49 IRQ_TYPE_EDGE_BOTH>;
+                       interrupt-names = "pwr_event",
+@@ -4144,12 +4435,16 @@
+                       usb_2_dwc3: usb@a200000 {
+                               compatible = "snps,dwc3";
+                               reg = <0 0x0a200000 0 0xcd00>;
+-                              interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
++                              interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>;
+                               iommus = <&apps_smmu 0x14e0 0x0>;
+                               phys = <&usb_2_hsphy>;
+                               phy-names = "usb2-phy";
+                               maximum-speed = "high-speed";
++                              snps,dis-u1-entry-quirk;
++                              snps,dis-u2-entry-quirk;
  
-+              pcie5: pci@1c00000 {
-+                      device_type = "pci";
-+                      compatible = "qcom,pcie-x1e80100";
-+                      reg = <0 0x01c00000 0 0x3000>,
-+                            <0 0x7e000000 0 0xf1d>,
-+                            <0 0x7e000f40 0 0xa8>,
-+                            <0 0x7e001000 0 0x1000>,
-+                            <0 0x7e100000 0 0x100000>,
-+                            <0 0x01c03000 0 0x1000>;
-+                      reg-names = "parf",
-+                                  "dbi",
-+                                  "elbi",
-+                                  "atu",
-+                                  "config",
-+                                  "mhi";
-+                      #address-cells = <3>;
-+                      #size-cells = <2>;
-+                      ranges = <0x01000000 0x0 0x00000000 0x0 0x7e200000 0x0 
0x100000>,
-+                               <0x02000000 0x0 0x7e300000 0x0 0x7e300000 0x0 
0x1d00000>;
-+                      bus-range = <0x00 0xff>;
-+
-+                      dma-coherent;
-+
-+                      linux,pci-domain = <5>;
-+                      num-lanes = <2>;
-+
-+                      interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
-+                                   <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
-+                                   <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
-+                                   <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
-+                                   <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
-+                                   <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
-+                                   <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
-+                                   <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
-+                      interrupt-names = "msi0",
-+                                        "msi1",
-+                                        "msi2",
-+                                        "msi3",
-+                                        "msi4",
-+                                        "msi5",
-+                                        "msi6",
-+                                        "msi7";
-+
-+                      #interrupt-cells = <1>;
-+                      interrupt-map-mask = <0 0 0 0x7>;
-+                      interrupt-map = <0 0 0 1 &intc 0 0 0 70 
IRQ_TYPE_LEVEL_HIGH>,
-+                                      <0 0 0 2 &intc 0 0 0 71 
IRQ_TYPE_LEVEL_HIGH>,
-+                                      <0 0 0 3 &intc 0 0 0 72 
IRQ_TYPE_LEVEL_HIGH>,
-+                                      <0 0 0 4 &intc 0 0 0 73 
IRQ_TYPE_LEVEL_HIGH>;
-+
-+                      clocks = <&gcc GCC_PCIE_5_AUX_CLK>,
-+                               <&gcc GCC_PCIE_5_CFG_AHB_CLK>,
-+                               <&gcc GCC_PCIE_5_MSTR_AXI_CLK>,
-+                               <&gcc GCC_PCIE_5_SLV_AXI_CLK>,
-+                               <&gcc GCC_PCIE_5_SLV_Q2A_AXI_CLK>,
-+                               <&gcc GCC_CFG_NOC_PCIE_ANOC_NORTH_AHB_CLK>,
-+                               <&gcc GCC_CNOC_PCIE_NORTH_SF_AXI_CLK>;
-+                      clock-names = "aux",
-+                                    "cfg",
-+                                    "bus_master",
-+                                    "bus_slave",
-+                                    "slave_q2a",
-+                                    "noc_aggr",
-+                                    "cnoc_sf_axi";
-+
-+                      assigned-clocks = <&gcc GCC_PCIE_5_AUX_CLK>;
-+                      assigned-clock-rates = <19200000>;
-+
-+                      interconnects = <&pcie_south_anoc MASTER_PCIE_5 
QCOM_ICC_TAG_ALWAYS
-+                                       &mc_virt SLAVE_EBI1 
QCOM_ICC_TAG_ALWAYS>,
-+                                      <&gem_noc MASTER_APPSS_PROC 
QCOM_ICC_TAG_ALWAYS
-+                                       &cnoc_main SLAVE_PCIE_5 
QCOM_ICC_TAG_ALWAYS>;
-+                      interconnect-names = "pcie-mem",
-+                                           "cpu-pcie";
-+
-+                      resets = <&gcc GCC_PCIE_5_BCR>,
-+                               <&gcc GCC_PCIE_5_LINK_DOWN_BCR>;
-+                      reset-names = "pci",
-+                                    "link_down";
-+
-+                      power-domains = <&gcc GCC_PCIE_5_GDSC>;
-+                      required-opps = <&rpmhpd_opp_nom>;
-+
-+                      phys = <&pcie5_phy>;
-+                      phy-names = "pciephy";
-+
-+                      status = "disabled";
-+              };
-+
-+              pcie5_phy: phy@1c06000 {
-+                      compatible = "qcom,x1e80100-qmp-gen3x2-pcie-phy";
-+                      reg = <0 0x01c06000 0 0x2000>;
-+
-+                      clocks = <&gcc GCC_PCIE_5_AUX_CLK>,
-+                               <&gcc GCC_PCIE_5_CFG_AHB_CLK>,
-+                               <&rpmhcc RPMH_CXO_CLK>,
-+                               <&gcc GCC_PCIE_5_PHY_RCHNG_CLK>,
-+                               <&gcc GCC_PCIE_5_PIPE_CLK>;
-+                      clock-names = "aux",
-+                                    "cfg_ahb",
-+                                    "ref",
-+                                    "rchng",
-+                                    "pipe";
-+
-+                      resets = <&gcc GCC_PCIE_5_PHY_BCR>;
-+                      reset-names = "phy";
-+
-+                      assigned-clocks = <&gcc GCC_PCIE_5_PHY_RCHNG_CLK>;
-+                      assigned-clock-rates = <100000000>;
-+
-+                      power-domains = <&gcc GCC_PCIE_5_PHY_GDSC>;
-+
-+                      #clock-cells = <0>;
-+                      clock-output-names = "pcie5_pipe_clk";
-+
-+                      #phy-cells = <0>;
-+
-+                      status = "disabled";
-+              };
++                              dma-coherent;
 +
-               pcie4: pci@1c08000 {
-                       device_type = "pci";
-                       compatible = "qcom,pcie-x1e80100";
-@@ -3350,7 +3585,7 @@
- 
-               nsp_noc: interconnect@320c0000 {
-                       compatible = "qcom,x1e80100-nsp-noc";
--                      reg = <0 0x320C0000 0 0xE080>;
-+                      reg = <0 0x320C0000 0 0xe080>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -3385,6 +3620,8 @@
- 
-                       pinctrl-0 = <&wsa2_swr_active>;
-                       pinctrl-names = "default";
-+                      resets = <&lpass_audiocc LPASS_AUDIO_SWR_WSA2_CGCR>;
-+                      reset-names = "swr_audio_cgcr";
- 
-                       qcom,din-ports = <4>;
-                       qcom,dout-ports = <9>;
-@@ -3433,6 +3670,8 @@
-                       pinctrl-0 = <&rx_swr_active>;
-                       pinctrl-names = "default";
- 
-+                      resets = <&lpass_audiocc LPASS_AUDIO_SWR_RX_CGCR>;
-+                      reset-names = "swr_audio_cgcr";
-                       qcom,din-ports = <1>;
-                       qcom,dout-ports = <11>;
- 
-@@ -3497,6 +3736,8 @@
- 
-                       pinctrl-0 = <&wsa_swr_active>;
-                       pinctrl-names = "default";
-+                      resets = <&lpass_audiocc LPASS_AUDIO_SWR_WSA_CGCR>;
-+                      reset-names = "swr_audio_cgcr";
- 
-                       qcom,din-ports = <4>;
-                       qcom,dout-ports = <9>;
-@@ -3517,6 +3758,13 @@
-                       status = "disabled";
-               };
+                               ports {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+@@ -4245,6 +4540,8 @@
+                               snps,dis_u2_susphy_quirk;
+                               snps,dis_enblslpm_quirk;
+                               snps,usb3_lpm_capable;
++                              snps,dis-u1-entry-quirk;
++                              snps,dis-u2-entry-quirk;
  
-+              lpass_audiocc: clock-controller@6b6c000 {
-+                      compatible = "qcom,x1e80100-lpassaudiocc", 
"qcom,sc8280xp-lpassaudiocc";
-+                      reg = <0 0x06b6c000 0 0x1000>;
-+                      #clock-cells = <1>;
-+                      #reset-cells = <1>;
-+              };
-+
-               swr2: soundwire@6d30000 {
-                       compatible = "qcom,soundwire-v2.0.0";
-                       reg = <0 0x06d30000 0 0x10000>;
-@@ -3526,6 +3774,8 @@
-                                    <GIC_SPI 520 IRQ_TYPE_LEVEL_HIGH>;
-                       interrupt-names = "core", "wakeup";
-                       label = "TX";
-+                      resets = <&lpasscc LPASS_AUDIO_SWR_TX_CGCR>;
-+                      reset-names = "swr_audio_cgcr";
- 
-                       pinctrl-0 = <&tx_swr_active>;
-                       pinctrl-names = "default";
-@@ -3682,9 +3932,16 @@
+                               dma-coherent;
                        };
-               };
- 
-+              lpasscc: clock-controller@6ea0000 {
-+                      compatible = "qcom,x1e80100-lpasscc", 
"qcom,sc8280xp-lpasscc";
-+                      reg = <0 0x06ea0000 0 0x12000>;
-+                      #clock-cells = <1>;
-+                      #reset-cells = <1>;
-+              };
-+
-               lpass_ag_noc: interconnect@7e40000 {
-                       compatible = "qcom,x1e80100-lpass-ag-noc";
--                      reg = <0 0x7e40000 0 0xE080>;
-+                      reg = <0 0x07e40000 0 0xe080>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -3693,7 +3950,7 @@
- 
-               lpass_lpiaon_noc: interconnect@7400000 {
-                       compatible = "qcom,x1e80100-lpass-lpiaon-noc";
--                      reg = <0 0x7400000 0 0x19080>;
-+                      reg = <0 0x07400000 0 0x19080>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
+@@ -4316,6 +4613,8 @@
+                               snps,dis_u2_susphy_quirk;
+                               snps,dis_enblslpm_quirk;
+                               snps,usb3_lpm_capable;
++                              snps,dis-u1-entry-quirk;
++                              snps,dis-u2-entry-quirk;
+ 
+                               dma-coherent;
+ 
+@@ -4414,6 +4713,8 @@
+                               snps,dis_u2_susphy_quirk;
+                               snps,dis_enblslpm_quirk;
+                               snps,usb3_lpm_capable;
++                              snps,dis-u1-entry-quirk;
++                              snps,dis-u2-entry-quirk;
  
-@@ -3702,7 +3959,7 @@
- 
-               lpass_lpicx_noc: interconnect@7430000 {
-                       compatible = "qcom,x1e80100-lpass-lpicx-noc";
--                      reg = <0 0x7430000 0 0x3A200>;
-+                      reg = <0 0x07430000 0 0x3A200>;
- 
-                       qcom,bcm-voters = <&apps_bcm_voter>;
- 
-@@ -3723,6 +3980,90 @@
-                       status = "disabled";
-               };
- 
-+              usb_mp_hsphy0: phy@88e1000 {
-+                      compatible = "qcom,x1e80100-snps-eusb2-phy",
-+                                   "qcom,sm8550-snps-eusb2-phy";
-+                      reg = <0 0x088e1000 0 0x154>;
-+                      #phy-cells = <0>;
-+
-+                      clocks = <&tcsr TCSR_USB3_MP0_CLKREF_EN>;
-+                      clock-names = "ref";
-+
-+                      resets = <&gcc GCC_QUSB2PHY_HS0_MP_BCR>;
-+
-+                      status = "disabled";
-+              };
-+
-+              usb_mp_hsphy1: phy@88e2000 {
-+                      compatible = "qcom,x1e80100-snps-eusb2-phy",
-+                                   "qcom,sm8550-snps-eusb2-phy";
-+                      reg = <0 0x088e2000 0 0x154>;
-+                      #phy-cells = <0>;
-+
-+                      clocks = <&tcsr TCSR_USB3_MP1_CLKREF_EN>;
-+                      clock-names = "ref";
-+
-+                      resets = <&gcc GCC_QUSB2PHY_HS1_MP_BCR>;
-+
-+                      status = "disabled";
-+              };
-+
-+              usb_mp_qmpphy0: phy@88e3000 {
-+                      compatible = "qcom,x1e80100-qmp-usb3-uni-phy";
-+                      reg = <0 0x088e3000 0 0x2000>;
-+
-+                      clocks = <&gcc GCC_USB3_MP_PHY_AUX_CLK>,
-+                               <&rpmhcc RPMH_CXO_CLK>,
-+                               <&gcc GCC_USB3_MP_PHY_COM_AUX_CLK>,
-+                               <&gcc GCC_USB3_MP_PHY_PIPE_0_CLK>;
-+                      clock-names = "aux",
-+                                    "ref",
-+                                    "com_aux",
-+                                    "pipe";
-+
-+                      resets = <&gcc GCC_USB3_UNIPHY_MP0_BCR>,
-+                               <&gcc GCC_USB3UNIPHY_PHY_MP0_BCR>;
-+                      reset-names = "phy",
-+                                    "phy_phy";
-+
-+                      power-domains = <&gcc GCC_USB3_MP_SS0_PHY_GDSC>;
-+
-+                      #clock-cells = <0>;
-+                      clock-output-names = "usb_mp_phy0_pipe_clk";
-+
-+                      #phy-cells = <0>;
-+
-+                      status = "disabled";
-+              };
-+
-+              usb_mp_qmpphy1: phy@88e5000 {
-+                      compatible = "qcom,x1e80100-qmp-usb3-uni-phy";
-+                      reg = <0 0x088e5000 0 0x2000>;
-+
-+                      clocks = <&gcc GCC_USB3_MP_PHY_AUX_CLK>,
-+                               <&rpmhcc RPMH_CXO_CLK>,
-+                               <&gcc GCC_USB3_MP_PHY_COM_AUX_CLK>,
-+                               <&gcc GCC_USB3_MP_PHY_PIPE_1_CLK>;
-+                      clock-names = "aux",
-+                                    "ref",
-+                                    "com_aux",
-+                                    "pipe";
-+
-+                      resets = <&gcc GCC_USB3_UNIPHY_MP1_BCR>,
-+                               <&gcc GCC_USB3UNIPHY_PHY_MP1_BCR>;
-+                      reset-names = "phy",
-+                                    "phy_phy";
-+
-+                      power-domains = <&gcc GCC_USB3_MP_SS1_PHY_GDSC>;
-+
-+                      #clock-cells = <0>;
-+                      clock-output-names = "usb_mp_phy1_pipe_clk";
-+
-+                      #phy-cells = <0>;
-+
-+                      status = "disabled";
-+              };
-+
-               usb_1_ss2: usb@a0f8800 {
-                       compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
-                       reg = <0 0x0a0f8800 0 0x400>;
-@@ -3897,6 +4238,92 @@
-                       };
-               };
+                               dma-coherent;
  
-+              usb_mp: usb@a4f8800 {
-+                      compatible = "qcom,x1e80100-dwc3-mp", "qcom,dwc3";
-+                      reg = <0 0x0a4f8800 0 0x400>;
-+
-+                      clocks = <&gcc GCC_CFG_NOC_USB3_MP_AXI_CLK>,
-+                               <&gcc GCC_USB30_MP_MASTER_CLK>,
-+                               <&gcc GCC_AGGRE_USB3_MP_AXI_CLK>,
-+                               <&gcc GCC_USB30_MP_SLEEP_CLK>,
-+                               <&gcc GCC_USB30_MP_MOCK_UTMI_CLK>,
-+                               <&gcc GCC_AGGRE_USB_NOC_AXI_CLK>,
-+                               <&gcc GCC_AGGRE_NOC_USB_NORTH_AXI_CLK>,
-+                               <&gcc GCC_AGGRE_NOC_USB_SOUTH_AXI_CLK>,
-+                               <&gcc GCC_SYS_NOC_USB_AXI_CLK>;
-+                      clock-names = "cfg_noc",
-+                                    "core",
-+                                    "iface",
-+                                    "sleep",
-+                                    "mock_utmi",
-+                                    "noc_aggr",
-+                                    "noc_aggr_north",
-+                                    "noc_aggr_south",
-+                                    "noc_sys";
-+
-+                      assigned-clocks = <&gcc GCC_USB30_MP_MOCK_UTMI_CLK>,
-+                                        <&gcc GCC_USB30_MP_MASTER_CLK>;
-+                      assigned-clock-rates = <19200000>,
-+                                             <200000000>;
-+
-+                      interrupts-extended = <&intc GIC_SPI 313 
IRQ_TYPE_LEVEL_HIGH>,
-+                                            <&intc GIC_SPI 314 
IRQ_TYPE_LEVEL_HIGH>,
-+                                            <&intc GIC_SPI 309 
IRQ_TYPE_LEVEL_HIGH>,
-+                                            <&intc GIC_SPI 312 
IRQ_TYPE_LEVEL_HIGH>,
-+                                            <&pdc 52 IRQ_TYPE_EDGE_BOTH>,
-+                                            <&pdc 51 IRQ_TYPE_EDGE_BOTH>,
-+                                            <&pdc 54 IRQ_TYPE_EDGE_BOTH>,
-+                                            <&pdc 53 IRQ_TYPE_EDGE_BOTH>,
-+                                            <&pdc 55 IRQ_TYPE_LEVEL_HIGH>,
-+                                            <&pdc 56 IRQ_TYPE_LEVEL_HIGH>;
-+                      interrupt-names = "pwr_event_1", "pwr_event_2",
-+                                        "hs_phy_1",    "hs_phy_2",
-+                                        "dp_hs_phy_1", "dm_hs_phy_1",
-+                                        "dp_hs_phy_2", "dm_hs_phy_2",
-+                                        "ss_phy_1",    "ss_phy_2";
-+
-+                      power-domains = <&gcc GCC_USB30_MP_GDSC>;
-+                      required-opps = <&rpmhpd_opp_nom>;
-+
-+                      resets = <&gcc GCC_USB30_MP_BCR>;
-+
-+                      interconnects = <&usb_north_anoc MASTER_USB3_MP 
QCOM_ICC_TAG_ALWAYS
-+                                       &mc_virt SLAVE_EBI1 
QCOM_ICC_TAG_ALWAYS>,
-+                                      <&gem_noc MASTER_APPSS_PROC 
QCOM_ICC_TAG_ALWAYS
-+                                       &config_noc SLAVE_USB3_MP 
QCOM_ICC_TAG_ALWAYS>;
-+                      interconnect-names = "usb-ddr",
-+                                           "apps-usb";
-+
-+                      wakeup-source;
-+
-+                      #address-cells = <2>;
-+                      #size-cells = <2>;
-+                      ranges;
-+
-+                      status = "disabled";
-+
-+                      usb_mp_dwc3: usb@a400000 {
-+                              compatible = "snps,dwc3";
-+                              reg = <0 0x0a400000 0 0xcd00>;
-+
-+                              interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>;
-+
-+                              iommus = <&apps_smmu 0x1400 0x0>;
-+
-+                              phys = <&usb_mp_hsphy0>, <&usb_mp_qmpphy0>,
-+                                     <&usb_mp_hsphy1>, <&usb_mp_qmpphy1>;
-+                              phy-names = "usb2-0", "usb3-0",
-+                                          "usb2-1", "usb3-1";
-+                              dr_mode = "host";
-+
-+                              snps,dis_u2_susphy_quirk;
-+                              snps,dis_enblslpm_quirk;
-+                              snps,usb3_lpm_capable;
-+
-+                              dma-coherent;
-+                      };
-+              };
-+
-               usb_1_ss0: usb@a6f8800 {
-                       compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
-                       reg = <0 0x0a6f8800 0 0x400>;
-@@ -4215,11 +4642,11 @@
- 
-                       mdss_dp0: displayport-controller@ae90000 {
-                               compatible = "qcom,x1e80100-dp";
--                              reg = <0 0xae90000 0 0x200>,
--                                    <0 0xae90200 0 0x200>,
--                                    <0 0xae90400 0 0x600>,
--                                    <0 0xae91000 0 0x400>,
--                                    <0 0xae91400 0 0x400>;
-+                              reg = <0 0x0ae90000 0 0x200>,
-+                                    <0 0x0ae90200 0 0x200>,
-+                                    <0 0x0ae90400 0 0x600>,
-+                                    <0 0x0ae91000 0 0x400>,
-+                                    <0 0x0ae91400 0 0x400>;
- 
-                               interrupts-extended = <&mdss 12>;
- 
-@@ -4298,11 +4725,11 @@
- 
-                       mdss_dp1: displayport-controller@ae98000 {
-                               compatible = "qcom,x1e80100-dp";
--                              reg = <0 0xae98000 0 0x200>,
--                                    <0 0xae98200 0 0x200>,
--                                    <0 0xae98400 0 0x600>,
--                                    <0 0xae99000 0 0x400>,
--                                    <0 0xae99400 0 0x400>;
-+                              reg = <0 0x0ae98000 0 0x200>,
-+                                    <0 0x0ae98200 0 0x200>,
-+                                    <0 0x0ae98400 0 0x600>,
-+                                    <0 0x0ae99000 0 0x400>,
-+                                    <0 0x0ae99400 0 0x400>;
- 
-                               interrupts-extended = <&mdss 13>;
- 
-@@ -4381,11 +4808,11 @@
- 
-                       mdss_dp2: displayport-controller@ae9a000 {
-                               compatible = "qcom,x1e80100-dp";
--                              reg = <0 0xae9a000 0 0x200>,
--                                    <0 0xae9a200 0 0x200>,
--                                    <0 0xae9a400 0 0x600>,
--                                    <0 0xae9b000 0 0x400>,
--                                    <0 0xae9b400 0 0x400>;
-+                              reg = <0 0x0ae9a000 0 0x200>,
-+                                    <0 0x0ae9a200 0 0x200>,
-+                                    <0 0x0ae9a400 0 0x600>,
-+                                    <0 0x0ae9b000 0 0x400>,
-+                                    <0 0x0ae9b400 0 0x400>;
- 
-                               interrupts-extended = <&mdss 14>;
- 
-@@ -4402,14 +4829,14 @@
- 
-                               assigned-clocks = <&dispcc 
DISP_CC_MDSS_DPTX2_LINK_CLK_SRC>,
-                                                 <&dispcc 
DISP_CC_MDSS_DPTX2_PIXEL0_CLK_SRC>;
--                              assigned-clock-parents = <&mdss_dp2_phy 0>,
--                                                       <&mdss_dp2_phy 1>;
-+                              assigned-clock-parents = <&usb_1_ss2_qmpphy 
QMP_USB43DP_DP_LINK_CLK>,
-+                                                       <&usb_1_ss2_qmpphy 
QMP_USB43DP_DP_VCO_DIV_CLK>;
- 
-                               operating-points-v2 = <&mdss_dp2_opp_table>;
- 
-                               power-domains = <&rpmhpd RPMHPD_MMCX>;
- 
--                              phys = <&mdss_dp2_phy>;
-+                              phys = <&usb_1_ss2_qmpphy QMP_USB43DP_DP_PHY>;
-                               phy-names = "dp";
- 
-                               #sound-dai-cells = <0>;
-@@ -4463,11 +4890,11 @@
- 
-                       mdss_dp3: displayport-controller@aea0000 {
-                               compatible = "qcom,x1e80100-dp";
--                              reg = <0 0xaea0000 0 0x200>,
--                                    <0 0xaea0200 0 0x200>,
--                                    <0 0xaea0400 0 0x600>,
--                                    <0 0xaea1000 0 0x400>,
--                                    <0 0xaea1400 0 0x400>;
-+                              reg = <0 0x0aea0000 0 0x200>,
-+                                    <0 0x0aea0200 0 0x200>,
-+                                    <0 0x0aea0400 0 0x600>,
-+                                    <0 0x0aea1000 0 0x400>,
-+                                    <0 0x0aea1400 0 0x400>;
- 
-                               interrupts-extended = <&mdss 15>;
- 
-@@ -4597,8 +5024,8 @@
-                                <&usb_1_ss0_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
-                                <&usb_1_ss1_qmpphy QMP_USB43DP_DP_LINK_CLK>, 
/* dp1 */
-                                <&usb_1_ss1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
--                               <&mdss_dp2_phy 0>, /* dp2 */
--                               <&mdss_dp2_phy 1>,
-+                               <&usb_1_ss2_qmpphy QMP_USB43DP_DP_LINK_CLK>, 
/* dp2 */
-+                               <&usb_1_ss2_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
-                                <&mdss_dp3_phy 0>, /* dp3 */
-                                <&mdss_dp3_phy 1>;
-                       power-domains = <&rpmhpd RPMHPD_MMCX>;
-@@ -4631,6 +5058,11 @@
-                       #clock-cells = <0>;
-               };
- 
-+              sram@c3f0000 {
-+                      compatible = "qcom,rpmh-stats";
-+                      reg = <0 0x0c3f0000 0 0x400>;
-+              };
-+
-               spmi: arbiter@c400000 {
-                       compatible = "qcom,x1e80100-spmi-pmic-arb";
-                       reg = <0 0x0c400000 0 0x3000>,
-@@ -5241,12 +5673,50 @@
-                               bias-disable;
+@@ -5629,6 +5930,34 @@
+                               };
                        };
  
-+                      qup_uart2_default: qup-uart2-default-state {
++                      qup_uart14_default: qup-uart14-default-state {
 +                              cts-pins {
-+                                      pins = "gpio8";
-+                                      function = "qup0_se2";
-+                                      drive-strength = <2>;
-+                                      bias-disable;
++                                      pins = "gpio56";
++                                      function = "qup1_se6";
++                                      bias-bus-hold;
 +                              };
 +
 +                              rts-pins {
-+                                      pins = "gpio9";
-+                                      function = "qup0_se2";
++                                      pins = "gpio57";
++                                      function = "qup1_se6";
 +                                      drive-strength = <2>;
 +                                      bias-disable;
 +                              };
 +
 +                              tx-pins {
-+                                      pins = "gpio10";
-+                                      function = "qup0_se2";
++                                      pins = "gpio58";
++                                      function = "qup1_se6";
 +                                      drive-strength = <2>;
 +                                      bias-disable;
 +                              };
 +
 +                              rx-pins {
-+                                      pins = "gpio11";
-+                                      function = "qup0_se2";
-+                                      drive-strength = <2>;
-+                                      bias-disable;
++                                      pins = "gpio59";
++                                      function = "qup1_se6";
++                                      bias-pull-up;
 +                              };
 +                      };
 +
                        qup_uart21_default: qup-uart21-default-state {
--                              /* TX, RX */
--                              pins = "gpio86", "gpio87";
--                              function = "qup2_se5";
--                              drive-strength = <2>;
--                              bias-disable;
-+                              tx-pins {
-+                                      pins = "gpio86";
-+                                      function = "qup2_se5";
-+                                      drive-strength = <2>;
-+                                      bias-disable;
-+                              };
-+
-+                              rx-pins {
-+                                      pins = "gpio87";
-+                                      function = "qup2_se5";
-+                                      drive-strength = <2>;
-+                                      bias-disable;
-+                              };
-                       };
-               };
- 
-@@ -5384,6 +5854,13 @@
+                               tx-pins {
+                                       pins = "gpio86";
+@@ -5780,6 +6109,13 @@
                        };
                };
  
@@ -1015,7 +912,7 @@ Index: src/arm64/qcom/x1e80100.dtsi
                apps_rsc: rsc@17500000 {
                        compatible = "qcom,rpmh-rsc";
                        reg = <0 0x17500000 0 0x10000>,
-@@ -5564,6 +6041,25 @@
+@@ -5960,6 +6296,25 @@
                                frame-number = <6>;
  
                                status = "disabled";
Index: sysutils/firmware/arm64-qcom-dtb/pkg/PLIST
===================================================================
RCS file: /cvs/ports/sysutils/firmware/arm64-qcom-dtb/pkg/PLIST,v
diff -u -p -r1.5 PLIST
--- sysutils/firmware/arm64-qcom-dtb/pkg/PLIST  22 Sep 2024 15:05:10 -0000      
1.5
+++ sysutils/firmware/arm64-qcom-dtb/pkg/PLIST  21 Jan 2025 20:29:19 -0000
@@ -3,6 +3,11 @@ firmware/dtb/qcom/
 firmware/dtb/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb
 firmware/dtb/qcom/x1e78100-lenovo-thinkpad-t14s.dtb
 firmware/dtb/qcom/x1e80100-asus-vivobook-s15.dtb
+firmware/dtb/qcom/x1e80100-crd.dtb
+firmware/dtb/qcom/x1e80100-dell-xps13-9345.dtb
 firmware/dtb/qcom/x1e80100-hp-omnibook-x14.dtb
 firmware/dtb/qcom/x1e80100-lenovo-yoga-slim7x.dtb
+firmware/dtb/qcom/x1e80100-microsoft-romulus13.dtb
+firmware/dtb/qcom/x1e80100-microsoft-romulus15.dtb
+firmware/dtb/qcom/x1e80100-qcp.dtb
 firmware/dtb/qcom/x1e80100-samsung-galaxy-book4-edge.dtb

Reply via email to