[openwrt/openwrt] ipq40xx: refresh 6.12 kernel patches

LEDE Commits lede-commits at lists.infradead.org
Sun Jul 20 06:38:45 PDT 2025


hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/230c6f44ab8f00f06b26d19ec8aa6bb7b46072f8

commit 230c6f44ab8f00f06b26d19ec8aa6bb7b46072f8
Author: Shiji Yang <yangshiji66 at outlook.com>
AuthorDate: Tue May 6 19:30:52 2025 +0800

    ipq40xx: refresh 6.12 kernel patches
    
    Remove upstreamed:
    004-v6.7-firmware-qcom_scm-disable-SDI-if-required.patch [1]
    709-ARM-dts-qcom-ipq4019-add-QCA8075-PHY-Package-nodes.patch [2]
    
    Manually rebased:
    422-firmware-qcom-scm-fix-SCM-cold-boot-address.patch
    701-net-dsa-add-out-of-band-tagging-protocol.patch
    850-soc-add-qualcomm-syscon.patch
    900-PCI-qcom-add-hack-compatible-for-ipq4019-Lantiq-DSL.patch
    910-Revert-firmware-qcom_scm-Clear-download-bit-during-r.patch
    
    [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=ff4aa3bc98258a240b9bbab53fd8d2fb8184c485
    [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=2338f4315f16b937e924ff679b91bb8c0ab53f25
    Signed-off-by: Shiji Yang <yangshiji66 at outlook.com>
    Link: https://github.com/openwrt/openwrt/pull/18725
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 ...firmware-qcom_scm-disable-SDI-if-required.patch | 83 ----------------------
 ...rmware-qcom-scm-fix-SCM-cold-boot-address.patch | 14 ++--
 ...qess-introduce-the-Qualcomm-IPQESS-driver.patch |  4 +-
 ...-net-dsa-add-out-of-band-tagging-protocol.patch | 36 +++++-----
 ...m-ipq4019-Add-description-for-the-IPQESS-.patch |  2 +-
 ...qca8k-add-IPQ4019-built-in-switch-support.patch |  4 +-
 .../707-arm-dts-ipq4019-add-switch-node.patch      |  2 +-
 ...com-ipq4019-add-QCA8075-PHY-Package-nodes.patch | 67 -----------------
 .../710-arm-dts-ipq4019-QCA807x-properties.patch   |  2 +-
 .../patches-6.12/850-soc-add-qualcomm-syscon.patch | 10 +--
 ...dd-hack-compatible-for-ipq4019-Lantiq-DSL.patch | 20 +++---
 ...ware-qcom_scm-Clear-download-bit-during-r.patch | 12 ++--
 12 files changed, 53 insertions(+), 203 deletions(-)

diff --git a/target/linux/ipq40xx/patches-6.12/004-v6.7-firmware-qcom_scm-disable-SDI-if-required.patch b/target/linux/ipq40xx/patches-6.12/004-v6.7-firmware-qcom_scm-disable-SDI-if-required.patch
deleted file mode 100644
index 747ba7f285..0000000000
--- a/target/linux/ipq40xx/patches-6.12/004-v6.7-firmware-qcom_scm-disable-SDI-if-required.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From ff4aa3bc98258a240b9bbab53fd8d2fb8184c485 Mon Sep 17 00:00:00 2001
-From: Robert Marko <robimarko at gmail.com>
-Date: Wed, 16 Aug 2023 18:45:39 +0200
-Subject: [PATCH] firmware: qcom_scm: disable SDI if required
-
-IPQ5018 has SDI (Secure Debug Image) enabled by TZ by default, and that
-means that WDT being asserted or just trying to reboot will hang the board
-in the debug mode and only pulling the power and repowering will help.
-Some IPQ4019 boards like Google WiFI have it enabled as well.
-
-Luckily, SDI can be disabled via an SCM call.
-
-So, lets use the boolean DT property to identify boards that have SDI
-enabled by default and use the SCM call to disable SDI during SCM probe.
-It is important to disable it as soon as possible as we might have a WDT
-assertion at any time which would then leave the board in debug mode,
-thus disabling it during SCM removal is not enough.
-
-Signed-off-by: Robert Marko <robimarko at gmail.com>
-Reviewed-by: Guru Das Srinagesh <quic_gurus at quicinc.com>
-Link: https://lore.kernel.org/r/20230816164641.3371878-2-robimarko@gmail.com
-Signed-off-by: Bjorn Andersson <andersson at kernel.org>
----
- drivers/firmware/qcom_scm.c | 30 ++++++++++++++++++++++++++++++
- drivers/firmware/qcom_scm.h |  1 +
- 2 files changed, 31 insertions(+)
-
---- a/drivers/firmware/qcom_scm.c
-+++ b/drivers/firmware/qcom_scm.c
-@@ -410,6 +410,29 @@ int qcom_scm_set_remote_state(u32 state,
- }
- EXPORT_SYMBOL_GPL(qcom_scm_set_remote_state);
- 
-+static int qcom_scm_disable_sdi(void)
-+{
-+	int ret;
-+	struct qcom_scm_desc desc = {
-+		.svc = QCOM_SCM_SVC_BOOT,
-+		.cmd = QCOM_SCM_BOOT_SDI_CONFIG,
-+		.args[0] = 1, /* Disable watchdog debug */
-+		.args[1] = 0, /* Disable SDI */
-+		.arginfo = QCOM_SCM_ARGS(2),
-+		.owner = ARM_SMCCC_OWNER_SIP,
-+	};
-+	struct qcom_scm_res res;
-+
-+	ret = qcom_scm_clk_enable();
-+	if (ret)
-+		return ret;
-+	ret = qcom_scm_call(__scm->dev, &desc, &res);
-+
-+	qcom_scm_clk_disable();
-+
-+	return ret ? : res.result[0];
-+}
-+
- static int __qcom_scm_set_dload_mode(struct device *dev, bool enable)
- {
- 	struct qcom_scm_desc desc = {
-@@ -1474,6 +1497,13 @@ static int qcom_scm_probe(struct platfor
- 
- 	__get_convention();
- 
-+
-+	/*
-+	 * Disable SDI if indicated by DT that it is enabled by default.
-+	 */
-+	if (of_property_read_bool(pdev->dev.of_node, "qcom,sdi-enabled"))
-+		qcom_scm_disable_sdi();
-+
- 	/*
- 	 * If requested enable "download mode", from this point on warmboot
- 	 * will cause the boot stages to enter download mode, unless
---- a/drivers/firmware/qcom_scm.h
-+++ b/drivers/firmware/qcom_scm.h
-@@ -80,6 +80,7 @@ extern int scm_legacy_call(struct device
- #define QCOM_SCM_SVC_BOOT		0x01
- #define QCOM_SCM_BOOT_SET_ADDR		0x01
- #define QCOM_SCM_BOOT_TERMINATE_PC	0x02
-+#define QCOM_SCM_BOOT_SDI_CONFIG	0x09
- #define QCOM_SCM_BOOT_SET_DLOAD_MODE	0x10
- #define QCOM_SCM_BOOT_SET_ADDR_MC	0x11
- #define QCOM_SCM_BOOT_SET_REMOTE_STATE	0x0a
diff --git a/target/linux/ipq40xx/patches-6.12/422-firmware-qcom-scm-fix-SCM-cold-boot-address.patch b/target/linux/ipq40xx/patches-6.12/422-firmware-qcom-scm-fix-SCM-cold-boot-address.patch
index 1c8cfb2981..b21d0729d6 100644
--- a/target/linux/ipq40xx/patches-6.12/422-firmware-qcom-scm-fix-SCM-cold-boot-address.patch
+++ b/target/linux/ipq40xx/patches-6.12/422-firmware-qcom-scm-fix-SCM-cold-boot-address.patch
@@ -11,12 +11,12 @@ This fixes SMP support for Google WiFi.
 
 Signed-off-by: Brian Norris <computersforpeace at gmail.com>
 ---
- drivers/firmware/qcom_scm-legacy.c | 62 +++++++++++++++++++++++++-----
- drivers/firmware/qcom_scm.c        | 11 ++++++
+ drivers/firmware/qcom/qcom_scm-legacy.c | 62 +++++++++++++++++++++++++-----
+ drivers/firmware/qcom/qcom_scm.c        | 11 ++++++
  2 files changed, 63 insertions(+), 10 deletions(-)
 
---- a/drivers/firmware/qcom_scm-legacy.c
-+++ b/drivers/firmware/qcom_scm-legacy.c
+--- a/drivers/firmware/qcom/qcom_scm-legacy.c
++++ b/drivers/firmware/qcom/qcom_scm-legacy.c
 @@ -13,6 +13,9 @@
  #include <linux/arm-smccc.h>
  #include <linux/dma-mapping.h>
@@ -116,9 +116,9 @@ Signed-off-by: Brian Norris <computersforpeace at gmail.com>
  	kfree(cmd);
  	return ret;
  }
---- a/drivers/firmware/qcom_scm.c
-+++ b/drivers/firmware/qcom_scm.c
-@@ -315,6 +315,17 @@ static int qcom_scm_set_boot_addr(void *
+--- a/drivers/firmware/qcom/qcom_scm.c
++++ b/drivers/firmware/qcom/qcom_scm.c
+@@ -391,6 +391,17 @@ static int qcom_scm_set_boot_addr(void *
  	desc.args[0] = flags;
  	desc.args[1] = virt_to_phys(entry);
  
diff --git a/target/linux/ipq40xx/patches-6.12/700-net-ipqess-introduce-the-Qualcomm-IPQESS-driver.patch b/target/linux/ipq40xx/patches-6.12/700-net-ipqess-introduce-the-Qualcomm-IPQESS-driver.patch
index 447e1898ff..337e440d91 100644
--- a/target/linux/ipq40xx/patches-6.12/700-net-ipqess-introduce-the-Qualcomm-IPQESS-driver.patch
+++ b/target/linux/ipq40xx/patches-6.12/700-net-ipqess-introduce-the-Qualcomm-IPQESS-driver.patch
@@ -32,7 +32,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
 
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -17718,6 +17718,13 @@ L:	netdev at vger.kernel.org
+@@ -19025,6 +19025,13 @@ L:	netdev at vger.kernel.org
  S:	Maintained
  F:	drivers/net/ethernet/qualcomm/emac/
  
@@ -45,7 +45,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
 +
  QUALCOMM ETHQOS ETHERNET DRIVER
  M:	Vinod Koul <vkoul at kernel.org>
- R:	Bhupesh Sharma <bhupesh.sharma at linaro.org>
+ L:	netdev at vger.kernel.org
 --- a/drivers/net/ethernet/qualcomm/Kconfig
 +++ b/drivers/net/ethernet/qualcomm/Kconfig
 @@ -61,6 +61,17 @@ config QCOM_EMAC
diff --git a/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch b/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch
index dc70104b1c..65229c9d0d 100644
--- a/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch
+++ b/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch
@@ -35,7 +35,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
 
 --- a/Documentation/networking/dsa/dsa.rst
 +++ b/Documentation/networking/dsa/dsa.rst
-@@ -66,7 +66,8 @@ Switch tagging protocols
+@@ -70,7 +70,8 @@ Switch tagging protocols
  ------------------------
  
  DSA supports many vendor-specific tagging protocols, one software-defined
@@ -45,9 +45,9 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
  
  The exact format of the tag protocol is vendor specific, but in general, they
  all contain something which:
-@@ -217,6 +218,16 @@ receive all frames regardless of the val
- setting the ``promisc_on_master`` property of the ``struct dsa_device_ops``.
- Note that this assumes a DSA-unaware master driver, which is the norm.
+@@ -221,6 +222,16 @@ receive all frames regardless of the val
+ setting the ``promisc_on_conduit`` property of the ``struct dsa_device_ops``.
+ Note that this assumes a DSA-unaware conduit driver, which is the norm.
  
 +Some SoCs have a tight integration between the conduit network interface and the
 +embedded switch, such that the DSA tag isn't transmitted in the packet data,
@@ -59,12 +59,12 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
 +top-most switch in the tree. The tagger (``DSA_TAG_PROTO_OOB``) uses skb
 +extensions to transmit the tag to and from the MAC driver.
 +
- Master network devices
- ----------------------
+ Conduit network devices
+ -----------------------
  
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -17724,6 +17724,7 @@ L:	netdev at vger.kernel.org
+@@ -19031,6 +19031,7 @@ L:	netdev at vger.kernel.org
  S:	Maintained
  F:	Documentation/devicetree/bindings/net/qcom,ipq4019-ess-edma.yaml
  F:	drivers/net/ethernet/qualcomm/ipqess/
@@ -93,7 +93,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
 +#endif
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -4683,6 +4683,9 @@ enum skb_ext_id {
+@@ -4769,6 +4769,9 @@ enum skb_ext_id {
  #if IS_ENABLED(CONFIG_MCTP_FLOWS)
  	SKB_EXT_MCTP,
  #endif
@@ -105,27 +105,27 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
  
 --- a/include/net/dsa.h
 +++ b/include/net/dsa.h
-@@ -56,6 +56,7 @@ struct phylink_link_state;
- #define DSA_TAG_PROTO_RTL8_4T_VALUE		25
- #define DSA_TAG_PROTO_RZN1_A5PSW_VALUE		26
+@@ -55,6 +55,7 @@ struct tc_action;
  #define DSA_TAG_PROTO_LAN937X_VALUE		27
-+#define DSA_TAG_PROTO_OOB_VALUE			28
+ #define DSA_TAG_PROTO_VSC73XX_8021Q_VALUE	28
+ #define DSA_TAG_PROTO_BRCM_LEGACY_FCS_VALUE	29
++#define DSA_TAG_PROTO_OOB_VALUE			30
  
  enum dsa_tag_protocol {
  	DSA_TAG_PROTO_NONE		= DSA_TAG_PROTO_NONE_VALUE,
-@@ -86,6 +87,7 @@ enum dsa_tag_protocol {
- 	DSA_TAG_PROTO_RTL8_4T		= DSA_TAG_PROTO_RTL8_4T_VALUE,
+@@ -87,6 +88,7 @@ enum dsa_tag_protocol {
  	DSA_TAG_PROTO_RZN1_A5PSW	= DSA_TAG_PROTO_RZN1_A5PSW_VALUE,
  	DSA_TAG_PROTO_LAN937X		= DSA_TAG_PROTO_LAN937X_VALUE,
+ 	DSA_TAG_PROTO_VSC73XX_8021Q	= DSA_TAG_PROTO_VSC73XX_8021Q_VALUE,
 +	DSA_TAG_PROTO_OOB		= DSA_TAG_PROTO_OOB_VALUE,
  };
  
  struct dsa_switch;
 --- a/net/core/skbuff.c
 +++ b/net/core/skbuff.c
-@@ -63,8 +63,12 @@
- #include <linux/mpls.h>
+@@ -65,8 +65,12 @@
  #include <linux/kcov.h>
+ #include <linux/iov_iter.h>
  #include <linux/if.h>
 +#ifdef CONFIG_NET_DSA_TAG_OOB
 +#include <linux/dsa/oob.h>
@@ -136,7 +136,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
  #include <net/dst.h>
  #include <net/sock.h>
  #include <net/checksum.h>
-@@ -4823,6 +4827,9 @@ static const u8 skb_ext_type_len[] = {
+@@ -5068,6 +5072,9 @@ static const u8 skb_ext_type_len[] = {
  #if IS_ENABLED(CONFIG_MCTP_FLOWS)
  	[SKB_EXT_MCTP] = SKB_EXT_CHUNKSIZEOF(struct mctp_flow),
  #endif
@@ -148,7 +148,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
  static __always_inline unsigned int skb_ext_total_length(void)
 --- a/net/dsa/Kconfig
 +++ b/net/dsa/Kconfig
-@@ -119,6 +119,15 @@ config NET_DSA_TAG_OCELOT_8021Q
+@@ -131,6 +131,15 @@ config NET_DSA_TAG_OCELOT_8021Q
  	  this mode, less TCAM resources (VCAP IS1, IS2, ES0) are available for
  	  use with tc-flower.
  
diff --git a/target/linux/ipq40xx/patches-6.12/705-ARM-dts-qcom-ipq4019-Add-description-for-the-IPQESS-.patch b/target/linux/ipq40xx/patches-6.12/705-ARM-dts-qcom-ipq4019-Add-description-for-the-IPQESS-.patch
index 6b66393d82..3fea0cce55 100644
--- a/target/linux/ipq40xx/patches-6.12/705-ARM-dts-qcom-ipq4019-Add-description-for-the-IPQESS-.patch
+++ b/target/linux/ipq40xx/patches-6.12/705-ARM-dts-qcom-ipq4019-Add-description-for-the-IPQESS-.patch
@@ -21,7 +21,7 @@ Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
 
 --- a/arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi
 +++ b/arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi
-@@ -596,6 +596,54 @@
+@@ -600,6 +600,54 @@
  			status = "disabled";
  		};
  
diff --git a/target/linux/ipq40xx/patches-6.12/706-net-dsa-qca8k-add-IPQ4019-built-in-switch-support.patch b/target/linux/ipq40xx/patches-6.12/706-net-dsa-qca8k-add-IPQ4019-built-in-switch-support.patch
index b2f42b9fd1..c1e46cb4ad 100644
--- a/target/linux/ipq40xx/patches-6.12/706-net-dsa-qca8k-add-IPQ4019-built-in-switch-support.patch
+++ b/target/linux/ipq40xx/patches-6.12/706-net-dsa-qca8k-add-IPQ4019-built-in-switch-support.patch
@@ -67,7 +67,7 @@ Signed-off-by: Robert Marko <robert.marko at sartura.hr>
  		mask = QCA8K_VTU_FUNC0_EG_MODE_PORT_NOT(i);
  
  		if ((reg & mask) != mask) {
-@@ -624,7 +624,7 @@ static int qca8k_update_port_member(stru
+@@ -623,7 +623,7 @@ static int qca8k_update_port_member(stru
  	u32 port_mask = BIT(dp->cpu_dp->index);
  	int i, ret;
  
@@ -1111,7 +1111,7 @@ Signed-off-by: Robert Marko <robert.marko at sartura.hr>
  enum {
  	QCA8K_PORT_SPEED_10M = 0,
  	QCA8K_PORT_SPEED_100M = 1,
-@@ -467,6 +519,10 @@ struct qca8k_priv {
+@@ -468,6 +520,10 @@ struct qca8k_priv {
  	struct qca8k_pcs pcs_port_6;
  	const struct qca8k_match_data *info;
  	struct qca8k_led ports_led[QCA8K_LED_COUNT];
diff --git a/target/linux/ipq40xx/patches-6.12/707-arm-dts-ipq4019-add-switch-node.patch b/target/linux/ipq40xx/patches-6.12/707-arm-dts-ipq4019-add-switch-node.patch
index 130cc52fbe..bd41ceac16 100644
--- a/target/linux/ipq40xx/patches-6.12/707-arm-dts-ipq4019-add-switch-node.patch
+++ b/target/linux/ipq40xx/patches-6.12/707-arm-dts-ipq4019-add-switch-node.patch
@@ -13,7 +13,7 @@ Signed-off-by: Robert Marko <robert.marko at sartura.hr>
 
 --- a/arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi
 +++ b/arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi
-@@ -596,6 +596,82 @@
+@@ -600,6 +600,82 @@
  			status = "disabled";
  		};
  
diff --git a/target/linux/ipq40xx/patches-6.12/709-ARM-dts-qcom-ipq4019-add-QCA8075-PHY-Package-nodes.patch b/target/linux/ipq40xx/patches-6.12/709-ARM-dts-qcom-ipq4019-add-QCA8075-PHY-Package-nodes.patch
deleted file mode 100644
index 50c8e64534..0000000000
--- a/target/linux/ipq40xx/patches-6.12/709-ARM-dts-qcom-ipq4019-add-QCA8075-PHY-Package-nodes.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 5ac078c8fe18f3e8318547b8ed0ed782730c5039 Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth at gmail.com>
-Date: Sat, 10 Feb 2024 22:28:27 +0100
-Subject: [PATCH] ARM: dts: qcom: ipq4019: add QCA8075 PHY Package nodes
-
-Add QCA8075 PHY Package nodes. The PHY nodes that were previously
-defined never worked and actually never had a driver to correctly setup
-these PHY. Now that we have a correct driver, correctly add the PHY
-Package node and set the default value of 300mw for tx driver strength
-following specification of ipq4019 SoC.
-
-Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
----
- arch/arm/boot/dts//qcom-ipq4019.dtsi | 35 +++++++++++++++---------
- 1 file changed, 22 insertions(+), 13 deletions(-)
-
---- a/arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi
-+++ b/arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi
-@@ -727,24 +727,33 @@
- 			reg = <0x90000 0x64>;
- 			status = "disabled";
- 
--			ethphy0: ethernet-phy at 0 {
-+			qca807x: ethernet-phy-package at 0 {
-+				#address-cells = <1>;
-+				#size-cells = <0>;
-+				compatible = "qcom,qca8075-package";
- 				reg = <0>;
--			};
--
--			ethphy1: ethernet-phy at 1 {
--				reg = <1>;
--			};
- 
--			ethphy2: ethernet-phy at 2 {
--				reg = <2>;
--			};
--
--			ethphy3: ethernet-phy at 3 {
--				reg = <3>;
--			};
-+				qcom,tx-drive-strength-milliwatt = <300>;
- 
--			ethphy4: ethernet-phy at 4 {
--				reg = <4>;
-+				ethphy0: ethernet-phy at 0 {
-+					reg = <0>;
-+				};
-+
-+				ethphy1: ethernet-phy at 1 {
-+					reg = <1>;
-+				};
-+
-+				ethphy2: ethernet-phy at 2 {
-+					reg = <2>;
-+				};
-+
-+				ethphy3: ethernet-phy at 3 {
-+					reg = <3>;
-+				};
-+
-+				ethphy4: ethernet-phy at 4 {
-+					reg = <4>;
-+				};
- 			};
- 		};
- 
diff --git a/target/linux/ipq40xx/patches-6.12/710-arm-dts-ipq4019-QCA807x-properties.patch b/target/linux/ipq40xx/patches-6.12/710-arm-dts-ipq4019-QCA807x-properties.patch
index 9f4c9fa67e..749313cc54 100644
--- a/target/linux/ipq40xx/patches-6.12/710-arm-dts-ipq4019-QCA807x-properties.patch
+++ b/target/linux/ipq40xx/patches-6.12/710-arm-dts-ipq4019-QCA807x-properties.patch
@@ -12,7 +12,7 @@ Signed-off-by: Robert Marko <robert.marko at sartura.hr>
 
 --- a/arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi
 +++ b/arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi
-@@ -754,6 +754,10 @@
+@@ -758,6 +758,10 @@
  				ethphy4: ethernet-phy at 4 {
  					reg = <4>;
  				};
diff --git a/target/linux/ipq40xx/patches-6.12/850-soc-add-qualcomm-syscon.patch b/target/linux/ipq40xx/patches-6.12/850-soc-add-qualcomm-syscon.patch
index 7cd473b24e..579a8cccfb 100644
--- a/target/linux/ipq40xx/patches-6.12/850-soc-add-qualcomm-syscon.patch
+++ b/target/linux/ipq40xx/patches-6.12/850-soc-add-qualcomm-syscon.patch
@@ -2,9 +2,9 @@ From: Christian Lamparter <chunkeey at googlemail.com>
 Subject: SoC: add qualcomm syscon
 --- a/drivers/soc/qcom/Kconfig
 +++ b/drivers/soc/qcom/Kconfig
-@@ -291,4 +291,11 @@ config QCOM_INLINE_CRYPTO_ENGINE
- 	tristate
- 	select QCOM_SCM
+@@ -295,4 +295,11 @@ config QCOM_PBS
+ 	  This module provides the APIs to the client drivers that wants to send the
+ 	  PBS trigger event to the PBS RAM.
  
 +config QCOM_TCSR
 +	tristate "QCOM Top Control and Status Registers"
@@ -16,10 +16,10 @@ Subject: SoC: add qualcomm syscon
  endmenu
 --- a/drivers/soc/qcom/Makefile
 +++ b/drivers/soc/qcom/Makefile
-@@ -32,3 +32,4 @@ obj-$(CONFIG_QCOM_KRYO_L2_ACCESSORS) +=
- obj-$(CONFIG_QCOM_ICC_BWMON)	+= icc-bwmon.o
+@@ -39,3 +39,4 @@ obj-$(CONFIG_QCOM_ICC_BWMON)	+= icc-bwmo
  qcom_ice-objs			+= ice.o
  obj-$(CONFIG_QCOM_INLINE_CRYPTO_ENGINE)	+= qcom_ice.o
+ obj-$(CONFIG_QCOM_PBS) +=	qcom-pbs.o
 +obj-$(CONFIG_QCOM_TCSR)		+= qcom_tcsr.o
 --- /dev/null
 +++ b/drivers/soc/qcom/qcom_tcsr.c
diff --git a/target/linux/ipq40xx/patches-6.12/900-PCI-qcom-add-hack-compatible-for-ipq4019-Lantiq-DSL.patch b/target/linux/ipq40xx/patches-6.12/900-PCI-qcom-add-hack-compatible-for-ipq4019-Lantiq-DSL.patch
index af10fd5704..e16bb6fa20 100644
--- a/target/linux/ipq40xx/patches-6.12/900-PCI-qcom-add-hack-compatible-for-ipq4019-Lantiq-DSL.patch
+++ b/target/linux/ipq40xx/patches-6.12/900-PCI-qcom-add-hack-compatible-for-ipq4019-Lantiq-DSL.patch
@@ -18,9 +18,9 @@ Signed-off-by: Florian Maurer <f.maurer at outlook.com>
 
 --- a/drivers/pci/controller/dwc/pcie-qcom.c
 +++ b/drivers/pci/controller/dwc/pcie-qcom.c
-@@ -184,11 +184,24 @@ struct qcom_pcie_resources_2_3_3 {
+@@ -207,11 +207,24 @@ struct qcom_pcie_resources_2_3_3 {
+ };
  
- #define QCOM_PCIE_2_4_0_MAX_CLOCKS		4
  #define QCOM_PCIE_2_4_0_MAX_RESETS		12
 +/*
 + * This value is the manufacturer ID of Lantiq. The address where
@@ -34,7 +34,7 @@ Signed-off-by: Florian Maurer <f.maurer at outlook.com>
 +#define QCOM_PCIE_2_4_0_GRX500_VENDOR_ID	0x1bef
 +#define QCOM_PCIE_2_4_0_GRX500_DEVICE_ID	0x0030
  struct qcom_pcie_resources_2_4_0 {
- 	struct clk_bulk_data clks[QCOM_PCIE_2_4_0_MAX_CLOCKS];
+ 	struct clk_bulk_data *clks;
  	int num_clks;
  	struct reset_control_bulk_data resets[QCOM_PCIE_2_4_0_MAX_RESETS];
  	int num_resets;
@@ -42,8 +42,8 @@ Signed-off-by: Florian Maurer <f.maurer at outlook.com>
 +	dma_addr_t lantiq_hack_phys;
  };
  
- #define QCOM_PCIE_2_7_0_MAX_CLOCKS		15
-@@ -629,12 +642,65 @@ static int qcom_pcie_post_init_2_3_2(str
+ #define QCOM_PCIE_2_7_0_MAX_SUPPLIES		2
+@@ -711,12 +724,65 @@ static int qcom_pcie_post_init_2_3_2(str
  	return 0;
  }
  
@@ -109,8 +109,8 @@ Signed-off-by: Florian Maurer <f.maurer at outlook.com>
 +		      of_device_is_compatible(dev->of_node, "qcom,pcie-ipq4019-lantiq-hack");
  	int ret;
  
- 	res->clks[0].id = "aux";
-@@ -679,6 +745,17 @@ static void qcom_pcie_deinit_2_4_0(struc
+ 	res->num_clks = devm_clk_bulk_get_all(dev, &res->clks);
+@@ -755,6 +821,17 @@ static void qcom_pcie_deinit_2_4_0(struc
  	clk_bulk_disable_unprepare(res->num_clks, res->clks);
  }
  
@@ -128,7 +128,7 @@ Signed-off-by: Florian Maurer <f.maurer at outlook.com>
  static int qcom_pcie_init_2_4_0(struct qcom_pcie *pcie)
  {
  	struct qcom_pcie_resources_2_4_0 *res = &pcie->res.v2_4_0;
-@@ -1292,6 +1369,16 @@ static const struct qcom_pcie_ops ops_2_
+@@ -1336,6 +1413,16 @@ static const struct qcom_pcie_ops ops_2_
  	.ltssm_enable = qcom_pcie_2_3_2_ltssm_enable,
  };
  
@@ -145,7 +145,7 @@ Signed-off-by: Florian Maurer <f.maurer at outlook.com>
  /* Qcom IP rev.: 2.3.3	Synopsys IP rev.: 4.30a */
  static const struct qcom_pcie_ops ops_2_3_3 = {
  	.get_resources = qcom_pcie_get_resources_2_3_3,
-@@ -1354,6 +1441,10 @@ static const struct qcom_pcie_cfg cfg_2_
+@@ -1403,6 +1490,10 @@ static const struct qcom_pcie_cfg cfg_2_
  	.ops = &ops_2_4_0,
  };
  
@@ -156,7 +156,7 @@ Signed-off-by: Florian Maurer <f.maurer at outlook.com>
  static const struct qcom_pcie_cfg cfg_2_7_0 = {
  	.ops = &ops_2_7_0,
  };
-@@ -1641,6 +1732,7 @@ static const struct of_device_id qcom_pc
+@@ -1827,6 +1918,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/ipq40xx/patches-6.12/910-Revert-firmware-qcom_scm-Clear-download-bit-during-r.patch b/target/linux/ipq40xx/patches-6.12/910-Revert-firmware-qcom_scm-Clear-download-bit-during-r.patch
index ab56c24a4d..8a7b193e99 100644
--- a/target/linux/ipq40xx/patches-6.12/910-Revert-firmware-qcom_scm-Clear-download-bit-during-r.patch
+++ b/target/linux/ipq40xx/patches-6.12/910-Revert-firmware-qcom_scm-Clear-download-bit-during-r.patch
@@ -10,18 +10,18 @@ is found.
 
 Signed-off-by: Robert Marko <robimarko at gmail.com>
 ---
- drivers/firmware/qcom_scm.c | 3 ++-
+ drivers/firmware/qcom/qcom_scm.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
---- a/drivers/firmware/qcom_scm.c
-+++ b/drivers/firmware/qcom_scm.c
-@@ -1529,7 +1529,8 @@ static int qcom_scm_probe(struct platfor
+--- a/drivers/firmware/qcom/qcom_scm.c
++++ b/drivers/firmware/qcom/qcom_scm.c
+@@ -2095,7 +2095,8 @@ err:
  static void qcom_scm_shutdown(struct platform_device *pdev)
  {
  	/* Clean shutdown, disable download mode to allow normal restart */
--	qcom_scm_set_download_mode(false);
+-	qcom_scm_set_download_mode(QCOM_DLOAD_NODUMP);
 +	if (download_mode)
-+		qcom_scm_set_download_mode(false);
++		qcom_scm_set_download_mode(QCOM_DLOAD_NODUMP);
  }
  
  static const struct of_device_id qcom_scm_dt_match[] = {




More information about the lede-commits mailing list