xref: /linux/Documentation/devicetree/bindings/net/apm-xgene-enet.txt (revision b85d45947951d23cb22d90caecf4c1eb81342c96)
1APM X-Gene SoC Ethernet nodes
2
3Ethernet nodes are defined to describe on-chip ethernet interfaces in
4APM X-Gene SoC.
5
6Required properties for all the ethernet interfaces:
7- compatible: Should state binding information from the following list,
8  - "apm,xgene-enet":    RGMII based 1G interface
9  - "apm,xgene1-sgenet": SGMII based 1G interface
10  - "apm,xgene1-xgenet": XFI based 10G interface
11- reg: Address and length of the register set for the device. It contains the
12  information of registers in the same order as described by reg-names
13- reg-names: Should contain the register set names
14  - "enet_csr": Ethernet control and status register address space
15  - "ring_csr": Descriptor ring control and status register address space
16  - "ring_cmd": Descriptor ring command register address space
17- interrupts: Two interrupt specifiers can be specified.
18  - First is the Rx interrupt.  This irq is mandatory.
19  - Second is the Tx completion interrupt.
20    This is supported only on SGMII based 1GbE and 10GbE interfaces.
21- port-id: Port number (0 or 1)
22- clocks: Reference to the clock entry.
23- local-mac-address: MAC address assigned to this device
24- phy-connection-type: Interface type between ethernet device and PHY device
25
26Required properties for ethernet interfaces that have external PHY:
27- phy-handle: Reference to a PHY node connected to this device
28
29- mdio: Device tree subnode with the following required properties:
30  - compatible: Must be "apm,xgene-mdio".
31  - #address-cells: Must be <1>.
32  - #size-cells: Must be <0>.
33
34  For the phy on the mdio bus, there must be a node with the following fields:
35  - compatible: PHY identifier.  Please refer ./phy.txt for the format.
36  - reg: The ID number for the phy.
37
38Optional properties:
39- status: Should be "ok" or "disabled" for enabled/disabled. Default is "ok".
40
41Example:
42	menetclk: menetclk {
43		compatible = "apm,xgene-device-clock";
44		clock-output-names = "menetclk";
45		status = "ok";
46	};
47
48	menet: ethernet@17020000 {
49		compatible = "apm,xgene-enet";
50		status = "disabled";
51		reg = <0x0 0x17020000 0x0 0xd100>,
52		      <0x0 0X17030000 0x0 0X400>,
53		      <0x0 0X10000000 0x0 0X200>;
54		reg-names = "enet_csr", "ring_csr", "ring_cmd";
55		interrupts = <0x0 0x3c 0x4>;
56		port-id = <0>;
57		clocks = <&menetclk 0>;
58		local-mac-address = [00 01 73 00 00 01];
59		phy-connection-type = "rgmii";
60		phy-handle = <&menetphy>;
61		mdio {
62			compatible = "apm,xgene-mdio";
63			#address-cells = <1>;
64			#size-cells = <0>;
65			menetphy: menetphy@3 {
66				compatible = "ethernet-phy-id001c.c915";
67				reg = <0x3>;
68			};
69
70		};
71	};
72
73/* Board-specific peripheral configurations */
74&menet {
75        status = "ok";
76};
77