1 * Marvell Armada 380/XP Buffer Manager driver 1 * Marvell Armada 380/XP Buffer Manager driver (BM) 2 2 3 Required properties: 3 Required properties: 4 4 5 - compatible: should be "marvell,armada-380-ne 5 - compatible: should be "marvell,armada-380-neta-bm". 6 - reg: address and length of the register set 6 - reg: address and length of the register set for the device. 7 - clocks: a pointer to the reference clock for 7 - clocks: a pointer to the reference clock for this device. 8 - internal-mem: a phandle to BM internal SRAM 8 - internal-mem: a phandle to BM internal SRAM definition. 9 9 10 Optional properties (port): 10 Optional properties (port): 11 11 12 - pool<0 : 3>,capacity: size of external buffe 12 - pool<0 : 3>,capacity: size of external buffer pointers' ring maintained 13 in DRAM. Can be set for each pool (id 0 : 3) 13 in DRAM. Can be set for each pool (id 0 : 3) separately. The value has 14 to be chosen between 128 and 16352 and it al 14 to be chosen between 128 and 16352 and it also has to be aligned to 32. 15 Otherwise the driver would adjust a given nu 15 Otherwise the driver would adjust a given number or choose default if 16 not set. 16 not set. 17 - pool<0 : 3>,pkt-size: maximum size of a pack 17 - pool<0 : 3>,pkt-size: maximum size of a packet accepted by a given buffer 18 pointers' pool (id 0 : 3). It will be taken 18 pointers' pool (id 0 : 3). It will be taken into consideration only when pool 19 type is 'short'. For 'long' ones it would be 19 type is 'short'. For 'long' ones it would be overridden by port's MTU. 20 If not set a driver will choose a default va 20 If not set a driver will choose a default value. 21 21 22 In order to see how to hook the BM to a given 22 In order to see how to hook the BM to a given ethernet port, please 23 refer to Documentation/devicetree/bindings/net 23 refer to Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt. 24 24 25 Example: 25 Example: 26 26 27 - main node: 27 - main node: 28 28 29 bm: bm@c8000 { 29 bm: bm@c8000 { 30 compatible = "marvell,armada-380-neta- 30 compatible = "marvell,armada-380-neta-bm"; 31 reg = <0xc8000 0xac>; 31 reg = <0xc8000 0xac>; 32 clocks = <&gateclk 13>; 32 clocks = <&gateclk 13>; 33 internal-mem = <&bm_bppi>; 33 internal-mem = <&bm_bppi>; 34 pool2,capacity = <4096>; 34 pool2,capacity = <4096>; 35 pool1,pkt-size = <512>; 35 pool1,pkt-size = <512>; 36 }; 36 }; 37 37 38 - internal SRAM node: 38 - internal SRAM node: 39 39 40 bm_bppi: bm-bppi { 40 bm_bppi: bm-bppi { 41 compatible = "mmio-sram"; 41 compatible = "mmio-sram"; 42 reg = <MBUS_ID(0x0c, 0x04) 0 0x100000> 42 reg = <MBUS_ID(0x0c, 0x04) 0 0x100000>; 43 ranges = <0 MBUS_ID(0x0c, 0x04) 0 0x10 43 ranges = <0 MBUS_ID(0x0c, 0x04) 0 0x100000>; 44 #address-cells = <1>; 44 #address-cells = <1>; 45 #size-cells = <1>; 45 #size-cells = <1>; 46 clocks = <&gateclk 13>; 46 clocks = <&gateclk 13>; 47 }; 47 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.