From: Johann Neuhauser <johann@it-neuhauser.de>
Date: Tue, 19 Jun 2018 06:16:28 +0000 (+0200)
Subject: ath79: qca95xx: add new intc2, correct intc3 and add second pcie on qca9557
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=b8562f168b2bb2defc87e94db6ff98fe8471dc71;p=openwrt%2Fstaging%2Fansuel.git

ath79: qca95xx: add new intc2, correct intc3 and add second pcie on qca9557

Signed-off-by: Johann Neuhauser <johann@it-neuhauser.de>
---

diff --git a/target/linux/ath79/dts/qca9557.dtsi b/target/linux/ath79/dts/qca9557.dtsi
index 3600d69cab..802f2da725 100644
--- a/target/linux/ath79/dts/qca9557.dtsi
+++ b/target/linux/ath79/dts/qca9557.dtsi
@@ -137,15 +137,31 @@
 				#reset-cells = <1>;
 				interrupt-parent = <&cpuintc>;
 
+				intc2: interrupt-controller@2 {
+					compatible = "qca,ar9340-intc";
+
+					interrupt-parent = <&cpuintc>;
+					interrupts = <2>;
+
+					interrupt-controller;
+					#interrupt-cells = <1>;
+
+					qca,int-status-addr = <0xac>;
+					qca,pending-bits = <0xf>,	/* wmac */
+							<0x1f0>;	/* pcie rc 0 */
+				};
+
 				intc3: interrupt-controller@3 {
-					compatible = "qcom,qca9556-intc";
+					compatible = "qca,ar9340-intc";
 
+					interrupt-parent = <&cpuintc>;
 					interrupts = <3>;
 
 					interrupt-controller;
 					#interrupt-cells = <1>;
 
-					qcom,pending-bits = <0x1f000>,		/* pcie rc */
+					qca,int-status-addr = <0xac>;
+					qca,pending-bits = <0x1f000>,		/* pcie rc 1 */
 							    <0x1000000>,	/* usb1 */
 							    <0x10000000>;	/* usb2 */
 				};
@@ -160,7 +176,29 @@
 				#reset-cells = <1>;
 			};
 
-			pcie: pcie-controller@18250000 {
+			pcie0: pcie-controller@180c0000 {
+				compatible = "qcom,ar7240-pci";
+				#address-cells = <3>;
+				#size-cells = <2>;
+				bus-range = <0x0 0x0>;
+				reg = <0x180c0000 0x1000>, /* CRP */
+				      <0x180f0000 0x100>,  /* CTRL */
+				      <0x14000000 0x1000>; /* CFG */
+				reg-names = "crp_base", "ctrl_base", "cfg_base";
+				ranges = <0x2000000 0 0x10000000 0x10000000 0 0x04000000	/* pci memory */
+					  0x1000000 0 0x00000000 0x0000000 0 0x000001>;		/* io space */
+				interrupt-parent = <&intc2>;
+				interrupts = <1>;
+
+				interrupt-controller;
+				#interrupt-cells = <1>;
+
+				interrupt-map-mask = <0 0 0 1>;
+				interrupt-map = <0 0 0 0 &pcie0 0>;
+				status = "disabled";
+			};
+
+			pcie1: pcie-controller@18250000 {
 				compatible = "qcom,ar7240-pci";
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -178,7 +216,7 @@
 				#interrupt-cells = <1>;
 
 				interrupt-map-mask = <0 0 0 1>;
-				interrupt-map = <0 0 0 0 &pcie 0>;
+				interrupt-map = <0 0 0 0 &pcie1 0>;
 				status = "disabled";
 			};
 
@@ -186,8 +224,8 @@
 				compatible = "qca,qca9550-wmac";
 				reg = <0x18100000 0x10000>;
 
-				interrupt-parent = <&cpuintc>;
-				interrupts = <2>;
+				interrupt-parent = <&intc2>;
+				interrupts = <0>;
 
 				status = "disabled";
 			};
diff --git a/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts b/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts
index bb529b49e0..974b1c61f0 100644
--- a/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts
+++ b/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts
@@ -90,7 +90,7 @@
 	};
 };
 
-&pcie {
+&pcie0 {
 	status = "okay";
 };
 
diff --git a/target/linux/ath79/dts/qca956x.dtsi b/target/linux/ath79/dts/qca956x.dtsi
index c7b6d6e747..1b8733a585 100644
--- a/target/linux/ath79/dts/qca956x.dtsi
+++ b/target/linux/ath79/dts/qca956x.dtsi
@@ -115,14 +115,16 @@
 				interrupt-parent = <&cpuintc>;
 
 				intc3: interrupt-controller@3 {
-					compatible = "qcom,qca9556-intc";
+					compatible = "qca,ar9340-intc";
 
+					interrupt-parent = <&cpuintc>;
 					interrupts = <3>;
 
 					interrupt-controller;
 					#interrupt-cells = <1>;
 
-					qcom,pending-bits = <0x1f000>,		/* pcie rc */
+					qca,int-status-addr = <0xac>;
+					qca,pending-bits = <0x1f000>,		/* pcie rc */
 							    <0x1000000>,	/* usb1 */
 							    <0x10000000>;	/* usb2 */
 				};