Florian Fainelli | aab5127 | 2014-02-13 16:08:50 -0800 | [diff] [blame] | 1 | * Broadcom BCM7xxx Ethernet Controller (GENET) |
| 2 | |
| 3 | Required properties: |
| 4 | - compatible: should contain one of "brcm,genet-v1", "brcm,genet-v2", |
| 5 | "brcm,genet-v3", "brcm,genet-v4". |
| 6 | - reg: address and length of the register set for the device |
| 7 | - interrupts: must be two cells, the first cell is the general purpose |
| 8 | interrupt line, while the second cell is the interrupt for the ring |
| 9 | RX and TX queues operating in ring mode |
Sergei Shtylyov | e8f08ee | 2014-02-18 02:41:59 +0300 | [diff] [blame] | 10 | - phy-mode: see ethernet.txt file in the same directory |
Florian Fainelli | 9e5f040 | 2014-02-18 14:36:15 -0800 | [diff] [blame] | 11 | - #address-cells: should be 1 |
| 12 | - #size-cells: should be 1 |
Florian Fainelli | aab5127 | 2014-02-13 16:08:50 -0800 | [diff] [blame] | 13 | |
| 14 | Optional properties: |
Florian Fainelli | d94b27c | 2014-02-14 15:21:42 -0800 | [diff] [blame] | 15 | - clocks: When provided, must be two phandles to the functional clocks nodes |
| 16 | of the GENET block. The first phandle is the main GENET clock used during |
| 17 | normal operation, while the second phandle is the Wake-on-LAN clock. |
| 18 | - clock-names: When provided, names of the functional clock phandles, first |
| 19 | name should be "enet" and second should be "enet-wol". |
Florian Fainelli | aab5127 | 2014-02-13 16:08:50 -0800 | [diff] [blame] | 20 | |
Sergei Shtylyov | e8f08ee | 2014-02-18 02:41:59 +0300 | [diff] [blame] | 21 | - phy-handle: See ethernet.txt file in the same directory; used to describe |
| 22 | configurations where a PHY (internal or external) is used. |
Florian Fainelli | aab5127 | 2014-02-13 16:08:50 -0800 | [diff] [blame] | 23 | |
| 24 | - fixed-link: When the GENET interface is connected to a MoCA hardware block or |
| 25 | when operating in a RGMII to RGMII type of connection, or when the MDIO bus is |
| 26 | voluntarily disabled, this property should be used to describe the "fixed link". |
Florian Fainelli | ae21888 | 2014-05-22 09:47:44 -0700 | [diff] [blame] | 27 | See Documentation/devicetree/bindings/net/fixed-link.txt for information on |
Florian Fainelli | aab5127 | 2014-02-13 16:08:50 -0800 | [diff] [blame] | 28 | the property specifics |
| 29 | |
| 30 | Required child nodes: |
| 31 | |
| 32 | - mdio bus node: this node should always be present regarless of the PHY |
| 33 | configuration of the GENET instance |
| 34 | |
| 35 | MDIO bus node required properties: |
| 36 | |
| 37 | - compatible: should contain one of "brcm,genet-mdio-v1", "brcm,genet-mdio-v2" |
| 38 | "brcm,genet-mdio-v3", "brcm,genet-mdio-v4", the version has to match the |
| 39 | parent node compatible property (e.g: brcm,genet-v4 pairs with |
| 40 | brcm,genet-mdio-v4) |
| 41 | - reg: address and length relative to the parent node base register address |
Florian Fainelli | 9e5f040 | 2014-02-18 14:36:15 -0800 | [diff] [blame] | 42 | - #address-cells: address cell for MDIO bus addressing, should be 1 |
| 43 | - #size-cells: size of the cells for MDIO bus addressing, should be 0 |
Florian Fainelli | aab5127 | 2014-02-13 16:08:50 -0800 | [diff] [blame] | 44 | |
| 45 | Ethernet PHY node properties: |
| 46 | |
| 47 | See Documentation/devicetree/bindings/net/phy.txt for the list of required and |
| 48 | optional properties. |
| 49 | |
| 50 | Internal Gigabit PHY example: |
| 51 | |
| 52 | ethernet@f0b60000 { |
| 53 | phy-mode = "internal"; |
| 54 | phy-handle = <&phy1>; |
| 55 | mac-address = [ 00 10 18 36 23 1a ]; |
| 56 | compatible = "brcm,genet-v4"; |
| 57 | #address-cells = <0x1>; |
| 58 | #size-cells = <0x1>; |
| 59 | reg = <0xf0b60000 0xfc4c>; |
| 60 | interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>; |
| 61 | |
| 62 | mdio@e14 { |
| 63 | compatible = "brcm,genet-mdio-v4"; |
| 64 | #address-cells = <0x1>; |
| 65 | #size-cells = <0x0>; |
| 66 | reg = <0xe14 0x8>; |
| 67 | |
| 68 | phy1: ethernet-phy@1 { |
| 69 | max-speed = <1000>; |
| 70 | reg = <0x1>; |
Andrew Lunn | e4bf797 | 2016-01-28 02:30:30 +0100 | [diff] [blame] | 71 | compatible = "ethernet-phy-ieee802.3-c22"; |
Florian Fainelli | aab5127 | 2014-02-13 16:08:50 -0800 | [diff] [blame] | 72 | }; |
| 73 | }; |
| 74 | }; |
| 75 | |
| 76 | MoCA interface / MAC to MAC example: |
| 77 | |
| 78 | ethernet@f0b80000 { |
| 79 | phy-mode = "moca"; |
| 80 | fixed-link = <1 0 1000 0 0>; |
| 81 | mac-address = [ 00 10 18 36 24 1a ]; |
| 82 | compatible = "brcm,genet-v4"; |
| 83 | #address-cells = <0x1>; |
| 84 | #size-cells = <0x1>; |
| 85 | reg = <0xf0b80000 0xfc4c>; |
| 86 | interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>; |
| 87 | |
| 88 | mdio@e14 { |
| 89 | compatible = "brcm,genet-mdio-v4"; |
| 90 | #address-cells = <0x1>; |
| 91 | #size-cells = <0x0>; |
| 92 | reg = <0xe14 0x8>; |
| 93 | }; |
| 94 | }; |
| 95 | |
| 96 | |
| 97 | External MDIO-connected Gigabit PHY/switch: |
| 98 | |
| 99 | ethernet@f0ba0000 { |
| 100 | phy-mode = "rgmii"; |
| 101 | phy-handle = <&phy0>; |
| 102 | mac-address = [ 00 10 18 36 26 1a ]; |
| 103 | compatible = "brcm,genet-v4"; |
| 104 | #address-cells = <0x1>; |
| 105 | #size-cells = <0x1>; |
| 106 | reg = <0xf0ba0000 0xfc4c>; |
| 107 | interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>; |
| 108 | |
| 109 | mdio@0e14 { |
| 110 | compatible = "brcm,genet-mdio-v4"; |
| 111 | #address-cells = <0x1>; |
| 112 | #size-cells = <0x0>; |
| 113 | reg = <0xe14 0x8>; |
| 114 | |
| 115 | phy0: ethernet-phy@0 { |
| 116 | max-speed = <1000>; |
| 117 | reg = <0x0>; |
Andrew Lunn | e4bf797 | 2016-01-28 02:30:30 +0100 | [diff] [blame] | 118 | compatible = "ethernet-phy-ieee802.3-c22"; |
Florian Fainelli | aab5127 | 2014-02-13 16:08:50 -0800 | [diff] [blame] | 119 | }; |
| 120 | }; |
| 121 | }; |