cavium-pip.txt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. * PIP Ethernet nexus.
  2. The PIP Ethernet nexus can control several data packet input/output
  3. devices. The devices have a two level grouping scheme. There may be
  4. several interfaces, and each interface may have several ports. These
  5. ports might be an individual Ethernet PHY.
  6. Properties for the PIP nexus:
  7. - compatible: "cavium,octeon-3860-pip"
  8. Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
  9. - reg: The base address of the PIP's register bank.
  10. - #address-cells: Must be <1>.
  11. - #size-cells: Must be <0>.
  12. Properties for PIP interfaces which is a child the PIP nexus:
  13. - compatible: "cavium,octeon-3860-pip-interface"
  14. Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
  15. - reg: The interface number.
  16. - #address-cells: Must be <1>.
  17. - #size-cells: Must be <0>.
  18. Properties for PIP port which is a child the PIP interface:
  19. - compatible: "cavium,octeon-3860-pip-port"
  20. Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
  21. - reg: The port number within the interface group.
  22. - phy-handle: Optional, see ethernet.txt file in the same directory.
  23. - rx-delay: Delay value for RGMII receive clock. Optional. Disabled if 0.
  24. Value range is 1-31, and mapping to the actual delay varies depending on HW.
  25. - tx-delay: Delay value for RGMII transmit clock. Optional. Disabled if 0.
  26. Value range is 1-31, and mapping to the actual delay varies depending on HW.
  27. Example:
  28. pip@11800a0000000 {
  29. compatible = "cavium,octeon-3860-pip";
  30. #address-cells = <1>;
  31. #size-cells = <0>;
  32. reg = <0x11800 0xa0000000 0x0 0x2000>;
  33. interface@0 {
  34. compatible = "cavium,octeon-3860-pip-interface";
  35. #address-cells = <1>;
  36. #size-cells = <0>;
  37. reg = <0>; /* interface */
  38. ethernet@0 {
  39. compatible = "cavium,octeon-3860-pip-port";
  40. reg = <0x0>; /* Port */
  41. local-mac-address = [ 00 0f b7 10 63 60 ];
  42. phy-handle = <&phy2>;
  43. };
  44. ethernet@1 {
  45. compatible = "cavium,octeon-3860-pip-port";
  46. reg = <0x1>; /* Port */
  47. local-mac-address = [ 00 0f b7 10 63 61 ];
  48. phy-handle = <&phy3>;
  49. };
  50. ethernet@2 {
  51. compatible = "cavium,octeon-3860-pip-port";
  52. reg = <0x2>; /* Port */
  53. local-mac-address = [ 00 0f b7 10 63 62 ];
  54. phy-handle = <&phy4>;
  55. };
  56. ethernet@3 {
  57. compatible = "cavium,octeon-3860-pip-port";
  58. reg = <0x3>; /* Port */
  59. local-mac-address = [ 00 0f b7 10 63 63 ];
  60. phy-handle = <&phy5>;
  61. };
  62. };
  63. interface@1 {
  64. compatible = "cavium,octeon-3860-pip-interface";
  65. #address-cells = <1>;
  66. #size-cells = <0>;
  67. reg = <1>; /* interface */
  68. ethernet@0 {
  69. compatible = "cavium,octeon-3860-pip-port";
  70. reg = <0x0>; /* Port */
  71. local-mac-address = [ 00 0f b7 10 63 64 ];
  72. phy-handle = <&phy6>;
  73. };
  74. };
  75. };