| * Broadcom BCM7xxx Ethernet Controller (GENET) |
| |
| Required properties: |
| - compatible: should contain one of "brcm,genet-v1", "brcm,genet-v2", |
| "brcm,genet-v3", "brcm,genet-v4", "brcm,genet-v5", "brcm,bcm2711-genet-v5". |
| - reg: address and length of the register set for the device |
| - interrupts and/or interrupts-extended: must be two cells, the first cell |
| is the general purpose interrupt line, while the second cell is the |
| interrupt for the ring RX and TX queues operating in ring mode. An |
| optional third interrupt cell for Wake-on-LAN can be specified. |
| See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt |
| for information on the property specifics. |
| - phy-mode: see ethernet.txt file in the same directory |
| - #address-cells: should be 1 |
| - #size-cells: should be 1 |
| |
| Optional properties: |
| - clocks: When provided, must be two phandles to the functional clocks nodes |
| of the GENET block. The first phandle is the main GENET clock used during |
| normal operation, while the second phandle is the Wake-on-LAN clock. |
| - clock-names: When provided, names of the functional clock phandles, first |
| name should be "enet" and second should be "enet-wol". |
| |
| - phy-handle: See ethernet.txt file in the same directory; used to describe |
| configurations where a PHY (internal or external) is used. |
| |
| - fixed-link: When the GENET interface is connected to a MoCA hardware block or |
| when operating in a RGMII to RGMII type of connection, or when the MDIO bus is |
| voluntarily disabled, this property should be used to describe the "fixed link". |
| See Documentation/devicetree/bindings/net/fixed-link.txt for information on |
| the property specifics |
| |
| Required child nodes: |
| |
| - mdio bus node: this node should always be present regardless of the PHY |
| configuration of the GENET instance |
| |
| MDIO bus node required properties: |
| |
| - compatible: should contain one of "brcm,genet-mdio-v1", "brcm,genet-mdio-v2" |
| "brcm,genet-mdio-v3", "brcm,genet-mdio-v4", "brcm,genet-mdio-v5", the version |
| has to match the parent node compatible property (e.g: brcm,genet-v4 pairs |
| with brcm,genet-mdio-v4) |
| - reg: address and length relative to the parent node base register address |
| - #address-cells: address cell for MDIO bus addressing, should be 1 |
| - #size-cells: size of the cells for MDIO bus addressing, should be 0 |
| |
| Ethernet PHY node properties: |
| |
| See Documentation/devicetree/bindings/net/phy.txt for the list of required and |
| optional properties. |
| |
| Internal Gigabit PHY example: |
| |
| ethernet@f0b60000 { |
| phy-mode = "internal"; |
| phy-handle = <&phy1>; |
| mac-address = [ 00 10 18 36 23 1a ]; |
| compatible = "brcm,genet-v4"; |
| #address-cells = <0x1>; |
| #size-cells = <0x1>; |
| reg = <0xf0b60000 0xfc4c>; |
| interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>; |
| |
| mdio@e14 { |
| compatible = "brcm,genet-mdio-v4"; |
| #address-cells = <0x1>; |
| #size-cells = <0x0>; |
| reg = <0xe14 0x8>; |
| |
| phy1: ethernet-phy@1 { |
| max-speed = <1000>; |
| reg = <0x1>; |
| compatible = "ethernet-phy-ieee802.3-c22"; |
| }; |
| }; |
| }; |
| |
| MoCA interface / MAC to MAC example: |
| |
| ethernet@f0b80000 { |
| phy-mode = "moca"; |
| fixed-link = <1 0 1000 0 0>; |
| mac-address = [ 00 10 18 36 24 1a ]; |
| compatible = "brcm,genet-v4"; |
| #address-cells = <0x1>; |
| #size-cells = <0x1>; |
| reg = <0xf0b80000 0xfc4c>; |
| interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>; |
| |
| mdio@e14 { |
| compatible = "brcm,genet-mdio-v4"; |
| #address-cells = <0x1>; |
| #size-cells = <0x0>; |
| reg = <0xe14 0x8>; |
| }; |
| }; |
| |
| |
| External MDIO-connected Gigabit PHY/switch: |
| |
| ethernet@f0ba0000 { |
| phy-mode = "rgmii"; |
| phy-handle = <&phy0>; |
| mac-address = [ 00 10 18 36 26 1a ]; |
| compatible = "brcm,genet-v4"; |
| #address-cells = <0x1>; |
| #size-cells = <0x1>; |
| reg = <0xf0ba0000 0xfc4c>; |
| interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>; |
| |
| mdio@e14 { |
| compatible = "brcm,genet-mdio-v4"; |
| #address-cells = <0x1>; |
| #size-cells = <0x0>; |
| reg = <0xe14 0x8>; |
| |
| phy0: ethernet-phy@0 { |
| max-speed = <1000>; |
| reg = <0x0>; |
| compatible = "ethernet-phy-ieee802.3-c22"; |
| }; |
| }; |
| }; |