Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | * Synopsys ARC EMAC 10/100 Ethernet driver (EMAC) |
| 2 | |
| 3 | Required properties: |
| 4 | - compatible: Should be "snps,arc-emac" |
| 5 | - reg: Address and length of the register set for the device |
| 6 | - interrupts: Should contain the EMAC interrupts |
| 7 | - max-speed: see ethernet.txt file in the same directory. |
| 8 | - phy: see ethernet.txt file in the same directory. |
| 9 | |
| 10 | Optional properties: |
| 11 | - phy-reset-gpios : Should specify the gpio for phy reset |
| 12 | - phy-reset-duration : Reset duration in milliseconds. Should present |
| 13 | only if property "phy-reset-gpios" is available. Missing the property |
| 14 | will have the duration be 1 millisecond. Numbers greater than 1000 are |
| 15 | invalid and 1 millisecond will be used instead. |
| 16 | |
| 17 | Clock handling: |
| 18 | The clock frequency is needed to calculate and set polling period of EMAC. |
| 19 | It must be provided by one of: |
| 20 | - clock-frequency: CPU frequency. |
| 21 | - clocks: reference to the clock supplying the EMAC. |
| 22 | |
| 23 | Child nodes of the driver are the individual PHY devices connected to the |
| 24 | MDIO bus. They must have a "reg" property given the PHY address on the MDIO bus. |
| 25 | |
| 26 | Examples: |
| 27 | |
| 28 | ethernet@c0fc2000 { |
| 29 | compatible = "snps,arc-emac"; |
| 30 | reg = <0xc0fc2000 0x3c>; |
| 31 | interrupts = <6>; |
| 32 | mac-address = [ 00 11 22 33 44 55 ]; |
| 33 | |
| 34 | clock-frequency = <80000000>; |
| 35 | /* or */ |
| 36 | clocks = <&emac_clock>; |
| 37 | |
| 38 | max-speed = <100>; |
| 39 | phy = <&phy0>; |
| 40 | |
| 41 | #address-cells = <1>; |
| 42 | #size-cells = <0>; |
| 43 | phy0: ethernet-phy@0 { |
| 44 | reg = <1>; |
| 45 | }; |
| 46 | }; |