Documentation: add Device tree bindings for Broadcom GENET
authorFlorian Fainelli <f.fainelli@gmail.com>
Fri, 14 Feb 2014 00:08:50 +0000 (16:08 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 Feb 2014 05:27:58 +0000 (00:27 -0500)
This patch adds the Device Tree bindings for the Broadcom GENET Gigabit
Ethernet controller. A bunch of examples are provided to illustrate the
versatile aspect of the hardare.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/devicetree/bindings/net/broadcom-bcmgenet.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/net/broadcom-bcmgenet.txt b/Documentation/devicetree/bindings/net/broadcom-bcmgenet.txt
new file mode 100644 (file)
index 0000000..afd31f9
--- /dev/null
@@ -0,0 +1,121 @@
+* Broadcom BCM7xxx Ethernet Controller (GENET)
+
+Required properties:
+- compatible: should contain one of "brcm,genet-v1", "brcm,genet-v2",
+  "brcm,genet-v3", "brcm,genet-v4".
+- reg: address and length of the register set for the device
+- interrupts: must be two cells, the first cell is the general purpose
+  interrupt line, while the second cell is the interrupt for the ring
+  RX and TX queues operating in ring mode
+- phy-mode: String, operation mode of the PHY interface. Supported values are
+  "mii", "rgmii", "rgmii-txid", "rev-mii", "moca". Analogous to ePAPR
+  "phy-connection-type" values
+- address-cells: should be 1
+- size-cells: should be 1
+
+Optional properties:
+- clocks: When provided, must be two cells, first one is the main GENET clock
+  and the second cell is the Genet Wake-on-LAN clock.
+
+- 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".
+  See Documentation/devicetree/bindings/net/fsl-tsec-phy.txt for information on
+  the property specifics
+
+Required child nodes:
+
+- mdio bus node: this node should always be present regarless of the PHY
+  configuration of the GENET instance
+
+MDIO bus node required properties:
+
+- compatible: should contain one of "brcm,genet-mdio-v1", "brcm,genet-mdio-v2"
+  "brcm,genet-mdio-v3", "brcm,genet-mdio-v4", the version has to match the
+  parent node compatible property (e.g: brcm,genet-v4 pairs with
+  brcm,genet-mdio-v4)
+- 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
+
+Ethernet PHY node properties:
+
+See Documentation/devicetree/bindings/net/phy.txt for the list of required and
+optional properties.
+
+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>;
+       reg = <0xf0b60000 0xfc4c>;
+       interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>;
+
+       mdio@e14 {
+               compatible = "brcm,genet-mdio-v4";
+               #address-cells = <0x1>;
+               #size-cells = <0x0>;
+               reg = <0xe14 0x8>;
+
+               phy1: ethernet-phy@1 {
+                       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>;
+       reg = <0xf0b80000 0xfc4c>;
+       interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>;
+
+       mdio@e14 {
+               compatible = "brcm,genet-mdio-v4";
+               #address-cells = <0x1>;
+               #size-cells = <0x0>;
+               reg = <0xe14 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>;
+       reg = <0xf0ba0000 0xfc4c>;
+       interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>;
+
+       mdio@0e14 {
+               compatible = "brcm,genet-mdio-v4";
+               #address-cells = <0x1>;
+               #size-cells = <0x0>;
+               reg = <0xe14 0x8>;
+
+               phy0: ethernet-phy@0 {
+                       max-speed = <1000>;
+                       reg = <0x0>;
+                       compatible = "brcm,bcm53125", "ethernet-phy-ieee802.3-c22";
+               };
+       };
+};