From dcc942e66685b3ec51906c51b005895f967169b7 Mon Sep 17 00:00:00 2001 From: Johann Neuhauser Date: Tue, 19 Jun 2018 08:16:01 +0200 Subject: [PATCH] ath79: ar934x: use irq-ath79-intc driver and enable wmac Signed-off-by: Johann Neuhauser --- target/linux/ath79/dts/ar9341.dtsi | 18 ++++++++++ target/linux/ath79/dts/ar9344.dtsi | 34 +++++++++++++++++-- target/linux/ath79/dts/ar9344_tl-wdr4300.dtsi | 10 +++++- target/linux/ath79/dts/ar934x.dtsi | 13 +++---- 4 files changed, 66 insertions(+), 9 deletions(-) create mode 100644 target/linux/ath79/dts/ar9341.dtsi diff --git a/target/linux/ath79/dts/ar9341.dtsi b/target/linux/ath79/dts/ar9341.dtsi new file mode 100644 index 0000000000..751db2a1e8 --- /dev/null +++ b/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>; +}; diff --git a/target/linux/ath79/dts/ar9344.dtsi b/target/linux/ath79/dts/ar9344.dtsi index 655ab35d79..39dd33fd67 100644 --- a/target/linux/ath79/dts/ar9344.dtsi +++ b/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>; +}; diff --git a/target/linux/ath79/dts/ar9344_tl-wdr4300.dtsi b/target/linux/ath79/dts/ar9344_tl-wdr4300.dtsi index 9ce06ffbeb..84dd721224 100644 --- a/target/linux/ath79/dts/ar9344_tl-wdr4300.dtsi +++ b/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"; diff --git a/target/linux/ath79/dts/ar934x.dtsi b/target/linux/ath79/dts/ar934x.dtsi index b8a915f36c..6d5e5262d8 100644 --- a/target/linux/ath79/dts/ar934x.dtsi +++ b/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";