]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
qualcommax: 6.12: refresh patches
authorRobert Marko <robimarko@gmail.com>
Fri, 9 May 2025 11:20:19 +0000 (13:20 +0200)
committerRobert Marko <robimarko@gmail.com>
Fri, 16 May 2025 15:57:40 +0000 (17:57 +0200)
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@gmail.com>
57 files changed:
target/linux/qualcommax/patches-6.12/0036-v6.13-arm64-dts-qcom-ipq-change-labels-to-lower-case.patch
target/linux/qualcommax/patches-6.12/0039-v6.16-arm64-dts-qcom-ipq6018-move-mp5496-regulator-out-of-.patch
target/linux/qualcommax/patches-6.12/0048-v6.16-PCI-qcom-Add-support-for-IPQ5018.patch
target/linux/qualcommax/patches-6.12/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch
target/linux/qualcommax/patches-6.12/0112-remoteproc-qcom-Add-PRNG-proxy-clock.patch
target/linux/qualcommax/patches-6.12/0113-remoteproc-qcom-Add-secure-PIL-support.patch
target/linux/qualcommax/patches-6.12/0114-remoteproc-qcom-Add-support-for-split-q6-m3-wlan-fir.patch
target/linux/qualcommax/patches-6.12/0115-remoteproc-qcom-Add-ssr-subdevice-identifier.patch
target/linux/qualcommax/patches-6.12/0116-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch
target/linux/qualcommax/patches-6.12/0119-remoteproc-wcss-disable-auto-boot-for-IPQ8074.patch
target/linux/qualcommax/patches-6.12/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch
target/linux/qualcommax/patches-6.12/0121-arm64-dts-ipq8074-Add-WLAN-node.patch
target/linux/qualcommax/patches-6.12/0129-arm64-dts-qcom-ipq8074-add-QFPROM-fuses.patch
target/linux/qualcommax/patches-6.12/0136-remoteproc-qcom-wcss-populate-driver-data-for-IPQ601.patch
target/linux/qualcommax/patches-6.12/0138-arm64-dts-qcom-ipq6018-add-pwm-node.patch
target/linux/qualcommax/patches-6.12/0141-pwm-driver-for-qualcomm-ipq6018-pwm-block.patch
target/linux/qualcommax/patches-6.12/0142-dt-bindings-mfd-qcom-tcsr-Add-simple-mfd-support-for-IPQ6018.patch [deleted file]
target/linux/qualcommax/patches-6.12/0150-dt-bindings-nvmem-add-IPQ5018-compatible.patch
target/linux/qualcommax/patches-6.12/0151-dt-bindings-thermal-qcom-tsens-Add-ipq5018-compatible.patch
target/linux/qualcommax/patches-6.12/0152-thermal-qcom-add-new-feat-for-soc-without-rpm.patch
target/linux/qualcommax/patches-6.12/0153-thermal-qcom-tsens-add-support-for-IPQ5018-tsens.patch
target/linux/qualcommax/patches-6.12/0154-dts-qcom-IPQ5018-add-tsens-node.patch
target/linux/qualcommax/patches-6.12/0162-arm64-dts-qcom-ipq5018-Add-PCIe-related-nodes.patch
target/linux/qualcommax/patches-6.12/0301-dt-bindings-mfd-qcom-tcsr-add-IPQ5018-compatible.patch [deleted file]
target/linux/qualcommax/patches-6.12/0302-arm64-dts-qcom-IPQ5018-add-TCSR-node.patch
target/linux/qualcommax/patches-6.12/0303-arm64-dts-qcom-IPQ5018-enable-the-download-mode-support.patch
target/linux/qualcommax/patches-6.12/0306-arm64-dts-qcom-ipq5018-Add-PWM-node.patch
target/linux/qualcommax/patches-6.12/0324-arm64-dts-qcom-ipq5018-Add-crypto-nodes.patch
target/linux/qualcommax/patches-6.12/0337-arm64-dts-qcom-ipq5018-Add-PRNG-node.patch
target/linux/qualcommax/patches-6.12/0339-arm64-dts-qcom-ipq5018-Add-QUP1-UART2-node.patch
target/linux/qualcommax/patches-6.12/0340-arm64-dts-qcom-ipq5018-Add-QUP3-I2C-node.patch
target/linux/qualcommax/patches-6.12/0421-arm64-dts-qcom-ipq5018-Add-SPI-nand-node.patch
target/linux/qualcommax/patches-6.12/0702-clk-qcom-Add-CMN-PLL-clock-controller-driver-for-IPQ.patch
target/linux/qualcommax/patches-6.12/0703-clk-qcom-cmn-pll-add-IPQ5018-support.patch
target/linux/qualcommax/patches-6.12/0704-arm64-dts-qcom-ipq5018-Add-ethernet-cmn-node.patch
target/linux/qualcommax/patches-6.12/0712-arm64-dts-qcom-ipq5018-add-mdio-node.patch
target/linux/qualcommax/patches-6.12/0713-arm64-dts-qcom-ipq5018-add-ge_phy-node.patch
target/linux/qualcommax/patches-6.12/0721-clk-gcc-ipq5018-remove-the-unsupported-clk-combinati.patch
target/linux/qualcommax/patches-6.12/0722-clk-gcc-ipq5018-refer-to-ge-phy-rx-and-tx-clk-providers-by-name.patch
target/linux/qualcommax/patches-6.12/0751-net-dsa-qca8k-always-enable-SGMII-auto-negotiation.patch
target/linux/qualcommax/patches-6.12/0752-net-dsa-qca8k-support-PHY-to-PHY-CPU-link.patch
target/linux/qualcommax/patches-6.12/0802-firmware-qcom_scm-ipq5332-add-support-to-pass-metada.patch
target/linux/qualcommax/patches-6.12/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch
target/linux/qualcommax/patches-6.12/0805-remoteproc-qcom-Add-Hexagon-based-multipd-rproc-driv.patch
target/linux/qualcommax/patches-6.12/0811-firmware-qcom_scm-support-MPD.patch
target/linux/qualcommax/patches-6.12/0812-soc-qcom-mdt_loader-support-MPD.patch
target/linux/qualcommax/patches-6.12/0816-arm64-dts-qcom-ipq5018-add-wifi-support.patch
target/linux/qualcommax/patches-6.12/0817-arm64-dts-qcom-ipq5018-add-tz_apps-reserved-memory-region.patch
target/linux/qualcommax/patches-6.12/0820-dt-bindings-net-wireless-ath11k-add-bindings-for-QCN6122.patch
target/linux/qualcommax/patches-6.12/0900-power-Add-Qualcomm-APM.patch
target/linux/qualcommax/patches-6.12/0901-regulator-add-Qualcomm-CPR-regulators.patch
target/linux/qualcommax/patches-6.12/0905-remoteproc-q6v5_wcss-change-ssr-name-for-ipq6018-wif.patch
target/linux/qualcommax/patches-6.12/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch
target/linux/qualcommax/patches-6.12/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch
target/linux/qualcommax/patches-6.12/0908-remoteproc-qcom_q6v5_wcss-add-optional-qdss_at-clock.patch
target/linux/qualcommax/patches-6.12/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch
target/linux/qualcommax/patches-6.12/0911-arm64-cmdline-replacement.patch

index 6a1c93b8694686b3e064ff72e047bfb8e62fc84a..8ecbd4a20e43bf5ef9fd97ed65d6deb2493c7eeb 100644 (file)
@@ -54,7 +54,7 @@ Signed-off-by: Bjorn Andersson <andersson@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@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@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@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@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@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@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@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@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@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@kernel.org>
                                };
                        };
                };
-@@ -935,10 +935,10 @@
+@@ -947,10 +947,10 @@
                        cooling-maps {
                                map0 {
                                        trip = <&cpu3_alert>;
index 505a027c2e1c3a47637f154f59361746f10ad799..da39ae54c12f2e064df2a56edc1bf0f27250bec8 100644 (file)
@@ -103,7 +103,7 @@ Signed-off-by: Bjorn Andersson <andersson@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 {
index e9873eaf813e441305255781e5d9332f48ae5285..70e681475f7f67a5db699180036a0e999928e1bb 100644 (file)
@@ -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 },
index 7c3dffe9206222c660952a7a95712ab6e7d9cc0e..a12dc44206135d2e0e1efb92b24c3e7308c63ce2 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Robert Marko <robimarko@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@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@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 */
  
index d3664f293d197c8603127b07c8b2db145c3fd99a..ac46f9e79be1910b49e233d930b10fafb1f70fde 100644 (file)
@@ -43,7 +43,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@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@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@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@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@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@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@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 = {
index ef2a35bbd2ac707b0f0f56bcd0135bdbb6ce4cfc..fc35733fa25844d8be2bf595af4893a7ecda72da 100644 (file)
@@ -39,8 +39,8 @@ Signed-off-by: Nikhil Prakash V <nprakash@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@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@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@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@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@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@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@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,
index f7e576cf8efb1d126c12e8a54f90614896c80f79..be793d65865e5a798388975a907c7846572a344d 100644 (file)
@@ -24,8 +24,8 @@ Signed-off-by: Nikhil Prakash V <nprakash@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@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@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@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@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,
index 7a07b561e494f49c1847da209510d0984f3bea35..5d6a573c9110f98475355511930847b4984bec7b 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@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,
index 7ef6884e45655c87687555f25a4fc65362c3799e..7989dfa5c95669d3f7452331c35d5dcfb205dd70 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Sricharan R <sricharan@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@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@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@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@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,
index ecd87ac7a84fb745ef21058ca29af7f48c8debdc..ccb78dec035d0d7e2a150a7446bec0522b9abf8a 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Robert Marko <robimarko@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@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@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,
index 01a513de14db63d2b0fe51605e499a73f09e227c..ea723f5912a61d3e441e5282f7ef32ee1d4ecc4e 100644 (file)
@@ -49,7 +49,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
        soc: soc@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@gmail.com>
                spmi_bus: spmi@200f000 {
                        compatible = "qcom,spmi-pmic-arb";
                        reg = <0x0200f000 0x001000>,
-@@ -987,6 +1018,56 @@
+@@ -994,6 +1025,56 @@
                                ranges;
                        };
                };
index 35f970dc2a9e69c3783b119f87c39f32e3015576..dcab3294c7f5797a71e5a4847dcb499578253b44 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Robert Marko <robimarko@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 @@
                                };
                        };
                };
index 1e98c9a46726c51d49cce2a966e08834bd76b2e5..a9ac0293b19b15dd51d11073e968d9e66d19384a 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Robert Marko <robimarko@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>;
index eaf6e37275d79aa075cef6c434412c81c4c69160..b1175d48e10fcf44b54bdd9fece83f1ae8ca1b9a 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Gokul Sriram Palanisamy <gokulsri@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@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@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@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 },
index 71061ba4f90003b2b5fecc4c5cd6cb6ed759f6c2..006818abe0db001927f1511268d1c5804827b281 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Devi Priya <quic_devipriy@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@1937000 {
index bf373c57483424358db268efee360dfb1e446d54..e6d78a05223f5c692219069c552f559cfe570c00 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Devi Priya <quic_devipriy@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@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 (file)
index 1714fc4..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-From: Devi Priya <quic_devipriy@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@linaro.org>
-Signed-off-by: Devi Priya <quic_devipriy@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@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@1937000 {
-+        compatible = "qcom,tcsr-ipq6018", "syscon", "simple-mfd";
-+        reg = <0x01937000 0x21000>;
-+        ranges = <0 0x1937000 0x21000>;
-+        #address-cells = <1>;
-+        #size-cells = <1>;
-+
-+        pwm: pwm@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
index c31b2ba4976474bda57fe1f756fe6bf07929edc7..5d39c875b3b057d391364f7066ce20ebc50cc5ff 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@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
index 36ab4abbdf2e9c38f06413802b05b10c15370df4..cab8606dcdf555999f1e00a8fb705a9a9a50c564 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
                - qcom,msm8956-tsens
                - qcom,msm8976-tsens
                - qcom,qcs404-tsens
-@@ -232,6 +233,7 @@ allOf:
+@@ -234,6 +235,7 @@ allOf:
          compatible:
            contains:
              enum:
index c8f393e2b676ce0ac1c520398715ee18c29acf4f..74a6660146e0eb6c7a7b8f1420568b5119b42fd3 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@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;
index 0de11daf72e3ecdb2aa1312c462edf79bd386086..fb04ac17c27ee08d12e4348472f5a86a9677c59f 100644 (file)
@@ -95,7 +95,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@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@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 */
index 4f9b8abfa53b00e6b98ecb7ecbf3794c0c55e41c..0823fb75daa56bc940566e6a5398ee896e77fdcf 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@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@quicinc.com>
                tlmm: pinctrl@1000000 {
                        compatible = "qcom,ipq5018-tlmm";
                        reg = <0x01000000 0x300000>;
-@@ -391,6 +502,64 @@
+@@ -388,6 +499,64 @@
                        };
                };
        };
index 448cb9cc54bb8b3d35ca9e2406dd9e581577ab62..9ef5e111fdf1a79b8aff8024e12753729b2350e8 100644 (file)
@@ -109,7 +109,7 @@ Signed-off-by: George Moussalem <george.moussalem@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@outlook.com>
                tlmm: pinctrl@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@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 (file)
index 2faaa1d..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-From: George Moussalem <george.moussalem@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@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
index 81c706f966a1131c96b4feac00a37e0c307f9325..7b3902d7b7218b909a665da1164c8ad16646682f 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@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>;
                };
  
index 265695d1c4e5cbd1b8ce515303e29175d870a147..b4ce71418ba45a7fb4ee378a0f9968cfc1a501c0 100644 (file)
@@ -9,7 +9,7 @@ Signed-off-by: George Moussalem <george.moussalem@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;
index b72f45ed3f097f9e9351dafffdc3ce7bb663245a..b97aa11ebcaf6897c3c8689c4b1ae13ceaad501d 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@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>;
                };
  
index bd48a87815fd6967ec486cc41810fcc9fc09810c..89a2ebd15a81bc41e19771c60e5e2488e0fd2ca0 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@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";
                };
  
index cbfa401e061328eca3625a23fd3ebbd6f5448e76..9666bb8f31062d43d7628c7d8310c57899942a0d 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@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 @@
                        };
                };
  
index de1df4579ba283833150ea8d889a4dc08a0e4be9..c875690b58c8b7d56d246474e24c4b6775ac98c3 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@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";
                };
  
index c8802806f5562865891c73ad3290c985f7918f48..70ddcc7147f755f8063dfab7f8d3cd847db6d703 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@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";
                };
  
index cc6df41db56cd27022a495510dde738a64225ca8..516b46743bf50a23ef616262338117324516b7dc 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: George Moussalem <george.moussalem@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";
                };
  
index afccffa67e66bd92c37cd38aa283c59110a95a6b..a9587b5796ed0a8c68d3633575386cbffbd1a8b4 100644 (file)
@@ -29,7 +29,7 @@ Signed-off-by: Luo Jie <quic_luoj@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@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
index 9d0d52b8eb5e481bbe2a8952a9d15efe7869aded..75b37df9aa9e709f8c4f23ed0f361725b59e2900 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: George Moussalem <george.moussalem@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"
index 6a0e2efdf83c06480c6acf8b02e0c0f5fa6185d8..3d00def55f4537ff6668406816d69d053dbddaa2 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
                sleep_clk: sleep-clk {
                        compatible = "fixed-clock";
                        #clock-cells = <0>;
-@@ -150,6 +156,19 @@
+@@ -148,6 +154,19 @@
                        status = "disabled";
                };
  
index 2d056b9f3c7484cd8f2fdf1a82869d43c1e16d4f..b326765e6ce056b642ef63a03b219fee9a99f4f4 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: George Moussalem <george.moussalem@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";
                };
  
index 916bdc486431ee72fcd72a09ab31a132656512ec..6d2751c06d50960fb415c65c9612971621f8c7cb 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: George Moussalem <george.moussalem@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@outlook.com>
                };
  
                mdio1: mdio@90000 {
-@@ -396,8 +411,8 @@
+@@ -394,8 +409,8 @@
                                 <&pcie0_phy>,
                                 <&pcie1_phy>,
                                 <0>,
index 0a22289d39ae2757bfa74e0835c2998237c3ae04..c6225f62b3ee1e6cceb08371dd776ee27d237875 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: George Moussalem <george.moussalem@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@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),
index 6cd1a2a16b068c9c7c452065ba0031d0918d5fba..1610a24b1fb6fc31dd5d01e7654dc92eb275d3d4 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: George Moussalem <george.moussalem@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@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@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@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 },
index bccac8a4eb962668428a0446360b9b2188ea6b07..48f35508ac4a4af7f13dd8a7c6951f922a94d16a 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Ziyang Huang <hzyitc@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;
        }
  
index e664a717a3837180919acb4fa42cf5f63cbe5772..fbda2eb48848d991ddcfe4f9575eaa198c2d87af 100644 (file)
@@ -14,8 +14,8 @@ Signed-off-by: Ziyang Huang <hzyitc@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@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)
  {
index 677c61f7ac6799369e887bd21116eff361407cd0..c12e60f3d449cff08146b30124edce8b2b057773 100644 (file)
@@ -10,13 +10,13 @@ size as well.
 
 Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@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@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
index 06c6b0475659f51269d29fa96f27f697de8b5bfd..0d62ece6763e3cfa32b3656241d905323e987af6 100644 (file)
@@ -10,14 +10,25 @@ support to lock/unlock MSA features.
 
 Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@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@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@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);
index 97130b59e40913d306cb3f9e9cfdac3ebcd814d3..cf3e1051d0b0a7559d6f55c3189653b06a1bc025 100644 (file)
@@ -58,7 +58,7 @@ Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@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).
  
index afcc15e69f1290b499a1646b18717211f5e66c90..d2150ef5fbad378c863d23968f11ae99f275b1f0 100644 (file)
@@ -9,14 +9,26 @@ load PIL segments to support the MPD architecture.
 Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
 Signed-off-by: George Moussalem <george.moussalem@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@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@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);
index 935a9438585614ccea1f7362580f1b0d0f98d32e..7d670f5ff978a8af3c9841ad6cbb6268807f919e 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: George Moussalem <george.moussalem@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@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@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@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@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@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@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@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,
index d15868892838a99b607b779054a31df3a2581572..a8cd54a938c288a0db9a203a4e5d350d5baa841d 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: George Moussalem <george.moussalem@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 @@
                        };
                };
  
index 03a9c1c98121d5ff616d659624f704af827cedc1..1bb2cf49c190981d895b3bd9df70388e01e8a6a7 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: George Moussalem <george.moussalem@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;
  
index d9eaf582c788db6c23edcbf86e0edbf6f8300373..2980acb74119687d966e6d4ae391b4b878a1c878 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: George Moussalem <george.moussalem@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@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
index f1053515844ada1ba16ffd8a0b9e6f6023a06588..0b573dfdd9d781b01fee7ce3ffd895ab13d85672 100644 (file)
@@ -21,16 +21,16 @@ Signed-off-by: Robert Marko <robimarko@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
index 46d4fc246fbdc16ac7d55a69887205273e951e23..0118018597ba13aededf7cbc3e220c7a76c1ff96 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Robert Marko <robimarko@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@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
index db20d3f2c446f2f60034bf48a39b4d4fdb3342f4..af7f45cc76309ec0c3a292fd202f50d842c811bb 100644 (file)
@@ -18,18 +18,19 @@ Signed-off-by: Mantas Pucka <mantas@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,
index 2f086c00b1098b3cfa05a1ab1da240835fae34e6..3ff649f2a4a883bcbcdbbac00fea44bb6571c5d2 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka <mantas@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 @@
                        };
                };
  
index 3fc8cbd1204989074585023054c7848e884043f4..02d8da6305d1e8e5353e3c5e20409dfee423b60c 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka <mantas@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@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@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@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;
index 309c4247316ac64b81f9287f6d0b474cb49d2288..ae2e500125beb84970fb5b9fe4238ecea2e25871 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Mantas Pucka <mantas@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@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@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;
        }
index 73b9ef9677e463ed4aa325d75123042a30cdc1b2..4ef8f799ab62910bded4b9f4a3d560ab28f47b53 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Mantas Pucka <mantas@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";
  
index afc71bf995582b37495aeffb893690f765fd1587..8e72f181a653792260df958b1190400b2e900692 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Qiyuan Zhang <zhang.github@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@outlook.com>
        node = fdt_path_offset(fdt, "/chosen");
        if (node < 0)
                node = fdt_path_offset(fdt, "/chosen@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));