| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | * Freescale Fast Ethernet Controller (FEC) |
| 2 | |
| 3 | Required properties: |
| 4 | - compatible : Should be "fsl,<soc>-fec" |
| 5 | - reg : Address and length of the register set for the device |
| 6 | - interrupts : Should contain fec interrupt |
| 7 | - phy-mode : See ethernet.txt file in the same directory |
| 8 | |
| 9 | Optional properties: |
| 10 | - phy-supply : regulator that powers the Ethernet PHY. |
| 11 | - phy-handle : phandle to the PHY device connected to this device. |
| 12 | - fixed-link : Assume a fixed link. See fixed-link.txt in the same directory. |
| 13 | Use instead of phy-handle. |
| 14 | - fsl,num-tx-queues : The property is valid for enet-avb IP, which supports |
| 15 | hw multi queues. Should specify the tx queue number, otherwise set tx queue |
| 16 | number to 1. |
| 17 | - fsl,num-rx-queues : The property is valid for enet-avb IP, which supports |
| 18 | hw multi queues. Should specify the rx queue number, otherwise set rx queue |
| 19 | number to 1. |
| 20 | - fsl,magic-packet : If present, indicates that the hardware supports waking |
| 21 | up via magic packet. |
| 22 | - fsl,err006687-workaround-present: If present indicates that the system has |
| 23 | the hardware workaround for ERR006687 applied and does not need a software |
| 24 | workaround. |
| 25 | -interrupt-names: names of the interrupts listed in interrupts property in |
| 26 | the same order. The defaults if not specified are |
| 27 | __Number of interrupts__ __Default__ |
| 28 | 1 "int0" |
| 29 | 2 "int0", "pps" |
| 30 | 3 "int0", "int1", "int2" |
| 31 | 4 "int0", "int1", "int2", "pps" |
| 32 | The order may be changed as long as they correspond to the interrupts |
| 33 | property. Currently, only i.mx7 uses "int1" and "int2". They correspond to |
| 34 | tx/rx queues 1 and 2. "int0" will be used for queue 0 and ENET_MII interrupts. |
| 35 | For imx6sx, "int0" handles all 3 queues and ENET_MII. "pps" is for the pulse |
| 36 | per second interrupt associated with 1588 precision time protocol(PTP). |
| 37 | |
| 38 | Optional subnodes: |
| 39 | - mdio : specifies the mdio bus in the FEC, used as a container for phy nodes |
| 40 | according to phy.txt in the same directory |
| 41 | |
| 42 | Deprecated optional properties: |
| 43 | To avoid these, create a phy node according to phy.txt in the same |
| 44 | directory, and point the fec's "phy-handle" property to it. Then use |
| 45 | the phy's reset binding, again described by phy.txt. |
| 46 | - phy-reset-gpios : Should specify the gpio for phy reset |
| 47 | - phy-reset-duration : Reset duration in milliseconds. Should present |
| 48 | only if property "phy-reset-gpios" is available. Missing the property |
| 49 | will have the duration be 1 millisecond. Numbers greater than 1000 are |
| 50 | invalid and 1 millisecond will be used instead. |
| 51 | - phy-reset-active-high : If present then the reset sequence using the GPIO |
| 52 | specified in the "phy-reset-gpios" property is reversed (H=reset state, |
| 53 | L=operation state). |
| 54 | - phy-reset-post-delay : Post reset delay in milliseconds. If present then |
| 55 | a delay of phy-reset-post-delay milliseconds will be observed after the |
| 56 | phy-reset-gpios has been toggled. Can be omitted thus no delay is |
| 57 | observed. Delay is in range of 1ms to 1000ms. Other delays are invalid. |
| 58 | |
| 59 | Example: |
| 60 | |
| 61 | ethernet@83fec000 { |
| 62 | compatible = "fsl,imx51-fec", "fsl,imx27-fec"; |
| 63 | reg = <0x83fec000 0x4000>; |
| 64 | interrupts = <87>; |
| 65 | phy-mode = "mii"; |
| 66 | phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>; /* GPIO2_14 */ |
| 67 | local-mac-address = [00 04 9F 01 1B B9]; |
| 68 | phy-supply = <®_fec_supply>; |
| 69 | }; |
| 70 | |
| 71 | Example with phy specified: |
| 72 | |
| 73 | ethernet@83fec000 { |
| 74 | compatible = "fsl,imx51-fec", "fsl,imx27-fec"; |
| 75 | reg = <0x83fec000 0x4000>; |
| 76 | interrupts = <87>; |
| 77 | phy-mode = "mii"; |
| 78 | phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>; /* GPIO2_14 */ |
| 79 | local-mac-address = [00 04 9F 01 1B B9]; |
| 80 | phy-supply = <®_fec_supply>; |
| 81 | phy-handle = <ðphy>; |
| 82 | mdio { |
| 83 | ethphy: ethernet-phy@6 { |
| 84 | compatible = "ethernet-phy-ieee802.3-c22"; |
| 85 | reg = <6>; |
| 86 | max-speed = <100>; |
| 87 | }; |
| 88 | }; |
| 89 | }; |