From 047695a0294fd7046ba45e5490156c2b8e936a81 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 17 Apr 2017 08:43:54 +0200 Subject: Revert "mvebu: remove linux 4.4 support" This reverts commit 51397d7d95d9f5e210a5557f65de1fa21e6f5921. There are some unresolved random crashes on WRT1900AC v1 that still need to be sorted out Signed-off-by: Felix Fietkau --- ...ada-38x-enable-buffer-manager-support-on-.patch | 256 +++++++++++++++++++++ 1 file changed, 256 insertions(+) create mode 100644 target/linux/mvebu/patches-4.4/054-ARM-dts-armada-38x-enable-buffer-manager-support-on-.patch (limited to 'target/linux/mvebu/patches-4.4/054-ARM-dts-armada-38x-enable-buffer-manager-support-on-.patch') diff --git a/target/linux/mvebu/patches-4.4/054-ARM-dts-armada-38x-enable-buffer-manager-support-on-.patch b/target/linux/mvebu/patches-4.4/054-ARM-dts-armada-38x-enable-buffer-manager-support-on-.patch new file mode 100644 index 0000000000..705d503c68 --- /dev/null +++ b/target/linux/mvebu/patches-4.4/054-ARM-dts-armada-38x-enable-buffer-manager-support-on-.patch @@ -0,0 +1,256 @@ +From c49e99c2b25a412623412a461bb751239208b9b3 Mon Sep 17 00:00:00 2001 +From: Marcin Wojtas +Date: Mon, 14 Mar 2016 09:38:58 +0100 +Subject: [PATCH] ARM: dts: armada-38x: enable buffer manager support on Armada + 38x boards + +Since mvneta driver supports using hardware buffer management (BM), in +order to use it, board files have to be adjusted accordingly. This commit +enables BM on: +* A385-DB-AP - each port has its own pool for long and common pool for +short packets, +* A388-ClearFog - same as above, +* A388-DB - to each port unique 'short' and 'long' pools are mapped, +* A388-GP - same as above. + +Moreover appropriate entry is added to 'soc' node ranges, as well as "okay" +status for 'bm' and 'bm-bppi' (internal SRAM) nodes. + +[gregory.clement@free-electrons.com: add suppport for the ClearFog board] + +Signed-off-by: Marcin Wojtas +Signed-off-by: Gregory CLEMENT +Acked-by: Russell King +Signed-off-by: David S. Miller +--- + arch/arm/boot/dts/armada-385-db-ap.dts | 20 +++++++++++++++++++- + arch/arm/boot/dts/armada-388-clearfog.dts | 6 ++++++ + arch/arm/boot/dts/armada-388-db.dts | 17 ++++++++++++++++- + arch/arm/boot/dts/armada-388-gp.dts | 17 ++++++++++++++++- + arch/arm/boot/dts/armada-38x-solidrun-microsom.dtsi | 15 ++++++++++++++- + 5 files changed, 71 insertions(+), 4 deletions(-) + +--- a/arch/arm/boot/dts/armada-385-db-ap.dts ++++ b/arch/arm/boot/dts/armada-385-db-ap.dts +@@ -61,7 +61,8 @@ + ranges = ; ++ MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 ++ MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; + + internal-regs { + spi1: spi@10680 { +@@ -138,12 +139,18 @@ + status = "okay"; + phy = <&phy2>; + phy-mode = "sgmii"; ++ buffer-manager = <&bm>; ++ bm,pool-long = <1>; ++ bm,pool-short = <3>; + }; + + ethernet@34000 { + status = "okay"; + phy = <&phy1>; + phy-mode = "sgmii"; ++ buffer-manager = <&bm>; ++ bm,pool-long = <2>; ++ bm,pool-short = <3>; + }; + + ethernet@70000 { +@@ -157,6 +164,13 @@ + status = "okay"; + phy = <&phy0>; + phy-mode = "rgmii-id"; ++ buffer-manager = <&bm>; ++ bm,pool-long = <0>; ++ bm,pool-short = <3>; ++ }; ++ ++ bm@c8000 { ++ status = "okay"; + }; + + nfc: flash@d0000 { +@@ -178,6 +192,10 @@ + }; + }; + ++ bm-bppi { ++ status = "okay"; ++ }; ++ + pcie-controller { + status = "okay"; + +--- a/arch/arm/boot/dts/armada-388-clearfog.dts ++++ b/arch/arm/boot/dts/armada-388-clearfog.dts +@@ -78,6 +78,9 @@ + internal-regs { + ethernet@30000 { + phy-mode = "sgmii"; ++ buffer-manager = <&bm>; ++ bm,pool-long = <2>; ++ bm,pool-short = <1>; + status = "okay"; + + fixed-link { +@@ -88,6 +91,9 @@ + + ethernet@34000 { + phy-mode = "sgmii"; ++ buffer-manager = <&bm>; ++ bm,pool-long = <3>; ++ bm,pool-short = <1>; + status = "okay"; + + fixed-link { +--- a/arch/arm/boot/dts/armada-388-db.dts ++++ b/arch/arm/boot/dts/armada-388-db.dts +@@ -66,7 +66,8 @@ + ranges = ; ++ MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 ++ MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; + + internal-regs { + spi@10600 { +@@ -99,6 +100,9 @@ + status = "okay"; + phy = <&phy1>; + phy-mode = "rgmii-id"; ++ buffer-manager = <&bm>; ++ bm,pool-long = <2>; ++ bm,pool-short = <3>; + }; + + usb@58000 { +@@ -109,6 +113,9 @@ + status = "okay"; + phy = <&phy0>; + phy-mode = "rgmii-id"; ++ buffer-manager = <&bm>; ++ bm,pool-long = <0>; ++ bm,pool-short = <1>; + }; + + mdio@72004 { +@@ -129,6 +136,10 @@ + status = "okay"; + }; + ++ bm@c8000 { ++ status = "okay"; ++ }; ++ + flash@d0000 { + status = "okay"; + num-cs = <1>; +@@ -169,6 +180,10 @@ + }; + }; + ++ bm-bppi { ++ status = "okay"; ++ }; ++ + pcie-controller { + status = "okay"; + /* +--- a/arch/arm/boot/dts/armada-388-gp.dts ++++ b/arch/arm/boot/dts/armada-388-gp.dts +@@ -60,7 +60,8 @@ + ranges = ; ++ MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 ++ MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; + + internal-regs { + spi@10600 { +@@ -133,6 +134,9 @@ + status = "okay"; + phy = <&phy1>; + phy-mode = "rgmii-id"; ++ buffer-manager = <&bm>; ++ bm,pool-long = <2>; ++ bm,pool-short = <3>; + }; + + /* CON4 */ +@@ -152,6 +156,9 @@ + status = "okay"; + phy = <&phy0>; + phy-mode = "rgmii-id"; ++ buffer-manager = <&bm>; ++ bm,pool-long = <0>; ++ bm,pool-short = <1>; + }; + + +@@ -186,6 +193,10 @@ + }; + }; + ++ bm@c8000 { ++ status = "okay"; ++ }; ++ + sata@e0000 { + pinctrl-names = "default"; + pinctrl-0 = <&sata2_pins>, <&sata3_pins>; +@@ -240,6 +251,10 @@ + }; + }; + ++ bm-bppi { ++ status = "okay"; ++ }; ++ + pcie-controller { + status = "okay"; + /* +--- a/arch/arm/boot/dts/armada-38x-solidrun-microsom.dtsi ++++ b/arch/arm/boot/dts/armada-38x-solidrun-microsom.dtsi +@@ -58,7 +58,8 @@ + ranges = ; ++ MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 ++ MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; + + internal-regs { + ethernet@70000 { +@@ -66,6 +67,9 @@ + pinctrl-names = "default"; + phy = <&phy_dedicated>; + phy-mode = "rgmii-id"; ++ buffer-manager = <&bm>; ++ bm,pool-long = <0>; ++ bm,pool-short = <1>; + status = "okay"; + }; + +@@ -110,6 +114,15 @@ + pinctrl-names = "default"; + status = "okay"; + }; ++ ++ bm@c8000 { ++ status = "okay"; ++ }; + }; ++ ++ bm-bppi { ++ status = "okay"; ++ }; ++ + }; + }; -- cgit v1.2.3