| * Amlogic Meson DWMAC Ethernet controller | |
| The device inherits all the properties of the dwmac/stmmac devices | |
| described in the file stmmac.txt in the current directory with the | |
| following changes. | |
| Required properties on all platforms: | |
| - compatible: Depending on the platform this should be one of: | |
| - "amlogic,meson6-dwmac" | |
| - "amlogic,meson8b-dwmac" | |
| - "amlogic,meson-gxbb-dwmac" | |
| Additionally "snps,dwmac" and any applicable more | |
| detailed version number described in net/stmmac.txt | |
| should be used. | |
| - reg: The first register range should be the one of the DWMAC | |
| controller. The second range is is for the Amlogic specific | |
| configuration (for example the PRG_ETHERNET register range | |
| on Meson8b and newer) | |
| Required properties on Meson8b and newer: | |
| - clock-names: Should contain the following: | |
| - "stmmaceth" - see stmmac.txt | |
| - "clkin0" - first parent clock of the internal mux | |
| - "clkin1" - second parent clock of the internal mux | |
| Optional properties on Meson8b and newer: | |
| - amlogic,tx-delay-ns: The internal RGMII TX clock delay (provided | |
| by this driver) in nanoseconds. Allowed values | |
| are: 0ns, 2ns, 4ns, 6ns. | |
| When phy-mode is set to "rgmii" then the TX | |
| delay should be explicitly configured. When | |
| not configured a fallback of 2ns is used. | |
| When the phy-mode is set to either "rgmii-id" | |
| or "rgmii-txid" the TX clock delay is already | |
| provided by the PHY. In that case this | |
| property should be set to 0ns (which disables | |
| the TX clock delay in the MAC to prevent the | |
| clock from going off because both PHY and MAC | |
| are adding a delay). | |
| Any configuration is ignored when the phy-mode | |
| is set to "rmii". | |
| Example for Meson6: | |
| ethmac: ethernet@c9410000 { | |
| compatible = "amlogic,meson6-dwmac", "snps,dwmac"; | |
| reg = <0xc9410000 0x10000 | |
| 0xc1108108 0x4>; | |
| interrupts = <0 8 1>; | |
| interrupt-names = "macirq"; | |
| clocks = <&clk81>; | |
| clock-names = "stmmaceth"; | |
| } | |
| Example for GXBB: | |
| ethmac: ethernet@c9410000 { | |
| compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac"; | |
| reg = <0x0 0xc9410000 0x0 0x10000>, | |
| <0x0 0xc8834540 0x0 0x8>; | |
| interrupts = <0 8 1>; | |
| interrupt-names = "macirq"; | |
| clocks = <&clkc CLKID_ETH>, | |
| <&clkc CLKID_FCLK_DIV2>, | |
| <&clkc CLKID_MPLL2>; | |
| clock-names = "stmmaceth", "clkin0", "clkin1"; | |
| phy-mode = "rgmii"; | |
| }; |