mvebu: backport upstream ethernet driver improvements and enable buffer manager support
[librecmc/librecmc.git] / target / linux / mvebu / patches-4.4 / 051-ARM-dts-armada-38x-add-buffer-manager-nodes.patch
1 From: Marcin Wojtas <mw@semihalf.com>
2 Date: Mon, 14 Mar 2016 09:38:57 +0100
3 Subject: [PATCH] ARM: dts: armada-38x: add buffer manager nodes
4
5 Armada 38x network controller supports hardware buffer management (BM).
6 Since it is now enabled in mvneta driver, appropriate nodes can be added
7 to armada-38x.dtsi - for the actual common BM unit (bm@c8000) and its
8 internal SRAM (bm-bppi), which is used for indirect access to buffer
9 pointer ring residing in DRAM.
10
11 Pools - ports mapping, bm-bppi entry in 'soc' node's ranges and optional
12 parameters are supposed to be set in board files.
13
14 Signed-off-by: Marcin Wojtas <mw@semihalf.com>
15 Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
16 Signed-off-by: David S. Miller <davem@davemloft.net>
17 ---
18
19 --- a/arch/arm/boot/dts/armada-38x.dtsi
20 +++ b/arch/arm/boot/dts/armada-38x.dtsi
21 @@ -540,6 +540,14 @@
22                                 status = "disabled";
23                         };
24  
25 +                       bm: bm@c8000 {
26 +                               compatible = "marvell,armada-380-neta-bm";
27 +                               reg = <0xc8000 0xac>;
28 +                               clocks = <&gateclk 13>;
29 +                               internal-mem = <&bm_bppi>;
30 +                               status = "disabled";
31 +                       };
32 +
33                         sata@e0000 {
34                                 compatible = "marvell,armada-380-ahci";
35                                 reg = <0xe0000 0x2000>;
36 @@ -618,6 +626,17 @@
37                         #size-cells = <1>;
38                         ranges = <0 MBUS_ID(0x09, 0x15) 0 0x800>;
39                 };
40 +
41 +               bm_bppi: bm-bppi {
42 +                       compatible = "mmio-sram";
43 +                       reg = <MBUS_ID(0x0c, 0x04) 0 0x100000>;
44 +                       ranges = <0 MBUS_ID(0x0c, 0x04) 0 0x100000>;
45 +                       #address-cells = <1>;
46 +                       #size-cells = <1>;
47 +                       clocks = <&gateclk 13>;
48 +                       no-memory-wc;
49 +                       status = "disabled";
50 +               };
51         };
52  
53         clocks {