1 * NI XGE Ethernet controller 1 * NI XGE Ethernet controller 2 2 3 Required properties: 3 Required properties: 4 - compatible: Should be "ni,xge-enet-3.00", bu 4 - compatible: Should be "ni,xge-enet-3.00", but can be "ni,xge-enet-2.00" for 5 older device trees with DMA engi 5 older device trees with DMA engines co-located in the address map, 6 with the one reg entry to descri 6 with the one reg entry to describe the whole device. 7 - reg: Address and length of the register set 7 - reg: Address and length of the register set for the device. It contains the 8 information of registers in the same or 8 information of registers in the same order as described by reg-names. 9 - reg-names: Should contain the reg names 9 - reg-names: Should contain the reg names 10 "dma": DMA engine control and status 10 "dma": DMA engine control and status region 11 "ctrl": MDIO and PHY control and statu 11 "ctrl": MDIO and PHY control and status region 12 - interrupts: Should contain tx and rx interru 12 - interrupts: Should contain tx and rx interrupt 13 - interrupt-names: Should be "rx" and "tx" 13 - interrupt-names: Should be "rx" and "tx" 14 - phy-mode: See ethernet.txt file in the same 14 - phy-mode: See ethernet.txt file in the same directory. 15 - nvmem-cells: Phandle of nvmem cell containin 15 - nvmem-cells: Phandle of nvmem cell containing the MAC address 16 - nvmem-cell-names: Should be "address" 16 - nvmem-cell-names: Should be "address" 17 17 18 Optional properties: 18 Optional properties: 19 - mdio subnode to indicate presence of MDIO co 19 - mdio subnode to indicate presence of MDIO controller 20 - fixed-link : Assume a fixed link. See fixed- 20 - fixed-link : Assume a fixed link. See fixed-link.txt in the same directory. 21 Use instead of phy-handle. 21 Use instead of phy-handle. 22 - phy-handle: See ethernet.txt file in the sam 22 - phy-handle: See ethernet.txt file in the same directory. 23 23 24 Examples (10G generic PHY): 24 Examples (10G generic PHY): 25 nixge0: ethernet@40000000 { 25 nixge0: ethernet@40000000 { 26 compatible = "ni,xge-enet-3.00 26 compatible = "ni,xge-enet-3.00"; 27 reg = <0x40000000 0x4000 27 reg = <0x40000000 0x4000 28 0x41002000 0x2000>; 28 0x41002000 0x2000>; 29 reg-names = "dma", "ctrl"; 29 reg-names = "dma", "ctrl"; 30 30 31 nvmem-cells = <ð1_addr>; 31 nvmem-cells = <ð1_addr>; 32 nvmem-cell-names = "address"; 32 nvmem-cell-names = "address"; 33 33 34 interrupts = <0 29 IRQ_TYPE_LE 34 interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>, <0 30 IRQ_TYPE_LEVEL_HIGH>; 35 interrupt-names = "rx", "tx"; 35 interrupt-names = "rx", "tx"; 36 interrupt-parent = <&intc>; 36 interrupt-parent = <&intc>; 37 37 38 phy-mode = "xgmii"; 38 phy-mode = "xgmii"; 39 phy-handle = <ðernet_phy1>; 39 phy-handle = <ðernet_phy1>; 40 40 41 mdio { 41 mdio { 42 ethernet_phy1: etherne 42 ethernet_phy1: ethernet-phy@4 { 43 compatible = " 43 compatible = "ethernet-phy-ieee802.3-c45"; 44 reg = <4>; 44 reg = <4>; 45 }; 45 }; 46 }; 46 }; 47 }; 47 }; 48 48 49 Examples (10G generic PHY, no MDIO): 49 Examples (10G generic PHY, no MDIO): 50 nixge0: ethernet@40000000 { 50 nixge0: ethernet@40000000 { 51 compatible = "ni,xge-enet-2.00 51 compatible = "ni,xge-enet-2.00"; 52 reg = <0x40000000 0x6000>; 52 reg = <0x40000000 0x6000>; 53 53 54 nvmem-cells = <ð1_addr>; 54 nvmem-cells = <ð1_addr>; 55 nvmem-cell-names = "address"; 55 nvmem-cell-names = "address"; 56 56 57 interrupts = <0 29 IRQ_TYPE_LE 57 interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>, <0 30 IRQ_TYPE_LEVEL_HIGH>; 58 interrupt-names = "rx", "tx"; 58 interrupt-names = "rx", "tx"; 59 interrupt-parent = <&intc>; 59 interrupt-parent = <&intc>; 60 60 61 phy-mode = "xgmii"; 61 phy-mode = "xgmii"; 62 phy-handle = <ðernet_phy1>; 62 phy-handle = <ðernet_phy1>; 63 }; 63 }; 64 64 65 Examples (1G generic fixed-link + MDIO): 65 Examples (1G generic fixed-link + MDIO): 66 nixge0: ethernet@40000000 { 66 nixge0: ethernet@40000000 { 67 compatible = "ni,xge-enet-2.00 67 compatible = "ni,xge-enet-2.00"; 68 reg = <0x40000000 0x6000>; 68 reg = <0x40000000 0x6000>; 69 69 70 nvmem-cells = <ð1_addr>; 70 nvmem-cells = <ð1_addr>; 71 nvmem-cell-names = "address"; 71 nvmem-cell-names = "address"; 72 72 73 interrupts = <0 29 IRQ_TYPE_LE 73 interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>, <0 30 IRQ_TYPE_LEVEL_HIGH>; 74 interrupt-names = "rx", "tx"; 74 interrupt-names = "rx", "tx"; 75 interrupt-parent = <&intc>; 75 interrupt-parent = <&intc>; 76 76 77 phy-mode = "xgmii"; 77 phy-mode = "xgmii"; 78 78 79 fixed-link { 79 fixed-link { 80 speed = <1000>; 80 speed = <1000>; 81 pause; 81 pause; 82 link-gpios = <&gpio0 6 82 link-gpios = <&gpio0 63 GPIO_ACTIVE_HIGH>; 83 }; 83 }; 84 84 85 mdio { 85 mdio { 86 ethernet_phy1: etherne 86 ethernet_phy1: ethernet-phy@4 { 87 compatible = " 87 compatible = "ethernet-phy-ieee802.3-c22"; 88 reg = <4>; 88 reg = <4>; 89 }; 89 }; 90 }; 90 }; 91 91 92 }; 92 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.