| * 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"; |
| status = "disabled"; |
| }; |