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