fsl,fman-dtsec.yaml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/net/fsl,fman-dtsec.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: NXP FMan MAC
  7. maintainers:
  8. - Madalin Bucur <madalin.bucur@nxp.com>
  9. description: |
  10. Each FMan has several MACs, each implementing an Ethernet interface. Earlier
  11. versions of FMan used the Datapath Three Speed Ethernet Controller (dTSEC) for
  12. 10/100/1000 MBit/s speeds, and the 10-Gigabit Ethernet Media Access Controller
  13. (10GEC) for 10 Gbit/s speeds. Later versions of FMan use the Multirate
  14. Ethernet Media Access Controller (mEMAC) to handle all speeds.
  15. properties:
  16. compatible:
  17. enum:
  18. - fsl,fman-dtsec
  19. - fsl,fman-xgec
  20. - fsl,fman-memac
  21. cell-index:
  22. maximum: 64
  23. description: |
  24. FManV2:
  25. register[bit] MAC cell-index
  26. ============================================================
  27. FM_EPI[16] XGEC 8
  28. FM_EPI[16+n] dTSECn n-1
  29. FM_NPI[11+n] dTSECn n-1
  30. n = 1,..,5
  31. FManV3:
  32. register[bit] MAC cell-index
  33. ============================================================
  34. FM_EPI[16+n] mEMACn n-1
  35. FM_EPI[25] mEMAC10 9
  36. FM_NPI[11+n] mEMACn n-1
  37. FM_NPI[10] mEMAC10 9
  38. FM_NPI[11] mEMAC9 8
  39. n = 1,..8
  40. FM_EPI and FM_NPI are located in the FMan memory map.
  41. 2. SoC registers:
  42. - P2041, P3041, P4080 P5020, P5040:
  43. register[bit] FMan MAC cell
  44. Unit index
  45. ============================================================
  46. DCFG_DEVDISR2[7] 1 XGEC 8
  47. DCFG_DEVDISR2[7+n] 1 dTSECn n-1
  48. DCFG_DEVDISR2[15] 2 XGEC 8
  49. DCFG_DEVDISR2[15+n] 2 dTSECn n-1
  50. n = 1,..5
  51. - T1040, T2080, T4240, B4860:
  52. register[bit] FMan MAC cell
  53. Unit index
  54. ============================================================
  55. DCFG_CCSR_DEVDISR2[n-1] 1 mEMACn n-1
  56. DCFG_CCSR_DEVDISR2[11+n] 2 mEMACn n-1
  57. n = 1,..6,9,10
  58. EVDISR, DCFG_DEVDISR2 and DCFG_CCSR_DEVDISR2 are located in
  59. the specific SoC "Device Configuration/Pin Control" Memory
  60. Map.
  61. reg:
  62. maxItems: 1
  63. fsl,fman-ports:
  64. $ref: /schemas/types.yaml#/definitions/phandle-array
  65. maxItems: 2
  66. description: |
  67. An array of two references: the first is the FMan RX port and the second
  68. is the TX port used by this MAC.
  69. phys:
  70. description: A reference to the SerDes lane(s)
  71. maxItems: 1
  72. phy-names:
  73. items:
  74. - const: serdes
  75. pcsphy-handle:
  76. $ref: /schemas/types.yaml#/definitions/phandle-array
  77. minItems: 1
  78. maxItems: 3
  79. deprecated: true
  80. description: See pcs-handle.
  81. pcs-handle:
  82. minItems: 1
  83. maxItems: 3
  84. description: |
  85. A reference to the various PCSs (typically found on the SerDes). If
  86. pcs-handle-names is absent, and phy-connection-type is "xgmii", then the first
  87. reference will be assumed to be for "xfi". Otherwise, if pcs-handle-names is
  88. absent, then the first reference will be assumed to be for "sgmii".
  89. pcs-handle-names:
  90. minItems: 1
  91. maxItems: 3
  92. items:
  93. enum:
  94. - sgmii
  95. - qsgmii
  96. - xfi
  97. description: The type of each PCS in pcsphy-handle.
  98. tbi-handle:
  99. $ref: /schemas/types.yaml#/definitions/phandle
  100. description: A reference to the (TBI-based) PCS
  101. required:
  102. - compatible
  103. - cell-index
  104. - reg
  105. - fsl,fman-ports
  106. dependencies:
  107. pcs-handle-names:
  108. - pcs-handle
  109. allOf:
  110. - $ref: ethernet-controller.yaml#
  111. - if:
  112. properties:
  113. compatible:
  114. contains:
  115. const: fsl,fman-dtsec
  116. then:
  117. required:
  118. - tbi-handle
  119. unevaluatedProperties: false
  120. examples:
  121. - |
  122. ethernet@e0000 {
  123. compatible = "fsl,fman-dtsec";
  124. cell-index = <0>;
  125. reg = <0xe0000 0x1000>;
  126. fsl,fman-ports = <&fman1_rx8 &fman1_tx28>;
  127. ptp-timer = <&ptp_timer>;
  128. tbi-handle = <&tbi0>;
  129. };
  130. - |
  131. ethernet@e8000 {
  132. cell-index = <4>;
  133. compatible = "fsl,fman-memac";
  134. reg = <0xe8000 0x1000>;
  135. fsl,fman-ports = <&fman0_rx_0x0c &fman0_tx_0x2c>;
  136. ptp-timer = <&ptp_timer0>;
  137. pcs-handle = <&pcsphy4>, <&qsgmiib_pcs1>;
  138. pcs-handle-names = "sgmii", "qsgmii";
  139. phys = <&serdes1 1>;
  140. phy-names = "serdes";
  141. };
  142. ...