| * Broadcom BCM7xxx Ethernet Controller (GENET) |
| |
| Required properties: |
| - compatible: should be "brcm,genet-v1", "brcm,genet-v2", "brcm,genet-v3", |
| "brcm,genet-v4". |
| - reg: address and length of the register set for the device. |
| - interrupts: interrupt for the device |
| - mdio bus node: this node should always be present regarless of the PHY |
| configuration of the GENET instance |
| - phy-mode: The interface between the SoC and the PHY (a string that |
| of_get_phy_mode() can understand). |
| |
| MDIO bus node required properties: |
| |
| - compatible: should be "brcm,genet-v<N>-mdio" |
| - 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 |
| |
| Optional properties: |
| - phy-handle: A phandle to a phy node defining the PHY address (as the reg |
| property, a single integer), 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", the property is described as follows: |
| |
| fixed-link: <a b c d e> where a is emulated phy id - choose any, |
| but unique to the all specified fixed-links, b is duplex - 0 half, |
| 1 full, c is link speed - d#10/d#100/d#1000, d is pause - 0 no |
| pause, 1 pause, e is asym_pause - 0 no asym_pause, 1 asym_pause. |
| |
| - clocks: When provided, must be two phandles to the functional clock 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 "sw_genet" and second should be "sw_genetwol". |
| |
| 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>; |
| device_type = "ethernet"; |
| reg = <0xf0b60000 0xfc4c>; |
| interrupts = <0x0 0x14 0x0 0x0 0x15 0x0>; |
| |
| mdio@b60e14 { |
| compatible = "brcm,genet-mdio-v4"; |
| #address-cells = <0x1>; |
| #size-cells = <0x0>; |
| reg = <0xb60e14 0x8>; |
| |
| phy1: ethernet-phy@1 { |
| device_type = "ethernet-phy"; |
| max-speed = <1000>; |
| reg = <0x1>; |
| compatible = "brcm,28nm-gphy", "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>; |
| device_type = "ethernet"; |
| reg = <0xf0b80000 0xfc4c>; |
| interrupts = <0x0 0x16 0x0 0x0 0x17 0x0>; |
| |
| mdio@b80e14 { |
| compatible = "brcm,genet-mdio-v4"; |
| #address-cells = <0x1>; |
| #size-cells = <0x0>; |
| reg = <0xb80e14 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>; |
| device_type = "ethernet"; |
| reg = <0xf0ba0000 0xfc4c>; |
| interrupts = <0x0 0x18 0x0 0x0 0x19 0x0>; |
| |
| mdio@ba0e14 { |
| compatible = "brcm,genet-mdio-v4"; |
| #address-cells = <0x1>; |
| #size-cells = <0x0>; |
| reg = <0xba0e14 0x8>; |
| |
| phy0: ethernet-phy@0 { |
| device_type = "ethernet-phy"; |
| max-speed = <1000>; |
| reg = <0x0>; |
| compatible = "brcm,bcm53125", "ethernet-phy-ieee802.3-c22"; |
| }; |
| }; |
| }; |