amd-xgbe.txt 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. * AMD 10GbE driver (amd-xgbe)
  2. Required properties:
  3. - compatible: Should be "amd,xgbe-seattle-v1a"
  4. - reg: Address and length of the register sets for the device
  5. - MAC registers
  6. - PCS registers
  7. - SerDes Rx/Tx registers
  8. - SerDes integration registers (1/2)
  9. - SerDes integration registers (2/2)
  10. - interrupt-parent: Should be the phandle for the interrupt controller
  11. that services interrupts for this device
  12. - interrupts: Should contain the amd-xgbe interrupt(s). The first interrupt
  13. listed is required and is the general device interrupt. If the optional
  14. amd,per-channel-interrupt property is specified, then one additional
  15. interrupt for each DMA channel supported by the device should be specified.
  16. The last interrupt listed should be the PCS auto-negotiation interrupt.
  17. - clocks:
  18. - DMA clock for the amd-xgbe device (used for calculating the
  19. correct Rx interrupt watchdog timer value on a DMA channel
  20. for coalescing)
  21. - PTP clock for the amd-xgbe device
  22. - clock-names: Should be the names of the clocks
  23. - "dma_clk" for the DMA clock
  24. - "ptp_clk" for the PTP clock
  25. - phy-mode: See ethernet.txt file in the same directory
  26. Optional properties:
  27. - mac-address: mac address to be assigned to the device. Can be overridden
  28. by UEFI.
  29. - dma-coherent: Present if dma operations are coherent
  30. - amd,per-channel-interrupt: Indicates that Rx and Tx complete will generate
  31. a unique interrupt for each DMA channel - this requires an additional
  32. interrupt be configured for each DMA channel
  33. - amd,speed-set: Speed capabilities of the device
  34. 0 - 1GbE and 10GbE (default)
  35. 1 - 2.5GbE and 10GbE
  36. The following optional properties are represented by an array with each
  37. value corresponding to a particular speed. The first array value represents
  38. the setting for the 1GbE speed, the second value for the 2.5GbE speed and
  39. the third value for the 10GbE speed. All three values are required if the
  40. property is used.
  41. - amd,serdes-blwc: Baseline wandering correction enablement
  42. 0 - Off
  43. 1 - On
  44. - amd,serdes-cdr-rate: CDR rate speed selection
  45. - amd,serdes-pq-skew: PQ (data sampling) skew
  46. - amd,serdes-tx-amp: TX amplitude boost
  47. - amd,serdes-dfe-tap-config: DFE taps available to run
  48. - amd,serdes-dfe-tap-enable: DFE taps to enable
  49. Example:
  50. xgbe@e0700000 {
  51. compatible = "amd,xgbe-seattle-v1a";
  52. reg = <0 0xe0700000 0 0x80000>,
  53. <0 0xe0780000 0 0x80000>,
  54. <0 0xe1240800 0 0x00400>,
  55. <0 0xe1250000 0 0x00060>,
  56. <0 0xe1250080 0 0x00004>;
  57. interrupt-parent = <&gic>;
  58. interrupts = <0 325 4>,
  59. <0 326 1>, <0 327 1>, <0 328 1>, <0 329 1>,
  60. <0 323 4>;
  61. amd,per-channel-interrupt;
  62. clocks = <&xgbe_dma_clk>, <&xgbe_ptp_clk>;
  63. clock-names = "dma_clk", "ptp_clk";
  64. phy-mode = "xgmii";
  65. mac-address = [ 02 a1 a2 a3 a4 a5 ];
  66. amd,speed-set = <0>;
  67. amd,serdes-blwc = <1>, <1>, <0>;
  68. amd,serdes-cdr-rate = <2>, <2>, <7>;
  69. amd,serdes-pq-skew = <10>, <10>, <30>;
  70. amd,serdes-tx-amp = <15>, <15>, <10>;
  71. amd,serdes-dfe-tap-config = <3>, <3>, <1>;
  72. amd,serdes-dfe-tap-enable = <0>, <0>, <127>;
  73. };