From 2c2808a71a93e412084be8da693fe00f873d33c1 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 12 May 2025 19:57:41 +0200 Subject: [PATCH] qualcommax: ipq807x, ipq60xx: backport DTS PCIe bridge node Currently, we manually define PCI bridge nodes in devices that use PCI cards, etc. But since we will need to rework this for 6.12 anyway since upstream added the PCIe bridge nodes[1][2] lets backport it now. [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/qcom/ipq8074.dtsi?h=v6.12.28&id=ed3893f6f9b800ca774f63810c5f8838bc7cee78 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/qcom/ipq6018.dtsi?h=v6.12.28&id=52358c64937e982d3cdcf64be58f08f30d8e518c Link: https://github.com/openwrt/openwrt/pull/18789 Signed-off-by: Robert Marko --- ...ts-qcom-ipq8074-Add-PCIe-bridge-node.patch | 52 +++++++++++++++++++ ...ts-qcom-ipq6018-Add-PCIe-bridge-node.patch | 35 +++++++++++++ ...qcom-ipq8074-use-msi-parent-for-PCIe.patch | 2 +- ...com-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch | 6 +-- ...0121-arm64-dts-ipq8074-Add-WLAN-node.patch | 2 +- ...07-soc-qcom-fix-smp2p-ack-on-ipq6018.patch | 2 +- 6 files changed, 93 insertions(+), 6 deletions(-) create mode 100644 target/linux/qualcommax/patches-6.6/0049-v6.10-arm64-dts-qcom-ipq8074-Add-PCIe-bridge-node.patch create mode 100644 target/linux/qualcommax/patches-6.6/0050-v6.10-arm64-dts-qcom-ipq6018-Add-PCIe-bridge-node.patch diff --git a/target/linux/qualcommax/patches-6.6/0049-v6.10-arm64-dts-qcom-ipq8074-Add-PCIe-bridge-node.patch b/target/linux/qualcommax/patches-6.6/0049-v6.10-arm64-dts-qcom-ipq8074-Add-PCIe-bridge-node.patch new file mode 100644 index 00000000000..8a272785778 --- /dev/null +++ b/target/linux/qualcommax/patches-6.6/0049-v6.10-arm64-dts-qcom-ipq8074-Add-PCIe-bridge-node.patch @@ -0,0 +1,52 @@ +From ed3893f6f9b800ca774f63810c5f8838bc7cee78 Mon Sep 17 00:00:00 2001 +From: Manivannan Sadhasivam +Date: Thu, 21 Mar 2024 16:46:35 +0530 +Subject: [PATCH] arm64: dts: qcom: ipq8074: Add PCIe bridge node + +On Qcom SoCs, the PCIe host bridge is connected to a single PCIe bridge +for each controller instance. Hence, add a node to represent the bridge. + +Signed-off-by: Manivannan Sadhasivam +Reviewed-by: Konrad Dybcio +Link: https://lore.kernel.org/r/20240321-pcie-qcom-bridge-dts-v2-15-1eb790c53e43@linaro.org +Signed-off-by: Bjorn Andersson +--- + arch/arm64/boot/dts/qcom/ipq8074.dtsi | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi ++++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +@@ -878,6 +878,16 @@ + "ahb", + "axi_m_sticky"; + status = "disabled"; ++ ++ pcie@0 { ++ device_type = "pci"; ++ reg = <0x0 0x0 0x0 0x0 0x0>; ++ bus-range = <0x01 0xff>; ++ ++ #address-cells = <3>; ++ #size-cells = <2>; ++ ranges; ++ }; + }; + + pcie0: pci@20000000 { +@@ -943,6 +953,16 @@ + "axi_m_sticky", + "axi_s_sticky"; + status = "disabled"; ++ ++ pcie@0 { ++ device_type = "pci"; ++ reg = <0x0 0x0 0x0 0x0 0x0>; ++ bus-range = <0x01 0xff>; ++ ++ #address-cells = <3>; ++ #size-cells = <2>; ++ ranges; ++ }; + }; + }; + diff --git a/target/linux/qualcommax/patches-6.6/0050-v6.10-arm64-dts-qcom-ipq6018-Add-PCIe-bridge-node.patch b/target/linux/qualcommax/patches-6.6/0050-v6.10-arm64-dts-qcom-ipq6018-Add-PCIe-bridge-node.patch new file mode 100644 index 00000000000..e831cd437a0 --- /dev/null +++ b/target/linux/qualcommax/patches-6.6/0050-v6.10-arm64-dts-qcom-ipq6018-Add-PCIe-bridge-node.patch @@ -0,0 +1,35 @@ +From 52358c64937e982d3cdcf64be58f08f30d8e518c Mon Sep 17 00:00:00 2001 +From: Manivannan Sadhasivam +Date: Thu, 21 Mar 2024 16:46:36 +0530 +Subject: [PATCH] arm64: dts: qcom: ipq6018: Add PCIe bridge node + +On Qcom SoCs, the PCIe host bridge is connected to a single PCIe bridge +for each controller instance. Hence, add a node to represent the bridge. + +Signed-off-by: Manivannan Sadhasivam +Reviewed-by: Konrad Dybcio +Link: https://lore.kernel.org/r/20240321-pcie-qcom-bridge-dts-v2-16-1eb790c53e43@linaro.org +Signed-off-by: Bjorn Andersson +--- + arch/arm64/boot/dts/qcom/ipq6018.dtsi | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi ++++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi +@@ -911,6 +911,16 @@ + "axi_s_sticky"; + + status = "disabled"; ++ ++ pcie@0 { ++ device_type = "pci"; ++ reg = <0x0 0x0 0x0 0x0 0x0>; ++ bus-range = <0x01 0xff>; ++ ++ #address-cells = <3>; ++ #size-cells = <2>; ++ ranges; ++ }; + }; + }; + diff --git a/target/linux/qualcommax/patches-6.6/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch b/target/linux/qualcommax/patches-6.6/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch index 24f5711373a..7c3dffe9206 100644 --- a/target/linux/qualcommax/patches-6.6/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch +++ b/target/linux/qualcommax/patches-6.6/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch @@ -31,7 +31,7 @@ Signed-off-by: Robert Marko #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 0x7>; interrupt-map = <0 0 0 1 &intc 0 0 142 -@@ -927,8 +926,7 @@ +@@ -937,8 +936,7 @@ ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>, /* I/O */ <0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */ diff --git a/target/linux/qualcommax/patches-6.6/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch b/target/linux/qualcommax/patches-6.6/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch index 0988cb1a234..01a513de14d 100644 --- a/target/linux/qualcommax/patches-6.6/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch +++ b/target/linux/qualcommax/patches-6.6/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch @@ -61,9 +61,9 @@ Signed-off-by: Robert Marko spmi_bus: spmi@200f000 { compatible = "qcom,spmi-pmic-arb"; reg = <0x0200f000 0x001000>, -@@ -967,6 +998,56 @@ - "axi_s_sticky"; - status = "disabled"; +@@ -987,6 +1018,56 @@ + ranges; + }; }; + + q6v5_wcss: q6v5_wcss@cd00000 { diff --git a/target/linux/qualcommax/patches-6.6/0121-arm64-dts-ipq8074-Add-WLAN-node.patch b/target/linux/qualcommax/patches-6.6/0121-arm64-dts-ipq8074-Add-WLAN-node.patch index e1b31078f34..35f970dc2a9 100644 --- a/target/linux/qualcommax/patches-6.6/0121-arm64-dts-ipq8074-Add-WLAN-node.patch +++ b/target/linux/qualcommax/patches-6.6/0121-arm64-dts-ipq8074-Add-WLAN-node.patch @@ -15,7 +15,7 @@ Signed-off-by: Robert Marko --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -1048,6 +1048,117 @@ +@@ -1068,6 +1068,117 @@ }; }; }; diff --git a/target/linux/qualcommax/patches-6.6/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch b/target/linux/qualcommax/patches-6.6/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch index d29b6826bb5..3fc8cbd1204 100644 --- a/target/linux/qualcommax/patches-6.6/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch +++ b/target/linux/qualcommax/patches-6.6/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch @@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -1166,6 +1166,7 @@ +@@ -1176,6 +1176,7 @@ wcss_smp2p_out: master-kernel { qcom,entry-name = "master-kernel";