marvell-neta-bm.txt 1.5 KB

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