John Crispin | 58ff986 | 2016-03-08 11:29:54 +0100 | [diff] [blame] | 1 | MediaTek Frame Engine Ethernet controller |
| 2 | ========================================= |
| 3 | |
| 4 | The frame engine ethernet controller can be found on MediaTek SoCs. These SoCs |
| 5 | have dual GMAC each represented by a child node.. |
| 6 | |
| 7 | * Ethernet controller node |
| 8 | |
| 9 | Required properties: |
| 10 | - compatible: Should be "mediatek,mt7623-eth" |
| 11 | - reg: Address and length of the register set for the device |
John Crispin | f1d0540 | 2016-04-12 08:35:18 +0200 | [diff] [blame] | 12 | - interrupts: Should contain the three frame engines interrupts in numeric |
| 13 | order. These are fe_int0, fe_int1 and fe_int2. |
John Crispin | 58ff986 | 2016-03-08 11:29:54 +0100 | [diff] [blame] | 14 | - clocks: the clock used by the core |
| 15 | - clock-names: the names of the clock listed in the clocks property. These are |
| 16 | "ethif", "esw", "gp2", "gp1" |
| 17 | - power-domains: phandle to the power domain that the ethernet is part of |
| 18 | - resets: Should contain a phandle to the ethsys reset signal |
| 19 | - reset-names: Should contain the reset signal name "eth" |
| 20 | - mediatek,ethsys: phandle to the syscon node that handles the port setup |
| 21 | - mediatek,pctl: phandle to the syscon node that handles the ports slew rate |
| 22 | and driver current |
| 23 | |
| 24 | Optional properties: |
| 25 | - interrupt-parent: Should be the phandle for the interrupt controller |
| 26 | that services interrupts for this device |
Nelson Chang | 004e6cc | 2016-09-17 23:50:57 +0800 | [diff] [blame] | 27 | - mediatek,hwlro: the capability if the hardware supports LRO functions |
John Crispin | 58ff986 | 2016-03-08 11:29:54 +0100 | [diff] [blame] | 28 | |
| 29 | * Ethernet MAC node |
| 30 | |
| 31 | Required properties: |
| 32 | - compatible: Should be "mediatek,eth-mac" |
| 33 | - reg: The number of the MAC |
Sean Wang | b885396 | 2016-09-22 10:33:56 +0800 | [diff] [blame] | 34 | - phy-handle: see ethernet.txt file in the same directory and |
| 35 | the phy-mode "trgmii" required being provided when reg |
| 36 | is equal to 0 and the MAC uses fixed-link to connect |
Sean Wang | 7f8c286 | 2016-09-23 14:09:32 +0800 | [diff] [blame^] | 37 | with internal switch such as MT7530. |
John Crispin | 58ff986 | 2016-03-08 11:29:54 +0100 | [diff] [blame] | 38 | |
| 39 | Example: |
| 40 | |
| 41 | eth: ethernet@1b100000 { |
| 42 | compatible = "mediatek,mt7623-eth"; |
| 43 | reg = <0 0x1b100000 0 0x20000>; |
| 44 | clocks = <&topckgen CLK_TOP_ETHIF_SEL>, |
| 45 | <ðsys CLK_ETHSYS_ESW>, |
| 46 | <ðsys CLK_ETHSYS_GP2>, |
| 47 | <ðsys CLK_ETHSYS_GP1>; |
| 48 | clock-names = "ethif", "esw", "gp2", "gp1"; |
John Crispin | f1d0540 | 2016-04-12 08:35:18 +0200 | [diff] [blame] | 49 | interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_LOW |
| 50 | GIC_SPI 199 IRQ_TYPE_LEVEL_LOW |
| 51 | GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>; |
John Crispin | 58ff986 | 2016-03-08 11:29:54 +0100 | [diff] [blame] | 52 | power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>; |
| 53 | resets = <ðsys MT2701_ETHSYS_ETH_RST>; |
| 54 | reset-names = "eth"; |
| 55 | mediatek,ethsys = <ðsys>; |
| 56 | mediatek,pctl = <&syscfg_pctl_a>; |
Nelson Chang | 004e6cc | 2016-09-17 23:50:57 +0800 | [diff] [blame] | 57 | mediatek,hwlro; |
John Crispin | 58ff986 | 2016-03-08 11:29:54 +0100 | [diff] [blame] | 58 | #address-cells = <1>; |
| 59 | #size-cells = <0>; |
| 60 | |
| 61 | gmac1: mac@0 { |
| 62 | compatible = "mediatek,eth-mac"; |
| 63 | reg = <0>; |
| 64 | phy-handle = <&phy0>; |
| 65 | }; |
| 66 | |
| 67 | gmac2: mac@1 { |
| 68 | compatible = "mediatek,eth-mac"; |
| 69 | reg = <1>; |
| 70 | phy-handle = <&phy1>; |
| 71 | }; |
| 72 | |
| 73 | mdio-bus { |
| 74 | phy0: ethernet-phy@0 { |
| 75 | reg = <0>; |
| 76 | phy-mode = "rgmii"; |
| 77 | }; |
| 78 | |
| 79 | phy1: ethernet-phy@1 { |
| 80 | reg = <1>; |
| 81 | phy-mode = "rgmii"; |
| 82 | }; |
| 83 | }; |
| 84 | }; |