Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame^] | 1 | * MDIO IO device |
| 2 | |
| 3 | The MDIO is a bus to which the PHY devices are connected. For each |
| 4 | device that exists on this bus, a child node should be created. See |
| 5 | the definition of the PHY node in booting-without-of.txt for an example |
| 6 | of how to define a PHY. |
| 7 | |
| 8 | Required properties: |
| 9 | - reg : Offset and length of the register set for the device, and optionally |
| 10 | the offset and length of the TBIPA register (TBI PHY address |
| 11 | register). If TBIPA register is not specified, the driver will |
| 12 | attempt to infer it from the register set specified (your mileage may |
| 13 | vary). |
| 14 | - compatible : Should define the compatible device type for the |
| 15 | mdio. Currently supported strings/devices are: |
| 16 | - "fsl,gianfar-tbi" |
| 17 | - "fsl,gianfar-mdio" |
| 18 | - "fsl,etsec2-tbi" |
| 19 | - "fsl,etsec2-mdio" |
| 20 | - "fsl,ucc-mdio" |
| 21 | - "fsl,fman-mdio" |
| 22 | When device_type is "mdio", the following strings are also considered: |
| 23 | - "gianfar" |
| 24 | - "ucc_geth_phy" |
| 25 | |
| 26 | Example: |
| 27 | |
| 28 | mdio@24520 { |
| 29 | reg = <24520 20>; |
| 30 | compatible = "fsl,gianfar-mdio"; |
| 31 | |
| 32 | ethernet-phy@0 { |
| 33 | ...... |
| 34 | }; |
| 35 | }; |
| 36 | |
| 37 | * TBI Internal MDIO bus |
| 38 | |
| 39 | As of this writing, every tsec is associated with an internal TBI PHY. |
| 40 | This PHY is accessed through the local MDIO bus. These buses are defined |
| 41 | similarly to the mdio buses, except they are compatible with "fsl,gianfar-tbi". |
| 42 | The TBI PHYs underneath them are similar to normal PHYs, but the reg property |
| 43 | is considered instructive, rather than descriptive. The reg property should |
| 44 | be chosen so it doesn't interfere with other PHYs on the bus. |
| 45 | |
| 46 | * Gianfar-compatible ethernet nodes |
| 47 | |
| 48 | Properties: |
| 49 | |
| 50 | - device_type : Should be "network" |
| 51 | - model : Model of the device. Can be "TSEC", "eTSEC", or "FEC" |
| 52 | - compatible : Should be "gianfar" |
| 53 | - reg : Offset and length of the register set for the device |
| 54 | - interrupts : For FEC devices, the first interrupt is the device's |
| 55 | interrupt. For TSEC and eTSEC devices, the first interrupt is |
| 56 | transmit, the second is receive, and the third is error. |
| 57 | - phy-handle : See ethernet.txt file in the same directory. |
| 58 | - fixed-link : See fixed-link.txt in the same directory. |
| 59 | - phy-connection-type : See ethernet.txt file in the same directory. |
| 60 | This property is only really needed if the connection is of type |
| 61 | "rgmii-id", as all other connection types are detected by hardware. |
| 62 | - fsl,magic-packet : If present, indicates that the hardware supports |
| 63 | waking up via magic packet. |
| 64 | - fsl,wake-on-filer : If present, indicates that the hardware supports |
| 65 | waking up by Filer General Purpose Interrupt (FGPI) asserted on the |
| 66 | Rx int line. This is an advanced power management capability allowing |
| 67 | certain packet types (user) defined by filer rules to wake up the system. |
| 68 | - bd-stash : If present, indicates that the hardware supports stashing |
| 69 | buffer descriptors in the L2. |
| 70 | - rx-stash-len : Denotes the number of bytes of a received buffer to stash |
| 71 | in the L2. |
| 72 | - rx-stash-idx : Denotes the index of the first byte from the received |
| 73 | buffer to stash in the L2. |
| 74 | |
| 75 | Example: |
| 76 | ethernet@24000 { |
| 77 | device_type = "network"; |
| 78 | model = "TSEC"; |
| 79 | compatible = "gianfar"; |
| 80 | reg = <0x24000 0x1000>; |
| 81 | local-mac-address = [ 00 E0 0C 00 73 00 ]; |
| 82 | interrupts = <29 2 30 2 34 2>; |
| 83 | interrupt-parent = <&mpic>; |
| 84 | phy-handle = <&phy0> |
| 85 | }; |
| 86 | |
| 87 | * Gianfar PTP clock nodes |
| 88 | |
| 89 | Refer to Documentation/devicetree/bindings/ptp/ptp-qoriq.txt |