Ver código fonte

ath79: ar934x: use irq-ath79-intc driver and enable wmac

Signed-off-by: Johann Neuhauser <[email protected]>
Johann Neuhauser 7 anos atrás
pai
commit
dcc942e666

+ 18 - 0
target/linux/ath79/dts/ar9341.dtsi

@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "ar934x.dtsi"
+
+/ {
+	compatible = "qca,ar9341";
+};
+
+&cpuintc {
+	qca,ddr-wb-channel-interrupts = <2>, <3>, <4>, <5>;
+	qca,ddr-wb-channels = <&ddr_ctrl 4>, <&ddr_ctrl 2>,
+				<&ddr_ctrl 0>, <&ddr_ctrl 1>;
+};
+
+&wmac {
+	interrupt-parent = <&cpuintc>;
+	interrupts = <2>;
+};

+ 32 - 2
target/linux/ath79/dts/ar9344.dtsi

@@ -6,6 +6,31 @@
 	compatible = "qca,ar9344";
 };
 
+&cpuintc {
+	qca,ddr-wb-channel-interrupts = <3>, <4>, <5>;
+	qca,ddr-wb-channels = <&ddr_ctrl 2>, <&ddr_ctrl 0>,
+			<&ddr_ctrl 1>;
+};
+
+&rst {
+	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 rc1 */
+
+		qca,ddr-wb-channel-interrupts = <0>, <1>;
+		qca,ddr-wb-channels = <&ddr_ctrl 4>, <&ddr_ctrl 3>;
+	};
+};
+
 &apb {
 	pcie: pcie-controller@180c0000 {
 		compatible = "qcom,ar9340-pci", "qcom,ar7240-pci";
@@ -18,8 +43,8 @@
 		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 = <&cpuintc>;
-		interrupts = <2>;
+		interrupt-parent = <&intc2>;
+		interrupts = <1>;
 
 		interrupt-controller;
 		#interrupt-cells = <1>;
@@ -30,3 +55,8 @@
 		status = "disabled";
 	};
 };
+
+&wmac {
+	interrupt-parent = <&intc2>;
+	interrupts = <0>;
+};

+ 9 - 1
target/linux/ath79/dts/ar9344_tl-wdr4300.dtsi

@@ -158,7 +158,7 @@
 				reg = <0x020000 0x7d0000>;
 			};
 
-			partition@7f0000 {
+			art: partition@7f0000 {
 				label = "art";
 				reg = <0x7f0000 0x010000>;
 				read-only;
@@ -203,6 +203,14 @@
 	};
 };
 
+&wmac {
+	status = "okay";
+
+	mtd-cal-data = <&art 0x1000>;
+	mtd-mac-address = <&uboot 0x1fc00>;
+	mtd-mac-address-increment = <(-1)>;
+};
+
 &mdio0 {
 	status = "okay";
 

+ 7 - 6
target/linux/ath79/dts/ar934x.dtsi

@@ -138,6 +138,13 @@
 				compatible = "qca,ar9340-gmac", "qca,ar9330-gmac";
 				reg = <0x18070000 0x14>;
 			};
+
+			wmac: wmac@18100000 {
+				compatible = "qca,ar9340-wmac";
+				reg = <0x18100000 0x20000>;
+
+				status = "disabled";
+			};
 		};
 
 		usb: usb@1b000000 {
@@ -183,12 +190,6 @@
 	};
 };
 
-&cpuintc {
-	qca,ddr-wb-channel-interrupts = <2>, <3>, <4>, <5>;
-	qca,ddr-wb-channels = <&ddr_ctrl 3>, <&ddr_ctrl 2>,
-				<&ddr_ctrl 0>, <&ddr_ctrl 1>;
-};
-
 &mdio0 {
 	resets = <&rst 22>;
 	reset-names = "mdio";