[openwrt/openwrt] qualcommax: 6.12: refresh patches

LEDE Commits lede-commits at lists.infradead.org
Fri May 16 08:57:49 PDT 2025


robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/a2de324e14d0f793cd7243a4ce3468e4411c30ac

commit a2de324e14d0f793cd7243a4ce3468e4411c30ac
Author: Robert Marko <robimarko at gmail.com>
AuthorDate: Fri May 9 13:20:19 2025 +0200

    qualcommax: 6.12: refresh patches
    
    Refresh 6.12 patches, those that failed automatic refresh were refreshed
    manually.
    
    DT bindings patches that failed were dropped as we dont use them in practice.
    
    Link: https://github.com/openwrt/openwrt/pull/18795
    Signed-off-by: Robert Marko <robimarko at gmail.com>
---
 ...-dts-qcom-ipq-change-labels-to-lower-case.patch |  22 +--
 ...com-ipq6018-move-mp5496-regulator-out-of-.patch |   2 +-
 ...48-v6.16-PCI-qcom-Add-support-for-IPQ5018.patch |   2 +-
 ...-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch |   6 +-
 ...0112-remoteproc-qcom-Add-PRNG-proxy-clock.patch |  22 +--
 ...13-remoteproc-qcom-Add-secure-PIL-support.patch |  24 ++--
 ...qcom-Add-support-for-split-q6-m3-wlan-fir.patch |  20 +--
 ...oteproc-qcom-Add-ssr-subdevice-identifier.patch |   2 +-
 ...qcom-Update-regmap-offsets-for-halt-regis.patch |  10 +-
 ...teproc-wcss-disable-auto-boot-for-IPQ8074.patch |  10 +-
 ...dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch |   4 +-
 .../0121-arm64-dts-ipq8074-Add-WLAN-node.patch     |   2 +-
 ...9-arm64-dts-qcom-ipq8074-add-QFPROM-fuses.patch |   2 +-
 ...qcom-wcss-populate-driver-data-for-IPQ601.patch |   8 +-
 .../0138-arm64-dts-qcom-ipq6018-add-pwm-node.patch |   2 +-
 ...pwm-driver-for-qualcomm-ipq6018-pwm-block.patch |   4 +-
 ...m-tcsr-Add-simple-mfd-support-for-IPQ6018.patch | 148 ---------------------
 ...-dt-bindings-nvmem-add-IPQ5018-compatible.patch |   2 +-
 ...thermal-qcom-tsens-Add-ipq5018-compatible.patch |   2 +-
 ...mal-qcom-add-new-feat-for-soc-without-rpm.patch |   2 +-
 ...-qcom-tsens-add-support-for-IPQ5018-tsens.patch |   4 +-
 .../0154-dts-qcom-IPQ5018-add-tsens-node.patch     |   4 +-
 ...4-dts-qcom-ipq5018-Add-PCIe-related-nodes.patch |   6 +-
 ...ings-mfd-qcom-tcsr-add-IPQ5018-compatible.patch |  18 ---
 ...0302-arm64-dts-qcom-IPQ5018-add-TCSR-node.patch |   2 +-
 ...-IPQ5018-enable-the-download-mode-support.patch |   2 +-
 .../0306-arm64-dts-qcom-ipq5018-Add-PWM-node.patch |   2 +-
 ...4-arm64-dts-qcom-ipq5018-Add-crypto-nodes.patch |   2 +-
 ...0337-arm64-dts-qcom-ipq5018-Add-PRNG-node.patch |   2 +-
 ...rm64-dts-qcom-ipq5018-Add-QUP1-UART2-node.patch |   2 +-
 ...-arm64-dts-qcom-ipq5018-Add-QUP3-I2C-node.patch |   2 +-
 ...-arm64-dts-qcom-ipq5018-Add-SPI-nand-node.patch |   2 +-
 ...d-CMN-PLL-clock-controller-driver-for-IPQ.patch |   6 +-
 ...0703-clk-qcom-cmn-pll-add-IPQ5018-support.patch |   2 +-
 ...64-dts-qcom-ipq5018-Add-ethernet-cmn-node.patch |   2 +-
 ...0712-arm64-dts-qcom-ipq5018-add-mdio-node.patch |   2 +-
 ...13-arm64-dts-qcom-ipq5018-add-ge_phy-node.patch |   4 +-
 ...5018-remove-the-unsupported-clk-combinati.patch |   4 +-
 ...to-ge-phy-rx-and-tx-clk-providers-by-name.patch |   8 +-
 ...ca8k-always-enable-SGMII-auto-negotiation.patch |   2 +-
 ...net-dsa-qca8k-support-PHY-to-PHY-CPU-link.patch |   6 +-
 ...om_scm-ipq5332-add-support-to-pass-metada.patch |  16 +--
 ...om_scm-ipq5332-add-msa-lock-unlock-suppor.patch |  38 +++---
 ...qcom-Add-Hexagon-based-multipd-rproc-driv.patch |   2 +-
 .../0811-firmware-qcom_scm-support-MPD.patch       |  40 +++---
 .../0812-soc-qcom-mdt_loader-support-MPD.patch     |  16 +--
 ...6-arm64-dts-qcom-ipq5018-add-wifi-support.patch |   2 +-
 ...pq5018-add-tz_apps-reserved-memory-region.patch |   2 +-
 ...-wireless-ath11k-add-bindings-for-QCN6122.patch |   4 +-
 .../patches-6.12/0900-power-Add-Qualcomm-APM.patch |   8 +-
 ...901-regulator-add-Qualcomm-CPR-regulators.patch |   4 +-
 ...q6v5_wcss-change-ssr-name-for-ipq6018-wif.patch |   9 +-
 ...0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch |   2 +-
 .../0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch   |  10 +-
 ...qcom_q6v5_wcss-add-optional-qdss_at-clock.patch |   6 +-
 ...com-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch |   2 +-
 .../0911-arm64-cmdline-replacement.patch           |   4 +-
 57 files changed, 190 insertions(+), 355 deletions(-)

diff --git a/target/linux/qualcommax/patches-6.12/0036-v6.13-arm64-dts-qcom-ipq-change-labels-to-lower-case.patch b/target/linux/qualcommax/patches-6.12/0036-v6.13-arm64-dts-qcom-ipq-change-labels-to-lower-case.patch
index 6a1c93b869..8ecbd4a20e 100644
--- a/target/linux/qualcommax/patches-6.12/0036-v6.13-arm64-dts-qcom-ipq-change-labels-to-lower-case.patch
+++ b/target/linux/qualcommax/patches-6.12/0036-v6.13-arm64-dts-qcom-ipq-change-labels-to-lower-case.patch
@@ -54,7 +54,7 @@ Signed-off-by: Bjorn Andersson <andersson at kernel.org>
  			cache-size = <0x80000>;
 --- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
-@@ -30,47 +30,47 @@
+@@ -31,47 +31,47 @@
  		#address-cells = <1>;
  		#size-cells = <0>;
  
@@ -182,7 +182,7 @@ Signed-off-by: Bjorn Andersson <andersson at kernel.org>
  			compatible = "cache";
  			cache-level = <2>;
  			cache-unified;
-@@ -993,10 +993,10 @@
+@@ -1015,10 +1015,10 @@
  			cooling-maps {
  				map0 {
  					trip = <&cpu_alert>;
@@ -250,7 +250,7 @@ Signed-off-by: Bjorn Andersson <andersson at kernel.org>
  			cache-unified;
 --- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
-@@ -33,12 +33,12 @@
+@@ -34,12 +34,12 @@
  		#address-cells = <1>;
  		#size-cells = <0>;
  
@@ -265,7 +265,7 @@ Signed-off-by: Bjorn Andersson <andersson at kernel.org>
  			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
  			clock-names = "cpu";
  			operating-points-v2 = <&cpu_opp_table>;
-@@ -46,12 +46,12 @@
+@@ -47,12 +47,12 @@
  			#cooling-cells = <2>;
  		};
  
@@ -280,7 +280,7 @@ Signed-off-by: Bjorn Andersson <andersson at kernel.org>
  			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
  			clock-names = "cpu";
  			operating-points-v2 = <&cpu_opp_table>;
-@@ -59,12 +59,12 @@
+@@ -60,12 +60,12 @@
  			#cooling-cells = <2>;
  		};
  
@@ -295,7 +295,7 @@ Signed-off-by: Bjorn Andersson <andersson at kernel.org>
  			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
  			clock-names = "cpu";
  			operating-points-v2 = <&cpu_opp_table>;
-@@ -72,12 +72,12 @@
+@@ -73,12 +73,12 @@
  			#cooling-cells = <2>;
  		};
  
@@ -310,7 +310,7 @@ Signed-off-by: Bjorn Andersson <andersson at kernel.org>
  			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
  			clock-names = "cpu";
  			operating-points-v2 = <&cpu_opp_table>;
-@@ -85,7 +85,7 @@
+@@ -86,7 +86,7 @@
  			#cooling-cells = <2>;
  		};
  
@@ -319,7 +319,7 @@ Signed-off-by: Bjorn Andersson <andersson at kernel.org>
  			compatible = "cache";
  			cache-level = <2>;
  			cache-unified;
-@@ -845,10 +845,10 @@
+@@ -863,10 +863,10 @@
  			cooling-maps {
  				map0 {
  					trip = <&cpu0_alert>;
@@ -334,7 +334,7 @@ Signed-off-by: Bjorn Andersson <andersson at kernel.org>
  				};
  			};
  		};
-@@ -875,10 +875,10 @@
+@@ -891,10 +891,10 @@
  			cooling-maps {
  				map0 {
  					trip = <&cpu1_alert>;
@@ -349,7 +349,7 @@ Signed-off-by: Bjorn Andersson <andersson at kernel.org>
  				};
  			};
  		};
-@@ -905,10 +905,10 @@
+@@ -919,10 +919,10 @@
  			cooling-maps {
  				map0 {
  					trip = <&cpu2_alert>;
@@ -364,7 +364,7 @@ Signed-off-by: Bjorn Andersson <andersson at kernel.org>
  				};
  			};
  		};
-@@ -935,10 +935,10 @@
+@@ -947,10 +947,10 @@
  			cooling-maps {
  				map0 {
  					trip = <&cpu3_alert>;
diff --git a/target/linux/qualcommax/patches-6.12/0039-v6.16-arm64-dts-qcom-ipq6018-move-mp5496-regulator-out-of-.patch b/target/linux/qualcommax/patches-6.12/0039-v6.16-arm64-dts-qcom-ipq6018-move-mp5496-regulator-out-of-.patch
index 505a027c2e..da39ae54c1 100644
--- a/target/linux/qualcommax/patches-6.12/0039-v6.16-arm64-dts-qcom-ipq6018-move-mp5496-regulator-out-of-.patch
+++ b/target/linux/qualcommax/patches-6.12/0039-v6.16-arm64-dts-qcom-ipq6018-move-mp5496-regulator-out-of-.patch
@@ -103,7 +103,7 @@ Signed-off-by: Bjorn Andersson <andersson at kernel.org>
  
 @@ -184,16 +180,6 @@
  			rpm_requests: rpm-requests {
- 				compatible = "qcom,rpm-ipq6018";
+ 				compatible = "qcom,rpm-ipq6018", "qcom,glink-smd-rpm";
  				qcom,glink-channels = "rpm_requests";
 -
 -				regulators {
diff --git a/target/linux/qualcommax/patches-6.12/0048-v6.16-PCI-qcom-Add-support-for-IPQ5018.patch b/target/linux/qualcommax/patches-6.12/0048-v6.16-PCI-qcom-Add-support-for-IPQ5018.patch
index e9873eaf81..70e681475f 100644
--- a/target/linux/qualcommax/patches-6.12/0048-v6.16-PCI-qcom-Add-support-for-IPQ5018.patch
+++ b/target/linux/qualcommax/patches-6.12/0048-v6.16-PCI-qcom-Add-support-for-IPQ5018.patch
@@ -21,7 +21,7 @@ Link: https://patch.msgid.link/20250326-ipq5018-pcie-v7-4-e1828fef06c9@outlook.c
 
 --- a/drivers/pci/controller/dwc/pcie-qcom.c
 +++ b/drivers/pci/controller/dwc/pcie-qcom.c
-@@ -1580,6 +1580,7 @@ static const struct of_device_id qcom_pc
+@@ -1827,6 +1827,7 @@ static const struct of_device_id qcom_pc
  	{ .compatible = "qcom,pcie-apq8064", .data = &cfg_2_1_0 },
  	{ .compatible = "qcom,pcie-apq8084", .data = &cfg_1_0_0 },
  	{ .compatible = "qcom,pcie-ipq4019", .data = &cfg_2_4_0 },
diff --git a/target/linux/qualcommax/patches-6.12/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch b/target/linux/qualcommax/patches-6.12/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch
index 7c3dffe920..a12dc44206 100644
--- a/target/linux/qualcommax/patches-6.12/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch
+++ b/target/linux/qualcommax/patches-6.12/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch
@@ -12,7 +12,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
-@@ -752,7 +752,7 @@
+@@ -759,7 +759,7 @@
  			reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
  			ranges = <0 0xb00a000 0xffd>;
  
@@ -21,7 +21,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
  				compatible = "arm,gic-v2m-frame";
  				msi-controller;
  				reg = <0x0 0xffd>;
-@@ -865,8 +865,7 @@
+@@ -872,8 +872,7 @@
  			ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>,   /* I/O */
  				 <0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */
  
@@ -31,7 +31,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
  			#interrupt-cells = <1>;
  			interrupt-map-mask = <0 0 0 0x7>;
  			interrupt-map = <0 0 0 1 &intc 0 0 142
-@@ -937,8 +936,7 @@
+@@ -944,8 +943,7 @@
  			ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>,   /* I/O */
  				 <0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */
  
diff --git a/target/linux/qualcommax/patches-6.12/0112-remoteproc-qcom-Add-PRNG-proxy-clock.patch b/target/linux/qualcommax/patches-6.12/0112-remoteproc-qcom-Add-PRNG-proxy-clock.patch
index d3664f293d..ac46f9e79b 100644
--- a/target/linux/qualcommax/patches-6.12/0112-remoteproc-qcom-Add-PRNG-proxy-clock.patch
+++ b/target/linux/qualcommax/patches-6.12/0112-remoteproc-qcom-Add-PRNG-proxy-clock.patch
@@ -43,7 +43,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  	struct regulator *cx_supply;
  	struct qcom_sysmon *sysmon;
  
-@@ -151,6 +139,21 @@ struct q6v5_wcss {
+@@ -152,6 +140,21 @@ struct q6v5_wcss {
  	struct qcom_rproc_ssr ssr_subdev;
  };
  
@@ -65,7 +65,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  static int q6v5_wcss_reset(struct q6v5_wcss *wcss)
  {
  	int ret;
-@@ -240,6 +243,12 @@ static int q6v5_wcss_start(struct rproc
+@@ -241,6 +244,12 @@ static int q6v5_wcss_start(struct rproc
  	struct q6v5_wcss *wcss = rproc->priv;
  	int ret;
  
@@ -78,7 +78,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  	qcom_q6v5_prepare(&wcss->q6v5);
  
  	/* Release Q6 and WCSS reset */
-@@ -733,6 +742,7 @@ static int q6v5_wcss_stop(struct rproc *
+@@ -734,6 +743,7 @@ static int q6v5_wcss_stop(struct rproc *
  			return ret;
  	}
  
@@ -86,7 +86,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  	qcom_q6v5_unprepare(&wcss->q6v5);
  
  	return 0;
-@@ -899,7 +909,21 @@ static int q6v5_alloc_memory_region(stru
+@@ -900,7 +910,21 @@ static int q6v5_alloc_memory_region(stru
  	return 0;
  }
  
@@ -109,7 +109,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  {
  	int ret;
  
-@@ -989,7 +1013,7 @@ static int q6v5_wcss_init_clock(struct q
+@@ -990,7 +1014,7 @@ static int q6v5_wcss_init_clock(struct q
  	return 0;
  }
  
@@ -118,25 +118,25 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  {
  	wcss->cx_supply = devm_regulator_get(wcss->dev, "cx");
  	if (IS_ERR(wcss->cx_supply))
-@@ -1033,12 +1057,14 @@ static int q6v5_wcss_probe(struct platfo
+@@ -1034,12 +1058,14 @@ static int q6v5_wcss_probe(struct platfo
  	if (ret)
- 		goto free_rproc;
+ 		return ret;
  
 -	if (wcss->version == WCSS_QCS404) {
 -		ret = q6v5_wcss_init_clock(wcss);
 +	if (desc->init_clock) {
 +		ret = desc->init_clock(wcss);
  		if (ret)
- 			goto free_rproc;
+ 			return ret;
 +	}
  
 -		ret = q6v5_wcss_init_regulator(wcss);
 +	if (desc->init_regulator) {
 +		ret = desc->init_regulator(wcss);
  		if (ret)
- 			goto free_rproc;
+ 			return ret;
  	}
-@@ -1084,6 +1110,7 @@ static void q6v5_wcss_remove(struct plat
+@@ -1081,6 +1107,7 @@ static void q6v5_wcss_remove(struct plat
  }
  
  static const struct wcss_data wcss_ipq8074_res_init = {
@@ -144,7 +144,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  	.firmware_name = "IPQ8074/q6_fw.mdt",
  	.crash_reason_smem = WCSS_CRASH_REASON,
  	.aon_reset_required = true,
-@@ -1093,6 +1120,8 @@ static const struct wcss_data wcss_ipq80
+@@ -1090,6 +1117,8 @@ static const struct wcss_data wcss_ipq80
  };
  
  static const struct wcss_data wcss_qcs404_res_init = {
diff --git a/target/linux/qualcommax/patches-6.12/0113-remoteproc-qcom-Add-secure-PIL-support.patch b/target/linux/qualcommax/patches-6.12/0113-remoteproc-qcom-Add-secure-PIL-support.patch
index ef2a35bbd2..fc35733fa2 100644
--- a/target/linux/qualcommax/patches-6.12/0113-remoteproc-qcom-Add-secure-PIL-support.patch
+++ b/target/linux/qualcommax/patches-6.12/0113-remoteproc-qcom-Add-secure-PIL-support.patch
@@ -39,8 +39,8 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
 +	bool need_mem_protection;
  
  	struct qcom_rproc_glink glink_subdev;
- 	struct qcom_rproc_ssr ssr_subdev;
-@@ -152,6 +157,7 @@ struct wcss_data {
+ 	struct qcom_rproc_pdm pdm_subdev;
+@@ -153,6 +158,7 @@ struct wcss_data {
  	int ssctl_id;
  	const struct rproc_ops *ops;
  	bool requires_force_stop;
@@ -48,7 +48,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  };
  
  static int q6v5_wcss_reset(struct q6v5_wcss *wcss)
-@@ -251,6 +257,15 @@ static int q6v5_wcss_start(struct rproc
+@@ -252,6 +258,15 @@ static int q6v5_wcss_start(struct rproc
  
  	qcom_q6v5_prepare(&wcss->q6v5);
  
@@ -64,7 +64,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  	/* Release Q6 and WCSS reset */
  	ret = reset_control_deassert(wcss->wcss_reset);
  	if (ret) {
-@@ -285,6 +300,7 @@ static int q6v5_wcss_start(struct rproc
+@@ -286,6 +301,7 @@ static int q6v5_wcss_start(struct rproc
  	if (ret)
  		goto wcss_q6_reset;
  
@@ -72,7 +72,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  	ret = qcom_q6v5_wait_for_start(&wcss->q6v5, 5 * HZ);
  	if (ret == -ETIMEDOUT)
  		dev_err(wcss->dev, "start timed out\n");
-@@ -718,6 +734,15 @@ static int q6v5_wcss_stop(struct rproc *
+@@ -719,6 +735,15 @@ static int q6v5_wcss_stop(struct rproc *
  	struct q6v5_wcss *wcss = rproc->priv;
  	int ret;
  
@@ -88,7 +88,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  	/* WCSS powerdown */
  	if (wcss->requires_force_stop) {
  		ret = qcom_q6v5_request_stop(&wcss->q6v5, NULL);
-@@ -742,6 +767,7 @@ static int q6v5_wcss_stop(struct rproc *
+@@ -743,6 +768,7 @@ static int q6v5_wcss_stop(struct rproc *
  			return ret;
  	}
  
@@ -96,7 +96,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  	clk_disable_unprepare(wcss->prng_clk);
  	qcom_q6v5_unprepare(&wcss->q6v5);
  
-@@ -765,9 +791,15 @@ static int q6v5_wcss_load(struct rproc *
+@@ -766,9 +792,15 @@ static int q6v5_wcss_load(struct rproc *
  	struct q6v5_wcss *wcss = rproc->priv;
  	int ret;
  
@@ -115,17 +115,17 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  	if (ret)
  		return ret;
  
-@@ -1035,6 +1067,9 @@ static int q6v5_wcss_probe(struct platfo
+@@ -1036,6 +1068,9 @@ static int q6v5_wcss_probe(struct platfo
  	if (!desc)
  		return -EINVAL;
  
 +	if (desc->need_mem_protection && !qcom_scm_is_available())
 +		return -EPROBE_DEFER;
 +
- 	rproc = rproc_alloc(&pdev->dev, pdev->name, desc->ops,
- 			    desc->firmware_name, sizeof(*wcss));
+ 	rproc = devm_rproc_alloc(&pdev->dev, pdev->name, desc->ops,
+ 				 desc->firmware_name, sizeof(*wcss));
  	if (!rproc) {
-@@ -1048,6 +1083,7 @@ static int q6v5_wcss_probe(struct platfo
+@@ -1049,6 +1084,7 @@ static int q6v5_wcss_probe(struct platfo
  
  	wcss->version = desc->version;
  	wcss->requires_force_stop = desc->requires_force_stop;
@@ -133,7 +133,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  
  	ret = q6v5_wcss_init_mmio(wcss, pdev);
  	if (ret)
-@@ -1117,6 +1153,7 @@ static const struct wcss_data wcss_ipq80
+@@ -1114,6 +1150,7 @@ static const struct wcss_data wcss_ipq80
  	.wcss_q6_reset_required = true,
  	.ops = &q6v5_wcss_ipq8074_ops,
  	.requires_force_stop = true,
diff --git a/target/linux/qualcommax/patches-6.12/0114-remoteproc-qcom-Add-support-for-split-q6-m3-wlan-fir.patch b/target/linux/qualcommax/patches-6.12/0114-remoteproc-qcom-Add-support-for-split-q6-m3-wlan-fir.patch
index f7e576cf8e..be793d6586 100644
--- a/target/linux/qualcommax/patches-6.12/0114-remoteproc-qcom-Add-support-for-split-q6-m3-wlan-fir.patch
+++ b/target/linux/qualcommax/patches-6.12/0114-remoteproc-qcom-Add-support-for-split-q6-m3-wlan-fir.patch
@@ -24,8 +24,8 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
 +	const char *m3_firmware_name;
  
  	struct qcom_rproc_glink glink_subdev;
- 	struct qcom_rproc_ssr ssr_subdev;
-@@ -147,7 +148,8 @@ struct q6v5_wcss {
+ 	struct qcom_rproc_pdm pdm_subdev;
+@@ -148,7 +149,8 @@ struct q6v5_wcss {
  struct wcss_data {
  	int (*init_clock)(struct q6v5_wcss *wcss);
  	int (*init_regulator)(struct q6v5_wcss *wcss);
@@ -35,7 +35,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  	unsigned int crash_reason_smem;
  	u32 version;
  	bool aon_reset_required;
-@@ -789,8 +791,29 @@ static void *q6v5_wcss_da_to_va(struct r
+@@ -790,8 +792,29 @@ static void *q6v5_wcss_da_to_va(struct r
  static int q6v5_wcss_load(struct rproc *rproc, const struct firmware *fw)
  {
  	struct q6v5_wcss *wcss = rproc->priv;
@@ -65,16 +65,16 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  	if (wcss->need_mem_protection)
  		ret = qcom_mdt_load(wcss->dev, fw, rproc->firmware,
  				    WCNSS_PAS_ID, wcss->mem_region,
-@@ -1071,7 +1094,7 @@ static int q6v5_wcss_probe(struct platfo
+@@ -1072,7 +1095,7 @@ static int q6v5_wcss_probe(struct platfo
  		return -EPROBE_DEFER;
  
- 	rproc = rproc_alloc(&pdev->dev, pdev->name, desc->ops,
--			    desc->firmware_name, sizeof(*wcss));
-+			    desc->q6_firmware_name, sizeof(*wcss));
+ 	rproc = devm_rproc_alloc(&pdev->dev, pdev->name, desc->ops,
+-				 desc->firmware_name, sizeof(*wcss));
++				 desc->q6_firmware_name, sizeof(*wcss));
  	if (!rproc) {
  		dev_err(&pdev->dev, "failed to allocate rproc\n");
  		return -ENOMEM;
-@@ -1084,6 +1107,7 @@ static int q6v5_wcss_probe(struct platfo
+@@ -1085,6 +1108,7 @@ static int q6v5_wcss_probe(struct platfo
  	wcss->version = desc->version;
  	wcss->requires_force_stop = desc->requires_force_stop;
  	wcss->need_mem_protection = desc->need_mem_protection;
@@ -82,7 +82,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  
  	ret = q6v5_wcss_init_mmio(wcss, pdev);
  	if (ret)
-@@ -1147,7 +1171,8 @@ static void q6v5_wcss_remove(struct plat
+@@ -1144,7 +1168,8 @@ static void q6v5_wcss_remove(struct plat
  
  static const struct wcss_data wcss_ipq8074_res_init = {
  	.init_clock = ipq8074_init_clock,
@@ -92,7 +92,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
  	.crash_reason_smem = WCSS_CRASH_REASON,
  	.aon_reset_required = true,
  	.wcss_q6_reset_required = true,
-@@ -1160,7 +1185,7 @@ static const struct wcss_data wcss_qcs40
+@@ -1157,7 +1182,7 @@ static const struct wcss_data wcss_qcs40
  	.init_clock = qcs404_init_clock,
  	.init_regulator = qcs404_init_regulator,
  	.crash_reason_smem = WCSS_CRASH_REASON,
diff --git a/target/linux/qualcommax/patches-6.12/0115-remoteproc-qcom-Add-ssr-subdevice-identifier.patch b/target/linux/qualcommax/patches-6.12/0115-remoteproc-qcom-Add-ssr-subdevice-identifier.patch
index 7a07b561e4..5d6a573c91 100644
--- a/target/linux/qualcommax/patches-6.12/0115-remoteproc-qcom-Add-ssr-subdevice-identifier.patch
+++ b/target/linux/qualcommax/patches-6.12/0115-remoteproc-qcom-Add-ssr-subdevice-identifier.patch
@@ -14,7 +14,7 @@ Signed-off-by: Nikhil Prakash V <nprakash at codeaurora.org>
 
 --- a/drivers/remoteproc/qcom_q6v5_wcss.c
 +++ b/drivers/remoteproc/qcom_q6v5_wcss.c
-@@ -1176,6 +1176,7 @@ static const struct wcss_data wcss_ipq80
+@@ -1173,6 +1173,7 @@ static const struct wcss_data wcss_ipq80
  	.crash_reason_smem = WCSS_CRASH_REASON,
  	.aon_reset_required = true,
  	.wcss_q6_reset_required = true,
diff --git a/target/linux/qualcommax/patches-6.12/0116-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch b/target/linux/qualcommax/patches-6.12/0116-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch
index 7ef6884e45..7989dfa5c9 100644
--- a/target/linux/qualcommax/patches-6.12/0116-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch
+++ b/target/linux/qualcommax/patches-6.12/0116-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch
@@ -22,7 +22,7 @@ Signed-off-by: Sricharan R <sricharan at codeaurora.org>
  
  #define WCNSS_PAS_ID		6
  
-@@ -154,6 +154,7 @@ struct wcss_data {
+@@ -155,6 +155,7 @@ struct wcss_data {
  	u32 version;
  	bool aon_reset_required;
  	bool wcss_q6_reset_required;
@@ -30,7 +30,7 @@ Signed-off-by: Sricharan R <sricharan at codeaurora.org>
  	const char *ssr_name;
  	const char *sysmon_name;
  	int ssctl_id;
-@@ -875,10 +876,13 @@ static int q6v5_wcss_init_reset(struct q
+@@ -876,10 +877,13 @@ static int q6v5_wcss_init_reset(struct q
  		}
  	}
  
@@ -48,7 +48,7 @@ Signed-off-by: Sricharan R <sricharan at codeaurora.org>
  	}
  
  	return 0;
-@@ -928,9 +932,9 @@ static int q6v5_wcss_init_mmio(struct q6
+@@ -929,9 +933,9 @@ static int q6v5_wcss_init_mmio(struct q6
  		return -EINVAL;
  	}
  
@@ -61,7 +61,7 @@ Signed-off-by: Sricharan R <sricharan at codeaurora.org>
  
  	return 0;
  }
-@@ -1176,6 +1180,7 @@ static const struct wcss_data wcss_ipq80
+@@ -1173,6 +1177,7 @@ static const struct wcss_data wcss_ipq80
  	.crash_reason_smem = WCSS_CRASH_REASON,
  	.aon_reset_required = true,
  	.wcss_q6_reset_required = true,
@@ -69,7 +69,7 @@ Signed-off-by: Sricharan R <sricharan at codeaurora.org>
  	.ssr_name = "q6wcss",
  	.ops = &q6v5_wcss_ipq8074_ops,
  	.requires_force_stop = true,
-@@ -1190,6 +1195,7 @@ static const struct wcss_data wcss_qcs40
+@@ -1187,6 +1192,7 @@ static const struct wcss_data wcss_qcs40
  	.version = WCSS_QCS404,
  	.aon_reset_required = false,
  	.wcss_q6_reset_required = false,
diff --git a/target/linux/qualcommax/patches-6.12/0119-remoteproc-wcss-disable-auto-boot-for-IPQ8074.patch b/target/linux/qualcommax/patches-6.12/0119-remoteproc-wcss-disable-auto-boot-for-IPQ8074.patch
index ecd87ac7a8..ccb78dec03 100644
--- a/target/linux/qualcommax/patches-6.12/0119-remoteproc-wcss-disable-auto-boot-for-IPQ8074.patch
+++ b/target/linux/qualcommax/patches-6.12/0119-remoteproc-wcss-disable-auto-boot-for-IPQ8074.patch
@@ -14,7 +14,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
 
 --- a/drivers/remoteproc/qcom_q6v5_wcss.c
 +++ b/drivers/remoteproc/qcom_q6v5_wcss.c
-@@ -161,6 +161,7 @@ struct wcss_data {
+@@ -162,6 +162,7 @@ struct wcss_data {
  	const struct rproc_ops *ops;
  	bool requires_force_stop;
  	bool need_mem_protection;
@@ -22,15 +22,15 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
  };
  
  static int q6v5_wcss_reset(struct q6v5_wcss *wcss)
-@@ -1149,6 +1150,7 @@ static int q6v5_wcss_probe(struct platfo
+@@ -1151,6 +1152,7 @@ static int q6v5_wcss_probe(struct platfo
  						      desc->sysmon_name,
  						      desc->ssctl_id);
  
 +	rproc->auto_boot = desc->need_auto_boot;
  	ret = rproc_add(rproc);
  	if (ret)
- 		goto free_rproc;
-@@ -1185,6 +1187,7 @@ static const struct wcss_data wcss_ipq80
+ 		return ret;
+@@ -1182,6 +1184,7 @@ static const struct wcss_data wcss_ipq80
  	.ops = &q6v5_wcss_ipq8074_ops,
  	.requires_force_stop = true,
  	.need_mem_protection = true,
@@ -38,7 +38,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
  };
  
  static const struct wcss_data wcss_qcs404_res_init = {
-@@ -1201,6 +1204,7 @@ static const struct wcss_data wcss_qcs40
+@@ -1198,6 +1201,7 @@ static const struct wcss_data wcss_qcs40
  	.ssctl_id = 0x12,
  	.ops = &q6v5_wcss_qcs404_ops,
  	.requires_force_stop = false,
diff --git a/target/linux/qualcommax/patches-6.12/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch b/target/linux/qualcommax/patches-6.12/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch
index 01a513de14..ea723f5912 100644
--- a/target/linux/qualcommax/patches-6.12/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch
+++ b/target/linux/qualcommax/patches-6.12/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch
@@ -49,7 +49,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
  	soc: soc at 0 {
  		#address-cells = <1>;
  		#size-cells = <1>;
-@@ -420,6 +446,11 @@
+@@ -415,6 +441,11 @@
  			reg = <0x01937000 0x21000>;
  		};
  
@@ -61,7 +61,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
  		spmi_bus: spmi at 200f000 {
  			compatible = "qcom,spmi-pmic-arb";
  			reg = <0x0200f000 0x001000>,
-@@ -987,6 +1018,56 @@
+@@ -994,6 +1025,56 @@
  				ranges;
  			};
  		};
diff --git a/target/linux/qualcommax/patches-6.12/0121-arm64-dts-ipq8074-Add-WLAN-node.patch b/target/linux/qualcommax/patches-6.12/0121-arm64-dts-ipq8074-Add-WLAN-node.patch
index 35f970dc2a..dcab3294c7 100644
--- a/target/linux/qualcommax/patches-6.12/0121-arm64-dts-ipq8074-Add-WLAN-node.patch
+++ b/target/linux/qualcommax/patches-6.12/0121-arm64-dts-ipq8074-Add-WLAN-node.patch
@@ -15,7 +15,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
-@@ -1068,6 +1068,117 @@
+@@ -1075,6 +1075,117 @@
  				};
  			};
  		};
diff --git a/target/linux/qualcommax/patches-6.12/0129-arm64-dts-qcom-ipq8074-add-QFPROM-fuses.patch b/target/linux/qualcommax/patches-6.12/0129-arm64-dts-qcom-ipq8074-add-QFPROM-fuses.patch
index 1e98c9a467..a9ac0293b1 100644
--- a/target/linux/qualcommax/patches-6.12/0129-arm64-dts-qcom-ipq8074-add-QFPROM-fuses.patch
+++ b/target/linux/qualcommax/patches-6.12/0129-arm64-dts-qcom-ipq8074-add-QFPROM-fuses.patch
@@ -12,7 +12,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
-@@ -338,6 +338,106 @@
+@@ -326,6 +326,106 @@
  			reg = <0x000a4000 0x2000>;
  			#address-cells = <1>;
  			#size-cells = <1>;
diff --git a/target/linux/qualcommax/patches-6.12/0136-remoteproc-qcom-wcss-populate-driver-data-for-IPQ601.patch b/target/linux/qualcommax/patches-6.12/0136-remoteproc-qcom-wcss-populate-driver-data-for-IPQ601.patch
index eaf6e37275..b1175d48e1 100644
--- a/target/linux/qualcommax/patches-6.12/0136-remoteproc-qcom-wcss-populate-driver-data-for-IPQ601.patch
+++ b/target/linux/qualcommax/patches-6.12/0136-remoteproc-qcom-wcss-populate-driver-data-for-IPQ601.patch
@@ -12,7 +12,7 @@ Signed-off-by: Gokul Sriram Palanisamy <gokulsri at codeaurora.org>
 
 --- a/drivers/remoteproc/qcom_q6v5_wcss.c
 +++ b/drivers/remoteproc/qcom_q6v5_wcss.c
-@@ -969,7 +969,7 @@ static int q6v5_alloc_memory_region(stru
+@@ -970,7 +970,7 @@ static int q6v5_alloc_memory_region(stru
  	return 0;
  }
  
@@ -21,7 +21,7 @@ Signed-off-by: Gokul Sriram Palanisamy <gokulsri at codeaurora.org>
  {
  	int ret;
  
-@@ -1176,7 +1176,7 @@ static void q6v5_wcss_remove(struct plat
+@@ -1173,7 +1173,7 @@ static void q6v5_wcss_remove(struct plat
  }
  
  static const struct wcss_data wcss_ipq8074_res_init = {
@@ -30,7 +30,7 @@ Signed-off-by: Gokul Sriram Palanisamy <gokulsri at codeaurora.org>
  	.q6_firmware_name = "IPQ8074/q6_fw.mdt",
  	.m3_firmware_name = "IPQ8074/m3_fw.mdt",
  	.crash_reason_smem = WCSS_CRASH_REASON,
-@@ -1190,6 +1190,20 @@ static const struct wcss_data wcss_ipq80
+@@ -1187,6 +1187,20 @@ static const struct wcss_data wcss_ipq80
  	.need_auto_boot = false,
  };
  
@@ -51,7 +51,7 @@ Signed-off-by: Gokul Sriram Palanisamy <gokulsri at codeaurora.org>
  static const struct wcss_data wcss_qcs404_res_init = {
  	.init_clock = qcs404_init_clock,
  	.init_regulator = qcs404_init_regulator,
-@@ -1209,6 +1223,7 @@ static const struct wcss_data wcss_qcs40
+@@ -1206,6 +1220,7 @@ static const struct wcss_data wcss_qcs40
  
  static const struct of_device_id q6v5_wcss_of_match[] = {
  	{ .compatible = "qcom,ipq8074-wcss-pil", .data = &wcss_ipq8074_res_init },
diff --git a/target/linux/qualcommax/patches-6.12/0138-arm64-dts-qcom-ipq6018-add-pwm-node.patch b/target/linux/qualcommax/patches-6.12/0138-arm64-dts-qcom-ipq6018-add-pwm-node.patch
index 71061ba4f9..006818abe0 100644
--- a/target/linux/qualcommax/patches-6.12/0138-arm64-dts-qcom-ipq6018-add-pwm-node.patch
+++ b/target/linux/qualcommax/patches-6.12/0138-arm64-dts-qcom-ipq6018-add-pwm-node.patch
@@ -20,7 +20,7 @@ Signed-off-by: Devi Priya <quic_devipriy at quicinc.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
-@@ -430,8 +430,21 @@
+@@ -417,8 +417,21 @@
  		};
  
  		tcsr: syscon at 1937000 {
diff --git a/target/linux/qualcommax/patches-6.12/0141-pwm-driver-for-qualcomm-ipq6018-pwm-block.patch b/target/linux/qualcommax/patches-6.12/0141-pwm-driver-for-qualcomm-ipq6018-pwm-block.patch
index bf373c5748..e6d78a0522 100644
--- a/target/linux/qualcommax/patches-6.12/0141-pwm-driver-for-qualcomm-ipq6018-pwm-block.patch
+++ b/target/linux/qualcommax/patches-6.12/0141-pwm-driver-for-qualcomm-ipq6018-pwm-block.patch
@@ -20,7 +20,7 @@ Signed-off-by: Devi Priya <quic_devipriy at quicinc.com>
 
 --- a/drivers/pwm/Kconfig
 +++ b/drivers/pwm/Kconfig
-@@ -282,6 +282,18 @@ config PWM_INTEL_LGM
+@@ -319,6 +319,18 @@ config PWM_INTEL_LGM
  	  To compile this driver as a module, choose M here: the module
  	  will be called pwm-intel-lgm.
  
@@ -41,7 +41,7 @@ Signed-off-by: Devi Priya <quic_devipriy at quicinc.com>
  	depends on MFD_IQS62X || COMPILE_TEST
 --- a/drivers/pwm/Makefile
 +++ b/drivers/pwm/Makefile
-@@ -24,6 +24,7 @@ obj-$(CONFIG_PWM_IMX1)		+= pwm-imx1.o
+@@ -27,6 +27,7 @@ obj-$(CONFIG_PWM_IMX1)		+= pwm-imx1.o
  obj-$(CONFIG_PWM_IMX27)		+= pwm-imx27.o
  obj-$(CONFIG_PWM_IMX_TPM)	+= pwm-imx-tpm.o
  obj-$(CONFIG_PWM_INTEL_LGM)	+= pwm-intel-lgm.o
diff --git a/target/linux/qualcommax/patches-6.12/0142-dt-bindings-mfd-qcom-tcsr-Add-simple-mfd-support-for-IPQ6018.patch b/target/linux/qualcommax/patches-6.12/0142-dt-bindings-mfd-qcom-tcsr-Add-simple-mfd-support-for-IPQ6018.patch
deleted file mode 100644
index 1714fc4e6f..0000000000
--- a/target/linux/qualcommax/patches-6.12/0142-dt-bindings-mfd-qcom-tcsr-Add-simple-mfd-support-for-IPQ6018.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From: Devi Priya <quic_devipriy at quicinc.com>
-Subject: [PATCH] dt-bindings: mfd: qcom,tcsr: Add simple-mfd support for IPQ6018
-Date: Thu, 5 Oct 2023 21:35:49 +0530
-
-Update the binding to include pwm as the child node to TCSR block and
-add simple-mfd support for IPQ6018.
-
-Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
-Signed-off-by: Devi Priya <quic_devipriy at quicinc.com>
----
- .../devicetree/bindings/mfd/qcom,tcsr.yaml    | 112 +++++++++++++-----
- 1 file changed, 81 insertions(+), 31 deletions(-)
-
---- a/Documentation/devicetree/bindings/mfd/qcom,tcsr.yaml
-+++ b/Documentation/devicetree/bindings/mfd/qcom,tcsr.yaml
-@@ -15,49 +15,101 @@ description:
- 
- properties:
-   compatible:
--    items:
--      - enum:
--          - qcom,msm8976-tcsr
--          - qcom,msm8998-tcsr
--          - qcom,qcs404-tcsr
--          - qcom,sc7180-tcsr
--          - qcom,sc7280-tcsr
--          - qcom,sc8280xp-tcsr
--          - qcom,sdm630-tcsr
--          - qcom,sdm845-tcsr
--          - qcom,sdx55-tcsr
--          - qcom,sdx65-tcsr
--          - qcom,sm8150-tcsr
--          - qcom,sm8450-tcsr
--          - qcom,tcsr-apq8064
--          - qcom,tcsr-apq8084
--          - qcom,tcsr-ipq5332
--          - qcom,tcsr-ipq6018
--          - qcom,tcsr-ipq8064
--          - qcom,tcsr-ipq8074
--          - qcom,tcsr-ipq9574
--          - qcom,tcsr-mdm9615
--          - qcom,tcsr-msm8226
--          - qcom,tcsr-msm8660
--          - qcom,tcsr-msm8916
--          - qcom,tcsr-msm8953
--          - qcom,tcsr-msm8960
--          - qcom,tcsr-msm8974
--          - qcom,tcsr-msm8996
--      - const: syscon
-+    oneOf:
-+      - items:
-+          - enum:
-+              - qcom,msm8976-tcsr
-+              - qcom,msm8998-tcsr
-+              - qcom,qcs404-tcsr
-+              - qcom,sc7180-tcsr
-+              - qcom,sc7280-tcsr
-+              - qcom,sc8280xp-tcsr
-+              - qcom,sdm630-tcsr
-+              - qcom,sdm845-tcsr
-+              - qcom,sdx55-tcsr
-+              - qcom,sdx65-tcsr
-+              - qcom,sm4450-tcsr
-+              - qcom,sm8150-tcsr
-+              - qcom,sm8450-tcsr
-+              - qcom,tcsr-apq8064
-+              - qcom,tcsr-apq8084
-+              - qcom,tcsr-ipq5332
-+              - qcom,tcsr-ipq8064
-+              - qcom,tcsr-ipq8074
-+              - qcom,tcsr-ipq9574
-+              - qcom,tcsr-mdm9615
-+              - qcom,tcsr-msm8226
-+              - qcom,tcsr-msm8660
-+              - qcom,tcsr-msm8916
-+              - qcom,tcsr-msm8953
-+              - qcom,tcsr-msm8960
-+              - qcom,tcsr-msm8974
-+              - qcom,tcsr-msm8996
-+          - const: syscon
-+      - items:
-+          - const: qcom,tcsr-ipq6018
-+          - const: syscon
-+          - const: simple-mfd
- 
-   reg:
-     maxItems: 1
- 
-+  ranges: true
-+
-+  "#address-cells":
-+    const: 1
-+
-+  "#size-cells":
-+    const: 1
-+
-+patternProperties:
-+  "pwm@[a-f0-9]+$":
-+    type: object
-+    $ref: /schemas/pwm/qcom,ipq6018-pwm.yaml
-+
-+
- required:
-   - compatible
-   - reg
- 
-+allOf:
-+  - if:
-+      not:
-+        properties:
-+          compatible:
-+            contains:
-+              enum:
-+                - qcom,tcsr-ipq6018
-+    then:
-+      patternProperties:
-+        "pwm@[a-f0-9]+$": false
-+
- additionalProperties: false
- 
- examples:
-+  # Example 1 - Syscon node found on MSM8960
-   - |
-     syscon at 1a400000 {
-         compatible = "qcom,tcsr-msm8960", "syscon";
-         reg = <0x1a400000 0x100>;
-     };
-+  # Example 2 - Syscon node found on IPQ6018
-+  - |
-+    #include <dt-bindings/clock/qcom,gcc-ipq6018.h>
-+
-+    syscon at 1937000 {
-+        compatible = "qcom,tcsr-ipq6018", "syscon", "simple-mfd";
-+        reg = <0x01937000 0x21000>;
-+        ranges = <0 0x1937000 0x21000>;
-+        #address-cells = <1>;
-+        #size-cells = <1>;
-+
-+        pwm: pwm at a010 {
-+            compatible = "qcom,ipq6018-pwm";
-+            reg = <0xa010 0x20>;
-+            clocks = <&gcc GCC_ADSS_PWM_CLK>;
-+            assigned-clocks = <&gcc GCC_ADSS_PWM_CLK>;
-+            assigned-clock-rates = <100000000>;
-+            #pwm-cells = <2>;
-+        };
-+    };
-\ No newline at end of file
diff --git a/target/linux/qualcommax/patches-6.12/0150-dt-bindings-nvmem-add-IPQ5018-compatible.patch b/target/linux/qualcommax/patches-6.12/0150-dt-bindings-nvmem-add-IPQ5018-compatible.patch
index c31b2ba497..5d39c875b3 100644
--- a/target/linux/qualcommax/patches-6.12/0150-dt-bindings-nvmem-add-IPQ5018-compatible.patch
+++ b/target/linux/qualcommax/patches-6.12/0150-dt-bindings-nvmem-add-IPQ5018-compatible.patch
@@ -12,7 +12,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara at quicinc.com>
 
 --- a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml
 +++ b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml
-@@ -18,6 +18,7 @@ properties:
+@@ -19,6 +19,7 @@ properties:
        - enum:
            - qcom,apq8064-qfprom
            - qcom,apq8084-qfprom
diff --git a/target/linux/qualcommax/patches-6.12/0151-dt-bindings-thermal-qcom-tsens-Add-ipq5018-compatible.patch b/target/linux/qualcommax/patches-6.12/0151-dt-bindings-thermal-qcom-tsens-Add-ipq5018-compatible.patch
index 36ab4abbdf..cab8606dcd 100644
--- a/target/linux/qualcommax/patches-6.12/0151-dt-bindings-thermal-qcom-tsens-Add-ipq5018-compatible.patch
+++ b/target/linux/qualcommax/patches-6.12/0151-dt-bindings-thermal-qcom-tsens-Add-ipq5018-compatible.patch
@@ -16,7 +16,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara at quicinc.com>
                - qcom,msm8956-tsens
                - qcom,msm8976-tsens
                - qcom,qcs404-tsens
-@@ -232,6 +233,7 @@ allOf:
+@@ -234,6 +235,7 @@ allOf:
          compatible:
            contains:
              enum:
diff --git a/target/linux/qualcommax/patches-6.12/0152-thermal-qcom-add-new-feat-for-soc-without-rpm.patch b/target/linux/qualcommax/patches-6.12/0152-thermal-qcom-add-new-feat-for-soc-without-rpm.patch
index c8f393e2b6..74a6660146 100644
--- a/target/linux/qualcommax/patches-6.12/0152-thermal-qcom-add-new-feat-for-soc-without-rpm.patch
+++ b/target/linux/qualcommax/patches-6.12/0152-thermal-qcom-add-new-feat-for-soc-without-rpm.patch
@@ -15,7 +15,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara at quicinc.com>
 
 --- a/drivers/thermal/qcom/tsens.c
 +++ b/drivers/thermal/qcom/tsens.c
-@@ -974,7 +974,7 @@ int __init init_common(struct tsens_priv
+@@ -975,7 +975,7 @@ int __init init_common(struct tsens_priv
  	ret = regmap_field_read(priv->rf[TSENS_EN], &enabled);
  	if (ret)
  		goto err_put_device;
diff --git a/target/linux/qualcommax/patches-6.12/0153-thermal-qcom-tsens-add-support-for-IPQ5018-tsens.patch b/target/linux/qualcommax/patches-6.12/0153-thermal-qcom-tsens-add-support-for-IPQ5018-tsens.patch
index 0de11daf72..fb04ac17c2 100644
--- a/target/linux/qualcommax/patches-6.12/0153-thermal-qcom-tsens-add-support-for-IPQ5018-tsens.patch
+++ b/target/linux/qualcommax/patches-6.12/0153-thermal-qcom-tsens-add-support-for-IPQ5018-tsens.patch
@@ -95,7 +95,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara at quicinc.com>
 +};
 --- a/drivers/thermal/qcom/tsens.c
 +++ b/drivers/thermal/qcom/tsens.c
-@@ -1101,6 +1101,9 @@ static SIMPLE_DEV_PM_OPS(tsens_pm_ops, t
+@@ -1102,6 +1102,9 @@ static SIMPLE_DEV_PM_OPS(tsens_pm_ops, t
  
  static const struct of_device_id tsens_table[] = {
  	{
@@ -107,7 +107,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara at quicinc.com>
  	}, {
 --- a/drivers/thermal/qcom/tsens.h
 +++ b/drivers/thermal/qcom/tsens.h
-@@ -645,7 +645,7 @@ extern struct tsens_plat_data data_8960;
+@@ -650,7 +650,7 @@ extern struct tsens_plat_data data_8960;
  extern struct tsens_plat_data data_8226, data_8909, data_8916, data_8939, data_8974, data_9607;
  
  /* TSENS v1 targets */
diff --git a/target/linux/qualcommax/patches-6.12/0154-dts-qcom-IPQ5018-add-tsens-node.patch b/target/linux/qualcommax/patches-6.12/0154-dts-qcom-IPQ5018-add-tsens-node.patch
index 4f9b8abfa5..0823fb75da 100644
--- a/target/linux/qualcommax/patches-6.12/0154-dts-qcom-IPQ5018-add-tsens-node.patch
+++ b/target/linux/qualcommax/patches-6.12/0154-dts-qcom-IPQ5018-add-tsens-node.patch
@@ -15,7 +15,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara at quicinc.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -149,6 +149,117 @@
+@@ -147,6 +147,117 @@
  			status = "disabled";
  		};
  
@@ -133,7 +133,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara at quicinc.com>
  		tlmm: pinctrl at 1000000 {
  			compatible = "qcom,ipq5018-tlmm";
  			reg = <0x01000000 0x300000>;
-@@ -391,6 +502,64 @@
+@@ -388,6 +499,64 @@
  			};
  		};
  	};
diff --git a/target/linux/qualcommax/patches-6.12/0162-arm64-dts-qcom-ipq5018-Add-PCIe-related-nodes.patch b/target/linux/qualcommax/patches-6.12/0162-arm64-dts-qcom-ipq5018-Add-PCIe-related-nodes.patch
index 448cb9cc54..9ef5e111fd 100644
--- a/target/linux/qualcommax/patches-6.12/0162-arm64-dts-qcom-ipq5018-Add-PCIe-related-nodes.patch
+++ b/target/linux/qualcommax/patches-6.12/0162-arm64-dts-qcom-ipq5018-Add-PCIe-related-nodes.patch
@@ -109,7 +109,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -260,6 +260,40 @@
+@@ -258,6 +258,40 @@
  			#thermal-sensor-cells = <1>;
  		};
  
@@ -150,7 +150,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  		tlmm: pinctrl at 1000000 {
  			compatible = "qcom,ipq5018-tlmm";
  			reg = <0x01000000 0x300000>;
-@@ -283,8 +317,8 @@
+@@ -281,8 +315,8 @@
  			reg = <0x01800000 0x80000>;
  			clocks = <&xo_board_clk>,
  				 <&sleep_clk>,
@@ -161,7 +161,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  				 <0>,
  				 <0>,
  				 <0>,
-@@ -501,6 +535,208 @@
+@@ -498,6 +532,208 @@
  				status = "disabled";
  			};
  		};
diff --git a/target/linux/qualcommax/patches-6.12/0301-dt-bindings-mfd-qcom-tcsr-add-IPQ5018-compatible.patch b/target/linux/qualcommax/patches-6.12/0301-dt-bindings-mfd-qcom-tcsr-add-IPQ5018-compatible.patch
deleted file mode 100644
index 2faaa1d10e..0000000000
--- a/target/linux/qualcommax/patches-6.12/0301-dt-bindings-mfd-qcom-tcsr-add-IPQ5018-compatible.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-From: George Moussalem <george.moussalem at outlook.com>
-Subject: [PATCH] dt-bindings: mfd: qcom,tcsr: Add IPQ5018 compatible
-Date: Sun, 06 Oct 2024 16:34:11 +0400
-
-Document the qcom,tcsr-ipq5018 compatible.
-
-Signed-off-by: George Moussalem <george.moussalem at outlook.com>
----
---- a/Documentation/devicetree/bindings/mfd/qcom,tcsr.yaml
-+++ b/Documentation/devicetree/bindings/mfd/qcom,tcsr.yaml
-@@ -33,6 +33,7 @@ properties:
-               - qcom,sm8450-tcsr
-               - qcom,tcsr-apq8064
-               - qcom,tcsr-apq8084
-+              - qcom,tcsr-ipq5018
-               - qcom,tcsr-ipq5332
-               - qcom,tcsr-ipq8064
-               - qcom,tcsr-ipq8074
diff --git a/target/linux/qualcommax/patches-6.12/0302-arm64-dts-qcom-IPQ5018-add-TCSR-node.patch b/target/linux/qualcommax/patches-6.12/0302-arm64-dts-qcom-IPQ5018-add-TCSR-node.patch
index 81c706f966..7b3902d7b7 100644
--- a/target/linux/qualcommax/patches-6.12/0302-arm64-dts-qcom-IPQ5018-add-TCSR-node.patch
+++ b/target/linux/qualcommax/patches-6.12/0302-arm64-dts-qcom-IPQ5018-add-TCSR-node.patch
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 ---
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -335,6 +335,11 @@
+@@ -332,6 +332,11 @@
  			#hwlock-cells = <1>;
  		};
  
diff --git a/target/linux/qualcommax/patches-6.12/0303-arm64-dts-qcom-IPQ5018-enable-the-download-mode-support.patch b/target/linux/qualcommax/patches-6.12/0303-arm64-dts-qcom-IPQ5018-enable-the-download-mode-support.patch
index 265695d1c4..b4ce71418b 100644
--- a/target/linux/qualcommax/patches-6.12/0303-arm64-dts-qcom-IPQ5018-enable-the-download-mode-support.patch
+++ b/target/linux/qualcommax/patches-6.12/0303-arm64-dts-qcom-IPQ5018-enable-the-download-mode-support.patch
@@ -9,7 +9,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 ---
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -82,6 +82,7 @@
+@@ -80,6 +80,7 @@
  		scm {
  			compatible = "qcom,scm-ipq5018", "qcom,scm";
  			qcom,sdi-enabled;
diff --git a/target/linux/qualcommax/patches-6.12/0306-arm64-dts-qcom-ipq5018-Add-PWM-node.patch b/target/linux/qualcommax/patches-6.12/0306-arm64-dts-qcom-ipq5018-Add-PWM-node.patch
index b72f45ed3f..b97aa11ebc 100644
--- a/target/linux/qualcommax/patches-6.12/0306-arm64-dts-qcom-ipq5018-Add-PWM-node.patch
+++ b/target/linux/qualcommax/patches-6.12/0306-arm64-dts-qcom-ipq5018-Add-PWM-node.patch
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 ---
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -341,6 +341,16 @@
+@@ -338,6 +338,16 @@
  			reg = <0x01937000 0x21000>;
  		};
  
diff --git a/target/linux/qualcommax/patches-6.12/0324-arm64-dts-qcom-ipq5018-Add-crypto-nodes.patch b/target/linux/qualcommax/patches-6.12/0324-arm64-dts-qcom-ipq5018-Add-crypto-nodes.patch
index bd48a87815..89a2ebd15a 100644
--- a/target/linux/qualcommax/patches-6.12/0324-arm64-dts-qcom-ipq5018-Add-crypto-nodes.patch
+++ b/target/linux/qualcommax/patches-6.12/0324-arm64-dts-qcom-ipq5018-Add-crypto-nodes.patch
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 ---
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -295,6 +295,30 @@
+@@ -293,6 +293,30 @@
  			status = "disabled";
  		};
  
diff --git a/target/linux/qualcommax/patches-6.12/0337-arm64-dts-qcom-ipq5018-Add-PRNG-node.patch b/target/linux/qualcommax/patches-6.12/0337-arm64-dts-qcom-ipq5018-Add-PRNG-node.patch
index cbfa401e06..9666bb8f31 100644
--- a/target/linux/qualcommax/patches-6.12/0337-arm64-dts-qcom-ipq5018-Add-PRNG-node.patch
+++ b/target/linux/qualcommax/patches-6.12/0337-arm64-dts-qcom-ipq5018-Add-PRNG-node.patch
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 ---
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -222,6 +222,14 @@
+@@ -220,6 +220,14 @@
  			};
  		};
  
diff --git a/target/linux/qualcommax/patches-6.12/0339-arm64-dts-qcom-ipq5018-Add-QUP1-UART2-node.patch b/target/linux/qualcommax/patches-6.12/0339-arm64-dts-qcom-ipq5018-Add-QUP1-UART2-node.patch
index de1df4579b..c875690b58 100644
--- a/target/linux/qualcommax/patches-6.12/0339-arm64-dts-qcom-ipq5018-Add-QUP1-UART2-node.patch
+++ b/target/linux/qualcommax/patches-6.12/0339-arm64-dts-qcom-ipq5018-Add-QUP1-UART2-node.patch
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 ---
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -420,6 +420,16 @@
+@@ -417,6 +417,16 @@
  			status = "disabled";
  		};
  
diff --git a/target/linux/qualcommax/patches-6.12/0340-arm64-dts-qcom-ipq5018-Add-QUP3-I2C-node.patch b/target/linux/qualcommax/patches-6.12/0340-arm64-dts-qcom-ipq5018-Add-QUP3-I2C-node.patch
index c8802806f5..70ddcc7147 100644
--- a/target/linux/qualcommax/patches-6.12/0340-arm64-dts-qcom-ipq5018-Add-QUP3-I2C-node.patch
+++ b/target/linux/qualcommax/patches-6.12/0340-arm64-dts-qcom-ipq5018-Add-QUP3-I2C-node.patch
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 ---
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -444,6 +444,21 @@
+@@ -441,6 +441,21 @@
  			status = "disabled";
  		};
  
diff --git a/target/linux/qualcommax/patches-6.12/0421-arm64-dts-qcom-ipq5018-Add-SPI-nand-node.patch b/target/linux/qualcommax/patches-6.12/0421-arm64-dts-qcom-ipq5018-Add-SPI-nand-node.patch
index cc6df41db5..516b46743b 100644
--- a/target/linux/qualcommax/patches-6.12/0421-arm64-dts-qcom-ipq5018-Add-SPI-nand-node.patch
+++ b/target/linux/qualcommax/patches-6.12/0421-arm64-dts-qcom-ipq5018-Add-SPI-nand-node.patch
@@ -13,7 +13,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -459,6 +459,36 @@
+@@ -456,6 +456,36 @@
  			status = "disabled";
  		};
  
diff --git a/target/linux/qualcommax/patches-6.12/0702-clk-qcom-Add-CMN-PLL-clock-controller-driver-for-IPQ.patch b/target/linux/qualcommax/patches-6.12/0702-clk-qcom-Add-CMN-PLL-clock-controller-driver-for-IPQ.patch
index afccffa67e..a9587b5796 100644
--- a/target/linux/qualcommax/patches-6.12/0702-clk-qcom-Add-CMN-PLL-clock-controller-driver-for-IPQ.patch
+++ b/target/linux/qualcommax/patches-6.12/0702-clk-qcom-Add-CMN-PLL-clock-controller-driver-for-IPQ.patch
@@ -29,7 +29,7 @@ Signed-off-by: Luo Jie <quic_luoj at quicinc.com>
 
 --- a/drivers/clk/qcom/Kconfig
 +++ b/drivers/clk/qcom/Kconfig
-@@ -139,6 +139,16 @@ config IPQ_APSS_6018
+@@ -190,6 +190,16 @@ config IPQ_APSS_6018
  	  Say Y if you want to support CPU frequency scaling on
  	  ipq based devices.
  
@@ -48,8 +48,8 @@ Signed-off-by: Luo Jie <quic_luoj at quicinc.com>
  	help
 --- a/drivers/clk/qcom/Makefile
 +++ b/drivers/clk/qcom/Makefile
-@@ -23,6 +23,7 @@ obj-$(CONFIG_APQ_MMCC_8084) += mmcc-apq8
- obj-$(CONFIG_CLK_GFM_LPASS_SM8250) += lpass-gfm-sm8250.o
+@@ -29,6 +29,7 @@ obj-$(CONFIG_CLK_X1E80100_TCSRCC) += tcs
+ obj-$(CONFIG_CLK_QCM2290_GPUCC) += gpucc-qcm2290.o
  obj-$(CONFIG_IPQ_APSS_PLL) += apss-ipq-pll.o
  obj-$(CONFIG_IPQ_APSS_6018) += apss-ipq6018.o
 +obj-$(CONFIG_IPQ_CMN_PLL) += clk-ipq-cmn-pll.o
diff --git a/target/linux/qualcommax/patches-6.12/0703-clk-qcom-cmn-pll-add-IPQ5018-support.patch b/target/linux/qualcommax/patches-6.12/0703-clk-qcom-cmn-pll-add-IPQ5018-support.patch
index 9d0d52b8eb..75b37df9aa 100644
--- a/target/linux/qualcommax/patches-6.12/0703-clk-qcom-cmn-pll-add-IPQ5018-support.patch
+++ b/target/linux/qualcommax/patches-6.12/0703-clk-qcom-cmn-pll-add-IPQ5018-support.patch
@@ -16,7 +16,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 
 --- a/drivers/clk/qcom/Kconfig
 +++ b/drivers/clk/qcom/Kconfig
-@@ -141,7 +141,6 @@ config IPQ_APSS_6018
+@@ -192,7 +192,6 @@ config IPQ_APSS_6018
  
  config IPQ_CMN_PLL
  	tristate "IPQ CMN PLL Clock Controller"
diff --git a/target/linux/qualcommax/patches-6.12/0704-arm64-dts-qcom-ipq5018-Add-ethernet-cmn-node.patch b/target/linux/qualcommax/patches-6.12/0704-arm64-dts-qcom-ipq5018-Add-ethernet-cmn-node.patch
index 6a0e2efdf8..3d00def55f 100644
--- a/target/linux/qualcommax/patches-6.12/0704-arm64-dts-qcom-ipq5018-Add-ethernet-cmn-node.patch
+++ b/target/linux/qualcommax/patches-6.12/0704-arm64-dts-qcom-ipq5018-Add-ethernet-cmn-node.patch
@@ -23,7 +23,7 @@ Signed-off-by: Ziyang Huang <hzyitc at outlook.com>
  		sleep_clk: sleep-clk {
  			compatible = "fixed-clock";
  			#clock-cells = <0>;
-@@ -150,6 +156,19 @@
+@@ -148,6 +154,19 @@
  			status = "disabled";
  		};
  
diff --git a/target/linux/qualcommax/patches-6.12/0712-arm64-dts-qcom-ipq5018-add-mdio-node.patch b/target/linux/qualcommax/patches-6.12/0712-arm64-dts-qcom-ipq5018-add-mdio-node.patch
index 2d056b9f3c..b326765e6c 100644
--- a/target/linux/qualcommax/patches-6.12/0712-arm64-dts-qcom-ipq5018-add-mdio-node.patch
+++ b/target/linux/qualcommax/patches-6.12/0712-arm64-dts-qcom-ipq5018-add-mdio-node.patch
@@ -14,7 +14,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -156,6 +156,30 @@
+@@ -154,6 +154,30 @@
  			status = "disabled";
  		};
  
diff --git a/target/linux/qualcommax/patches-6.12/0713-arm64-dts-qcom-ipq5018-add-ge_phy-node.patch b/target/linux/qualcommax/patches-6.12/0713-arm64-dts-qcom-ipq5018-add-ge_phy-node.patch
index 916bdc4864..6d2751c06d 100644
--- a/target/linux/qualcommax/patches-6.12/0713-arm64-dts-qcom-ipq5018-add-ge_phy-node.patch
+++ b/target/linux/qualcommax/patches-6.12/0713-arm64-dts-qcom-ipq5018-add-ge_phy-node.patch
@@ -13,7 +13,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -166,6 +166,21 @@
+@@ -164,6 +164,21 @@
  			clock-names = "gcc_mdio_ahb_clk";
  
  			status = "disabled";
@@ -35,7 +35,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  		};
  
  		mdio1: mdio at 90000 {
-@@ -396,8 +411,8 @@
+@@ -394,8 +409,8 @@
  				 <&pcie0_phy>,
  				 <&pcie1_phy>,
  				 <0>,
diff --git a/target/linux/qualcommax/patches-6.12/0721-clk-gcc-ipq5018-remove-the-unsupported-clk-combinati.patch b/target/linux/qualcommax/patches-6.12/0721-clk-gcc-ipq5018-remove-the-unsupported-clk-combinati.patch
index 0a22289d39..c6225f62b3 100644
--- a/target/linux/qualcommax/patches-6.12/0721-clk-gcc-ipq5018-remove-the-unsupported-clk-combinati.patch
+++ b/target/linux/qualcommax/patches-6.12/0721-clk-gcc-ipq5018-remove-the-unsupported-clk-combinati.patch
@@ -15,7 +15,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 
 --- a/drivers/clk/qcom/gcc-ipq5018.c
 +++ b/drivers/clk/qcom/gcc-ipq5018.c
-@@ -677,7 +677,7 @@ static const struct freq_tbl ftbl_gmac1_
+@@ -678,7 +678,7 @@ static const struct freq_tbl ftbl_gmac1_
  	F(2500000, P_UNIPHY_RX, 12.5, 0, 0),
  	F(24000000, P_XO, 1, 0, 0),
  	F(25000000, P_UNIPHY_RX, 2.5, 0, 0),
@@ -24,7 +24,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  	F(125000000, P_UNIPHY_RX, 1, 0, 0),
  	F(312500000, P_UNIPHY_RX, 1, 0, 0),
  	{ }
-@@ -717,7 +717,7 @@ static const struct freq_tbl ftbl_gmac1_
+@@ -718,7 +718,7 @@ static const struct freq_tbl ftbl_gmac1_
  	F(2500000, P_UNIPHY_TX, 12.5, 0, 0),
  	F(24000000, P_XO, 1, 0, 0),
  	F(25000000, P_UNIPHY_TX, 2.5, 0, 0),
diff --git a/target/linux/qualcommax/patches-6.12/0722-clk-gcc-ipq5018-refer-to-ge-phy-rx-and-tx-clk-providers-by-name.patch b/target/linux/qualcommax/patches-6.12/0722-clk-gcc-ipq5018-refer-to-ge-phy-rx-and-tx-clk-providers-by-name.patch
index 6cd1a2a16b..1610a24b1f 100644
--- a/target/linux/qualcommax/patches-6.12/0722-clk-gcc-ipq5018-refer-to-ge-phy-rx-and-tx-clk-providers-by-name.patch
+++ b/target/linux/qualcommax/patches-6.12/0722-clk-gcc-ipq5018-refer-to-ge-phy-rx-and-tx-clk-providers-by-name.patch
@@ -16,7 +16,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 
 --- a/drivers/clk/qcom/gcc-ipq5018.c
 +++ b/drivers/clk/qcom/gcc-ipq5018.c
-@@ -335,8 +335,8 @@ static const struct parent_map gcc_xo_gp
+@@ -336,8 +336,8 @@ static const struct parent_map gcc_xo_gp
  
  static const struct clk_parent_data gcc_xo_gephy_gcc_rx_gephy_gcc_tx_ubi32_pll_gpll0[] = {
  	{ .index = DT_XO },
@@ -27,7 +27,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  	{ .hw = &ubi32_pll.clkr.hw },
  	{ .hw = &gpll0.clkr.hw },
  };
-@@ -351,8 +351,8 @@ static const struct parent_map gcc_xo_ge
+@@ -352,8 +352,8 @@ static const struct parent_map gcc_xo_ge
  
  static const struct clk_parent_data gcc_xo_gephy_gcc_tx_gephy_gcc_rx_ubi32_pll_gpll0[] = {
  	{ .index = DT_XO },
@@ -38,7 +38,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  	{ .hw = &ubi32_pll.clkr.hw },
  	{ .hw = &gpll0.clkr.hw },
  };
-@@ -367,8 +367,8 @@ static const struct parent_map gcc_xo_ge
+@@ -368,8 +368,8 @@ static const struct parent_map gcc_xo_ge
  
  static const struct clk_parent_data gcc_xo_uniphy_gcc_rx_uniphy_gcc_tx_ubi32_pll_gpll0[] = {
  	{ .index = DT_XO },
@@ -49,7 +49,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  	{ .hw = &ubi32_pll.clkr.hw },
  	{ .hw = &gpll0.clkr.hw },
  };
-@@ -383,8 +383,8 @@ static const struct parent_map gcc_xo_un
+@@ -384,8 +384,8 @@ static const struct parent_map gcc_xo_un
  
  static const struct clk_parent_data gcc_xo_uniphy_gcc_tx_uniphy_gcc_rx_ubi32_pll_gpll0[] = {
  	{ .index = DT_XO },
diff --git a/target/linux/qualcommax/patches-6.12/0751-net-dsa-qca8k-always-enable-SGMII-auto-negotiation.patch b/target/linux/qualcommax/patches-6.12/0751-net-dsa-qca8k-always-enable-SGMII-auto-negotiation.patch
index bccac8a4eb..48f35508ac 100644
--- a/target/linux/qualcommax/patches-6.12/0751-net-dsa-qca8k-always-enable-SGMII-auto-negotiation.patch
+++ b/target/linux/qualcommax/patches-6.12/0751-net-dsa-qca8k-always-enable-SGMII-auto-negotiation.patch
@@ -12,7 +12,7 @@ Signed-off-by: Ziyang Huang <hzyitc at outlook.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -1545,11 +1545,10 @@ static int qca8k_pcs_config(struct phyli
+@@ -1557,11 +1557,10 @@ static int qca8k_pcs_config(struct phyli
  		return -EINVAL;
  	}
  
diff --git a/target/linux/qualcommax/patches-6.12/0752-net-dsa-qca8k-support-PHY-to-PHY-CPU-link.patch b/target/linux/qualcommax/patches-6.12/0752-net-dsa-qca8k-support-PHY-to-PHY-CPU-link.patch
index e664a717a3..fbda2eb488 100644
--- a/target/linux/qualcommax/patches-6.12/0752-net-dsa-qca8k-support-PHY-to-PHY-CPU-link.patch
+++ b/target/linux/qualcommax/patches-6.12/0752-net-dsa-qca8k-support-PHY-to-PHY-CPU-link.patch
@@ -14,8 +14,8 @@ Signed-off-by: Ziyang Huang <hzyitc at outlook.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -1013,7 +1013,7 @@ qca8k_setup_mdio_bus(struct qca8k_priv *
- 			return err;
+@@ -1014,7 +1014,7 @@ qca8k_setup_mdio_bus(struct qca8k_priv *
+ 			return ret;
  		}
  
 -		if (!dsa_is_user_port(priv->ds, reg))
@@ -23,7 +23,7 @@ Signed-off-by: Ziyang Huang <hzyitc at outlook.com>
  			continue;
  
  		of_get_phy_mode(port, &mode);
-@@ -1088,17 +1088,19 @@ qca8k_setup_mac_pwr_sel(struct qca8k_pri
+@@ -1089,17 +1089,19 @@ qca8k_setup_mac_pwr_sel(struct qca8k_pri
  
  static int qca8k_find_cpu_port(struct dsa_switch *ds)
  {
diff --git a/target/linux/qualcommax/patches-6.12/0802-firmware-qcom_scm-ipq5332-add-support-to-pass-metada.patch b/target/linux/qualcommax/patches-6.12/0802-firmware-qcom_scm-ipq5332-add-support-to-pass-metada.patch
index 677c61f7ac..c12e60f3d4 100644
--- a/target/linux/qualcommax/patches-6.12/0802-firmware-qcom_scm-ipq5332-add-support-to-pass-metada.patch
+++ b/target/linux/qualcommax/patches-6.12/0802-firmware-qcom_scm-ipq5332-add-support-to-pass-metada.patch
@@ -10,13 +10,13 @@ size as well.
 
 Signed-off-by: Manikanta Mylavarapu <quic_mmanikan at quicinc.com>
 ---
- drivers/firmware/qcom_scm.c | 8 ++++++++
- drivers/firmware/qcom_scm.h | 1 +
+ drivers/firmware/qcom//qcom_scm.c | 8 ++++++++
+ drivers/firmware/qcom//qcom_scm.h | 1 +
  2 files changed, 9 insertions(+)
 
---- a/drivers/firmware/qcom_scm.c
-+++ b/drivers/firmware/qcom_scm.c
-@@ -592,6 +592,14 @@ int qcom_scm_pas_mem_setup(u32 periphera
+--- a/drivers/firmware/qcom/qcom_scm.c
++++ b/drivers/firmware/qcom/qcom_scm.c
+@@ -686,6 +686,14 @@ int qcom_scm_pas_mem_setup(u32 periphera
  	if (ret)
  		goto disable_clk;
  
@@ -31,9 +31,9 @@ Signed-off-by: Manikanta Mylavarapu <quic_mmanikan at quicinc.com>
  	ret = qcom_scm_call(__scm->dev, &desc, &res);
  	qcom_scm_bw_disable();
  
---- a/drivers/firmware/qcom_scm.h
-+++ b/drivers/firmware/qcom_scm.h
-@@ -92,6 +92,7 @@ extern int scm_legacy_call(struct device
+--- a/drivers/firmware/qcom/qcom_scm.h
++++ b/drivers/firmware/qcom/qcom_scm.h
+@@ -96,6 +96,7 @@ struct qcom_tzmem_pool *qcom_scm_get_tzm
  
  #define QCOM_SCM_SVC_PIL		0x02
  #define QCOM_SCM_PIL_PAS_INIT_IMAGE	0x01
diff --git a/target/linux/qualcommax/patches-6.12/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch b/target/linux/qualcommax/patches-6.12/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch
index 06c6b04756..0d62ece676 100644
--- a/target/linux/qualcommax/patches-6.12/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch
+++ b/target/linux/qualcommax/patches-6.12/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch
@@ -10,14 +10,25 @@ support to lock/unlock MSA features.
 
 Signed-off-by: Manikanta Mylavarapu <quic_mmanikan at quicinc.com>
 ---
- drivers/firmware/qcom_scm.c            | 78 ++++++++++++++++++++++++++
- drivers/firmware/qcom_scm.h            |  2 +
+ drivers/firmware/qcom//qcom_scm.c            | 78 ++++++++++++++++++++++++++
+ drivers/firmware/qcom//qcom_scm.h            |  2 +
  include/linux/firmware/qcom/qcom_scm.h |  2 +
  3 files changed, 82 insertions(+)
 
---- a/drivers/firmware/qcom_scm.c
-+++ b/drivers/firmware/qcom_scm.c
-@@ -712,6 +712,84 @@ bool qcom_scm_pas_supported(u32 peripher
+--- a/include/linux/firmware/qcom/qcom_scm.h
++++ b/include/linux/firmware/qcom/qcom_scm.h
+@@ -79,6 +79,8 @@ int qcom_scm_pas_mem_setup(u32 periphera
+ int qcom_scm_pas_auth_and_reset(u32 peripheral);
+ int qcom_scm_pas_shutdown(u32 peripheral);
+ bool qcom_scm_pas_supported(u32 peripheral);
++int qcom_scm_msa_lock(u32 peripheral);
++int qcom_scm_msa_unlock(u32 peripheral);
+ 
+ int qcom_scm_io_readl(phys_addr_t addr, unsigned int *val);
+ int qcom_scm_io_writel(phys_addr_t addr, unsigned int val);
+--- a/drivers/firmware/qcom/qcom_scm.c
++++ b/drivers/firmware/qcom/qcom_scm.c
+@@ -806,6 +806,84 @@ bool qcom_scm_pas_supported(u32 peripher
  }
  EXPORT_SYMBOL_GPL(qcom_scm_pas_supported);
  
@@ -102,9 +113,9 @@ Signed-off-by: Manikanta Mylavarapu <quic_mmanikan at quicinc.com>
  static int __qcom_scm_pas_mss_reset(struct device *dev, bool reset)
  {
  	struct qcom_scm_desc desc = {
---- a/drivers/firmware/qcom_scm.h
-+++ b/drivers/firmware/qcom_scm.h
-@@ -98,6 +98,8 @@ extern int scm_legacy_call(struct device
+--- a/drivers/firmware/qcom/qcom_scm.h
++++ b/drivers/firmware/qcom/qcom_scm.h
+@@ -102,6 +102,8 @@ struct qcom_tzmem_pool *qcom_scm_get_tzm
  #define QCOM_SCM_PIL_PAS_SHUTDOWN	0x06
  #define QCOM_SCM_PIL_PAS_IS_SUPPORTED	0x07
  #define QCOM_SCM_PIL_PAS_MSS_RESET	0x0a
@@ -113,14 +124,3 @@ Signed-off-by: Manikanta Mylavarapu <quic_mmanikan at quicinc.com>
  
  #define QCOM_SCM_SVC_IO			0x05
  #define QCOM_SCM_IO_READ		0x01
---- a/include/linux/firmware/qcom/qcom_scm.h
-+++ b/include/linux/firmware/qcom/qcom_scm.h
-@@ -81,6 +81,8 @@ extern int qcom_scm_pas_mem_setup(u32 pe
- extern int qcom_scm_pas_auth_and_reset(u32 peripheral);
- extern int qcom_scm_pas_shutdown(u32 peripheral);
- extern bool qcom_scm_pas_supported(u32 peripheral);
-+extern int qcom_scm_msa_lock(u32 peripheral);
-+extern int qcom_scm_msa_unlock(u32 peripheral);
- 
- extern int qcom_scm_io_readl(phys_addr_t addr, unsigned int *val);
- extern int qcom_scm_io_writel(phys_addr_t addr, unsigned int val);
diff --git a/target/linux/qualcommax/patches-6.12/0805-remoteproc-qcom-Add-Hexagon-based-multipd-rproc-driv.patch b/target/linux/qualcommax/patches-6.12/0805-remoteproc-qcom-Add-Hexagon-based-multipd-rproc-driv.patch
index 97130b59e4..cf3e1051d0 100644
--- a/target/linux/qualcommax/patches-6.12/0805-remoteproc-qcom-Add-Hexagon-based-multipd-rproc-driv.patch
+++ b/target/linux/qualcommax/patches-6.12/0805-remoteproc-qcom-Add-Hexagon-based-multipd-rproc-driv.patch
@@ -58,7 +58,7 @@ Signed-off-by: Manikanta Mylavarapu <quic_mmanikan at quicinc.com>
 
 --- a/drivers/remoteproc/Kconfig
 +++ b/drivers/remoteproc/Kconfig
-@@ -234,6 +234,25 @@ config QCOM_Q6V5_PAS
+@@ -235,6 +235,25 @@ config QCOM_Q6V5_PAS
  	  CDSP (Compute DSP), MPSS (Modem Peripheral SubSystem), and
  	  SLPI (Sensor Low Power Island).
  
diff --git a/target/linux/qualcommax/patches-6.12/0811-firmware-qcom_scm-support-MPD.patch b/target/linux/qualcommax/patches-6.12/0811-firmware-qcom_scm-support-MPD.patch
index afcc15e69f..d2150ef5fb 100644
--- a/target/linux/qualcommax/patches-6.12/0811-firmware-qcom_scm-support-MPD.patch
+++ b/target/linux/qualcommax/patches-6.12/0811-firmware-qcom_scm-support-MPD.patch
@@ -9,14 +9,26 @@ load PIL segments to support the MPD architecture.
 Signed-off-by: Ziyang Huang <hzyitc at outlook.com>
 Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 ---
- drivers/firmware/qcom_scm.c            | 79 ++++++++++++++++++++++++++
- drivers/firmware/qcom_scm.h            |  3 +
+ drivers/firmware/qcom//qcom_scm.c            | 79 ++++++++++++++++++++++++++
+ drivers/firmware/qcom//qcom_scm.h            |  3 +
  include/linux/firmware/qcom/qcom_scm.h |  3 +
  3 files changed, 85 insertions(+)
 
---- a/drivers/firmware/qcom_scm.c
-+++ b/drivers/firmware/qcom_scm.c
-@@ -713,6 +713,85 @@ bool qcom_scm_pas_supported(u32 peripher
+--- a/include/linux/firmware/qcom/qcom_scm.h
++++ b/include/linux/firmware/qcom/qcom_scm.h
+@@ -79,6 +79,9 @@ int qcom_scm_pas_mem_setup(u32 periphera
+ int qcom_scm_pas_auth_and_reset(u32 peripheral);
+ int qcom_scm_pas_shutdown(u32 peripheral);
+ bool qcom_scm_pas_supported(u32 peripheral);
++int qcom_scm_internal_wifi_powerup(u32 peripheral);
++int qcom_scm_internal_wifi_shutdown(u32 peripheral);
++int qcom_scm_pas_load_segment(u32 peripheral, int segment, dma_addr_t dma, int seg_cnt);
+ int qcom_scm_msa_lock(u32 peripheral);
+ int qcom_scm_msa_unlock(u32 peripheral);
+ 
+--- a/drivers/firmware/qcom/qcom_scm.c
++++ b/drivers/firmware/qcom/qcom_scm.c
+@@ -807,6 +807,85 @@ bool qcom_scm_pas_supported(u32 peripher
  EXPORT_SYMBOL_GPL(qcom_scm_pas_supported);
  
  /**
@@ -102,9 +114,9 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
   * qcom_scm_msa_lock() - Lock given peripheral firmware region as MSA
   *
   * @peripheral:	peripheral id
---- a/drivers/firmware/qcom_scm.h
-+++ b/drivers/firmware/qcom_scm.h
-@@ -98,6 +98,9 @@ extern int scm_legacy_call(struct device
+--- a/drivers/firmware/qcom/qcom_scm.h
++++ b/drivers/firmware/qcom/qcom_scm.h
+@@ -102,6 +102,9 @@ struct qcom_tzmem_pool *qcom_scm_get_tzm
  #define QCOM_SCM_PIL_PAS_SHUTDOWN	0x06
  #define QCOM_SCM_PIL_PAS_IS_SUPPORTED	0x07
  #define QCOM_SCM_PIL_PAS_MSS_RESET	0x0a
@@ -114,15 +126,3 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  #define QCOM_SCM_MSA_LOCK		0x24
  #define QCOM_SCM_MSA_UNLOCK		0x25
  
---- a/include/linux/firmware/qcom/qcom_scm.h
-+++ b/include/linux/firmware/qcom/qcom_scm.h
-@@ -81,6 +81,9 @@ extern int qcom_scm_pas_mem_setup(u32 pe
- extern int qcom_scm_pas_auth_and_reset(u32 peripheral);
- extern int qcom_scm_pas_shutdown(u32 peripheral);
- extern bool qcom_scm_pas_supported(u32 peripheral);
-+extern int qcom_scm_internal_wifi_powerup(u32 peripheral);
-+extern int qcom_scm_internal_wifi_shutdown(u32 peripheral);
-+extern int qcom_scm_pas_load_segment(u32 peripheral, int segment, dma_addr_t dma, int seg_cnt);
- extern int qcom_scm_msa_lock(u32 peripheral);
- extern int qcom_scm_msa_unlock(u32 peripheral);
- 
diff --git a/target/linux/qualcommax/patches-6.12/0812-soc-qcom-mdt_loader-support-MPD.patch b/target/linux/qualcommax/patches-6.12/0812-soc-qcom-mdt_loader-support-MPD.patch
index 935a943858..7d670f5ff9 100644
--- a/target/linux/qualcommax/patches-6.12/0812-soc-qcom-mdt_loader-support-MPD.patch
+++ b/target/linux/qualcommax/patches-6.12/0812-soc-qcom-mdt_loader-support-MPD.patch
@@ -15,7 +15,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 
 --- a/drivers/soc/qcom/mdt_loader.c
 +++ b/drivers/soc/qcom/mdt_loader.c
-@@ -16,6 +16,16 @@
+@@ -17,6 +17,16 @@
  #include <linux/sizes.h>
  #include <linux/slab.h>
  #include <linux/soc/qcom/mdt_loader.h>
@@ -32,7 +32,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  
  static bool mdt_phdr_valid(const struct elf32_phdr *phdr)
  {
-@@ -69,6 +79,56 @@ static ssize_t mdt_load_split_segment(vo
+@@ -67,6 +77,56 @@ static ssize_t mdt_load_split_segment(vo
  	return ret;
  }
  
@@ -89,7 +89,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  /**
   * qcom_mdt_get_size() - acquire size of the memory region needed to load mdt
   * @fw:		firmware object for the mdt file
-@@ -295,7 +355,8 @@ static bool qcom_mdt_bins_are_split(cons
+@@ -293,7 +353,8 @@ static bool qcom_mdt_bins_are_split(cons
  static int __qcom_mdt_load(struct device *dev, const struct firmware *fw,
  			   const char *fw_name, int pas_id, void *mem_region,
  			   phys_addr_t mem_phys, size_t mem_size,
@@ -99,7 +99,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  {
  	const struct elf32_phdr *phdrs;
  	const struct elf32_phdr *phdr;
-@@ -349,6 +410,14 @@ static int __qcom_mdt_load(struct device
+@@ -347,6 +408,14 @@ static int __qcom_mdt_load(struct device
  		if (!mdt_phdr_valid(phdr))
  			continue;
  
@@ -114,7 +114,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  		offset = phdr->p_paddr - mem_reloc;
  		if (offset < 0 || offset + phdr->p_memsz > mem_size) {
  			dev_err(dev, "segment outside memory range\n");
-@@ -366,7 +435,11 @@ static int __qcom_mdt_load(struct device
+@@ -364,7 +433,11 @@ static int __qcom_mdt_load(struct device
  
  		ptr = mem_region + offset;
  
@@ -127,7 +127,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  			/* Firmware is large enough to be non-split */
  			if (phdr->p_offset + phdr->p_filesz > fw->size) {
  				dev_err(dev, "file %s segment %d would be truncated\n",
-@@ -383,7 +456,7 @@ static int __qcom_mdt_load(struct device
+@@ -381,7 +454,7 @@ static int __qcom_mdt_load(struct device
  				break;
  		}
  
@@ -136,7 +136,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  			memset(ptr + phdr->p_filesz, 0, phdr->p_memsz - phdr->p_filesz);
  	}
  
-@@ -418,7 +491,7 @@ int qcom_mdt_load(struct device *dev, co
+@@ -416,7 +489,7 @@ int qcom_mdt_load(struct device *dev, co
  		return ret;
  
  	return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys,
@@ -145,7 +145,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  }
  EXPORT_SYMBOL_GPL(qcom_mdt_load);
  
-@@ -441,9 +514,36 @@ int qcom_mdt_load_no_init(struct device
+@@ -439,9 +512,36 @@ int qcom_mdt_load_no_init(struct device
  			  size_t mem_size, phys_addr_t *reloc_base)
  {
  	return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys,
diff --git a/target/linux/qualcommax/patches-6.12/0816-arm64-dts-qcom-ipq5018-add-wifi-support.patch b/target/linux/qualcommax/patches-6.12/0816-arm64-dts-qcom-ipq5018-add-wifi-support.patch
index d158688928..a8cd54a938 100644
--- a/target/linux/qualcommax/patches-6.12/0816-arm64-dts-qcom-ipq5018-add-wifi-support.patch
+++ b/target/linux/qualcommax/patches-6.12/0816-arm64-dts-qcom-ipq5018-add-wifi-support.patch
@@ -13,7 +13,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 ---
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -697,6 +697,225 @@
+@@ -694,6 +694,225 @@
  			};
  		};
  
diff --git a/target/linux/qualcommax/patches-6.12/0817-arm64-dts-qcom-ipq5018-add-tz_apps-reserved-memory-region.patch b/target/linux/qualcommax/patches-6.12/0817-arm64-dts-qcom-ipq5018-add-tz_apps-reserved-memory-region.patch
index 03a9c1c981..1bb2cf49c1 100644
--- a/target/linux/qualcommax/patches-6.12/0817-arm64-dts-qcom-ipq5018-add-tz_apps-reserved-memory-region.patch
+++ b/target/linux/qualcommax/patches-6.12/0817-arm64-dts-qcom-ipq5018-add-tz_apps-reserved-memory-region.patch
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 ---
 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
-@@ -113,6 +113,11 @@
+@@ -111,6 +111,11 @@
  		#size-cells = <2>;
  		ranges;
  
diff --git a/target/linux/qualcommax/patches-6.12/0820-dt-bindings-net-wireless-ath11k-add-bindings-for-QCN6122.patch b/target/linux/qualcommax/patches-6.12/0820-dt-bindings-net-wireless-ath11k-add-bindings-for-QCN6122.patch
index d9eaf582c7..2980acb741 100644
--- a/target/linux/qualcommax/patches-6.12/0820-dt-bindings-net-wireless-ath11k-add-bindings-for-QCN6122.patch
+++ b/target/linux/qualcommax/patches-6.12/0820-dt-bindings-net-wireless-ath11k-add-bindings-for-QCN6122.patch
@@ -22,7 +22,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
 ---
 --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
 +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
-@@ -21,6 +21,7 @@ properties:
+@@ -22,6 +22,7 @@ properties:
        - qcom,ipq6018-wifi
        - qcom,wcn6750-wifi
        - qcom,ipq5018-wifi
@@ -30,7 +30,7 @@ Signed-off-by: George Moussalem <george.moussalem at outlook.com>
  
    reg:
      maxItems: 1
-@@ -258,6 +259,29 @@ allOf:
+@@ -262,6 +263,29 @@ allOf:
              - description: interrupt event for ring DP20
              - description: interrupt event for ring DP21
              - description: interrupt event for ring DP22
diff --git a/target/linux/qualcommax/patches-6.12/0900-power-Add-Qualcomm-APM.patch b/target/linux/qualcommax/patches-6.12/0900-power-Add-Qualcomm-APM.patch
index f105351584..0b573dfdd9 100644
--- a/target/linux/qualcommax/patches-6.12/0900-power-Add-Qualcomm-APM.patch
+++ b/target/linux/qualcommax/patches-6.12/0900-power-Add-Qualcomm-APM.patch
@@ -21,16 +21,16 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
 
 --- a/drivers/power/Kconfig
 +++ b/drivers/power/Kconfig
-@@ -1,3 +1,4 @@
- # SPDX-License-Identifier: GPL-2.0-only
+@@ -2,3 +2,4 @@
  source "drivers/power/reset/Kconfig"
+ source "drivers/power/sequencing/Kconfig"
  source "drivers/power/supply/Kconfig"
 +source "drivers/power/qcom/Kconfig"
 --- a/drivers/power/Makefile
 +++ b/drivers/power/Makefile
-@@ -1,3 +1,4 @@
- # SPDX-License-Identifier: GPL-2.0-only
+@@ -2,3 +2,4 @@
  obj-$(CONFIG_POWER_RESET)	+= reset/
+ obj-$(CONFIG_POWER_SEQUENCING)	+= sequencing/
  obj-$(CONFIG_POWER_SUPPLY)	+= supply/
 +obj-$(CONFIG_QCOM_APM)		+= qcom/
 --- /dev/null
diff --git a/target/linux/qualcommax/patches-6.12/0901-regulator-add-Qualcomm-CPR-regulators.patch b/target/linux/qualcommax/patches-6.12/0901-regulator-add-Qualcomm-CPR-regulators.patch
index 46d4fc246f..0118018597 100644
--- a/target/linux/qualcommax/patches-6.12/0901-regulator-add-Qualcomm-CPR-regulators.patch
+++ b/target/linux/qualcommax/patches-6.12/0901-regulator-add-Qualcomm-CPR-regulators.patch
@@ -25,7 +25,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
 
 --- a/drivers/regulator/Kconfig
 +++ b/drivers/regulator/Kconfig
-@@ -1663,4 +1663,37 @@ config REGULATOR_QCOM_LABIBB
+@@ -1720,4 +1720,37 @@ config REGULATOR_QCOM_LABIBB
  	  boost regulator and IBB can be used as a negative boost regulator
  	  for LCD display panel.
  
@@ -65,7 +65,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
  endif
 --- a/drivers/regulator/Makefile
 +++ b/drivers/regulator/Makefile
-@@ -116,6 +116,9 @@ obj-$(CONFIG_REGULATOR_QCOM_RPMH) += qco
+@@ -121,6 +121,9 @@ obj-$(CONFIG_REGULATOR_QCOM_RPMH) += qco
  obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o
  obj-$(CONFIG_REGULATOR_QCOM_SPMI) += qcom_spmi-regulator.o
  obj-$(CONFIG_REGULATOR_QCOM_USB_VBUS) += qcom_usb_vbus-regulator.o
diff --git a/target/linux/qualcommax/patches-6.12/0905-remoteproc-q6v5_wcss-change-ssr-name-for-ipq6018-wif.patch b/target/linux/qualcommax/patches-6.12/0905-remoteproc-q6v5_wcss-change-ssr-name-for-ipq6018-wif.patch
index db20d3f2c4..af7f45cc76 100644
--- a/target/linux/qualcommax/patches-6.12/0905-remoteproc-q6v5_wcss-change-ssr-name-for-ipq6018-wif.patch
+++ b/target/linux/qualcommax/patches-6.12/0905-remoteproc-q6v5_wcss-change-ssr-name-for-ipq6018-wif.patch
@@ -18,18 +18,19 @@ Signed-off-by: Mantas Pucka <mantas at 8devices.com>
 
 --- a/drivers/remoteproc/qcom_q6v5_wcss.c
 +++ b/drivers/remoteproc/qcom_q6v5_wcss.c
-@@ -1142,8 +1142,8 @@ static int q6v5_wcss_probe(struct platfo
+@@ -1143,9 +1143,9 @@ static int q6v5_wcss_probe(struct platfo
  	if (ret)
- 		goto free_rproc;
+ 		return ret;
  
 -	qcom_add_glink_subdev(rproc, &wcss->glink_subdev, "q6wcss");
--	qcom_add_ssr_subdev(rproc, &wcss->ssr_subdev, "q6wcss");
 +	qcom_add_glink_subdev(rproc, &wcss->glink_subdev, desc->ssr_name);
+ 	qcom_add_pdm_subdev(rproc, &wcss->pdm_subdev);
+-	qcom_add_ssr_subdev(rproc, &wcss->ssr_subdev, "q6wcss");
 +	qcom_add_ssr_subdev(rproc, &wcss->ssr_subdev, desc->ssr_name);
  
  	if (desc->ssctl_id)
  		wcss->sysmon = qcom_add_sysmon_subdev(rproc,
-@@ -1198,7 +1198,7 @@ static const struct wcss_data wcss_ipq60
+@@ -1195,7 +1195,7 @@ static const struct wcss_data wcss_ipq60
  	.aon_reset_required = true,
  	.wcss_q6_reset_required = true,
  	.bcr_reset_required = false,
diff --git a/target/linux/qualcommax/patches-6.12/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch b/target/linux/qualcommax/patches-6.12/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch
index 2f086c00b1..3ff649f2a4 100644
--- a/target/linux/qualcommax/patches-6.12/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch
+++ b/target/linux/qualcommax/patches-6.12/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch
@@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka <mantas at 8devices.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
-@@ -818,6 +818,102 @@
+@@ -834,6 +834,102 @@
  			};
  		};
  
diff --git a/target/linux/qualcommax/patches-6.12/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch b/target/linux/qualcommax/patches-6.12/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch
index 3fc8cbd120..02d8da6305 100644
--- a/target/linux/qualcommax/patches-6.12/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch
+++ b/target/linux/qualcommax/patches-6.12/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch
@@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka <mantas at 8devices.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
-@@ -1176,6 +1176,7 @@
+@@ -1186,6 +1186,7 @@
  
  		wcss_smp2p_out: master-kernel {
  			qcom,entry-name = "master-kernel";
@@ -25,7 +25,7 @@ Signed-off-by: Mantas Pucka <mantas at 8devices.com>
  
 --- a/drivers/soc/qcom/smp2p.c
 +++ b/drivers/soc/qcom/smp2p.c
-@@ -158,6 +158,8 @@ struct qcom_smp2p {
+@@ -159,6 +159,8 @@ struct qcom_smp2p {
  
  	struct list_head inbound;
  	struct list_head outbound;
@@ -33,8 +33,8 @@ Signed-off-by: Mantas Pucka <mantas at 8devices.com>
 +	bool need_ssr_ack;
  };
  
- static void qcom_smp2p_kick(struct qcom_smp2p *smp2p)
-@@ -306,7 +308,7 @@ static irqreturn_t qcom_smp2p_intr(int i
+ #define CREATE_TRACE_POINTS
+@@ -316,7 +318,7 @@ static irqreturn_t qcom_smp2p_intr(int i
  		ack_restart = qcom_smp2p_check_ssr(smp2p);
  		qcom_smp2p_notify_in(smp2p);
  
@@ -43,7 +43,7 @@ Signed-off-by: Mantas Pucka <mantas at 8devices.com>
  			qcom_smp2p_do_ssr_ack(smp2p);
  	}
  
-@@ -427,6 +429,7 @@ static int qcom_smp2p_outbound_entry(str
+@@ -447,6 +449,7 @@ static int qcom_smp2p_outbound_entry(str
  
  	/* Make the logical entry reference the physical value */
  	entry->value = &out->entries[out->valid_entries].value;
diff --git a/target/linux/qualcommax/patches-6.12/0908-remoteproc-qcom_q6v5_wcss-add-optional-qdss_at-clock.patch b/target/linux/qualcommax/patches-6.12/0908-remoteproc-qcom_q6v5_wcss-add-optional-qdss_at-clock.patch
index 309c424731..ae2e500125 100644
--- a/target/linux/qualcommax/patches-6.12/0908-remoteproc-qcom_q6v5_wcss-add-optional-qdss_at-clock.patch
+++ b/target/linux/qualcommax/patches-6.12/0908-remoteproc-qcom_q6v5_wcss-add-optional-qdss_at-clock.patch
@@ -21,7 +21,7 @@ Signed-off-by: Mantas Pucka <mantas at 8devices.com>
  	struct regulator *cx_supply;
  	struct qcom_sysmon *sysmon;
  
-@@ -259,6 +260,9 @@ static int q6v5_wcss_start(struct rproc
+@@ -260,6 +261,9 @@ static int q6v5_wcss_start(struct rproc
  		return ret;
  	}
  
@@ -31,7 +31,7 @@ Signed-off-by: Mantas Pucka <mantas at 8devices.com>
  	qcom_q6v5_prepare(&wcss->q6v5);
  
  	if (wcss->need_mem_protection) {
-@@ -772,6 +776,8 @@ static int q6v5_wcss_stop(struct rproc *
+@@ -773,6 +777,8 @@ static int q6v5_wcss_stop(struct rproc *
  	}
  
  pas_done:
@@ -40,7 +40,7 @@ Signed-off-by: Mantas Pucka <mantas at 8devices.com>
  	clk_disable_unprepare(wcss->prng_clk);
  	qcom_q6v5_unprepare(&wcss->q6v5);
  
-@@ -980,6 +986,12 @@ static int ipq_init_clock(struct q6v5_wc
+@@ -981,6 +987,12 @@ static int ipq_init_clock(struct q6v5_wc
  			dev_err(wcss->dev, "Failed to get prng clock\n");
  		return ret;
  	}
diff --git a/target/linux/qualcommax/patches-6.12/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch b/target/linux/qualcommax/patches-6.12/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch
index 73b9ef9677..4ef8f799ab 100644
--- a/target/linux/qualcommax/patches-6.12/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch
+++ b/target/linux/qualcommax/patches-6.12/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch
@@ -13,7 +13,7 @@ Signed-off-by: Mantas Pucka <mantas at 8devices.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
-@@ -939,8 +939,8 @@
+@@ -955,8 +955,8 @@
  				      "wcss_reset",
  				      "wcss_q6_reset";
  
diff --git a/target/linux/qualcommax/patches-6.12/0911-arm64-cmdline-replacement.patch b/target/linux/qualcommax/patches-6.12/0911-arm64-cmdline-replacement.patch
index afc71bf995..8e72f181a6 100644
--- a/target/linux/qualcommax/patches-6.12/0911-arm64-cmdline-replacement.patch
+++ b/target/linux/qualcommax/patches-6.12/0911-arm64-cmdline-replacement.patch
@@ -18,7 +18,7 @@ Signed-off-by: Qiyuan Zhang <zhang.github at outlook.com>
 
 --- a/drivers/of/fdt.c
 +++ b/drivers/of/fdt.c
-@@ -1158,6 +1158,14 @@ int __init early_init_dt_scan_chosen(cha
+@@ -1021,6 +1021,14 @@ int __init early_init_dt_scan_chosen(cha
  	const void *rng_seed;
  	const void *fdt = initial_boot_params;
  
@@ -33,7 +33,7 @@ Signed-off-by: Qiyuan Zhang <zhang.github at outlook.com>
  	node = fdt_path_offset(fdt, "/chosen");
  	if (node < 0)
  		node = fdt_path_offset(fdt, "/chosen at 0");
-@@ -1186,6 +1194,69 @@ int __init early_init_dt_scan_chosen(cha
+@@ -1049,6 +1057,69 @@ int __init early_init_dt_scan_chosen(cha
  	p = of_get_flat_dt_prop(node, "bootargs", &l);
  	if (p != NULL && l > 0)
  		strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE));




More information about the lede-commits mailing list