From b8562f168b2bb2defc87e94db6ff98fe8471dc71 Mon Sep 17 00:00:00 2001 From: Johann Neuhauser Date: Tue, 19 Jun 2018 08:16:28 +0200 Subject: [PATCH] ath79: qca95xx: add new intc2, correct intc3 and add second pcie on qca9557 Signed-off-by: Johann Neuhauser --- target/linux/ath79/dts/qca9557.dtsi | 50 ++++++++++++++++--- .../ath79/dts/qca9558_openmesh_om5p-ac-v2.dts | 2 +- target/linux/ath79/dts/qca956x.dtsi | 6 ++- 3 files changed, 49 insertions(+), 9 deletions(-) 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 */ }; -- 2.30.2