DT bindings for the Felix ethernet switch, consisting of the VSC9959 switch core integrated as a PCIe endpoint device. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxx> --- .../devicetree/bindings/net/mscc-felix.txt | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/mscc-felix.txt diff --git a/Documentation/devicetree/bindings/net/mscc-felix.txt b/Documentation/devicetree/bindings/net/mscc-felix.txt new file mode 100644 index 000000000000..c91c63ba524c --- /dev/null +++ b/Documentation/devicetree/bindings/net/mscc-felix.txt @@ -0,0 +1,77 @@ +Microsemi Felix network Switch +============================== + +The Felix switch device is the Microsemi VSC9959 gigabit ethernet +switch core integrated as a PCIe endpoint device. + +Required properties: +- compatible : Should be "mscc,felix-switch" +- reg : Specifies PCIe Device Number and Function + Number of the integrated endpoint device, + according to parent node bindings. +- ethernet-ports: A container of child nodes representing + switch ports. + +"ethernet-ports" container has the following required properties: +- #address-cells: Must be 1 +- #size-cells : Must be 0 + +A list of child nodes representing switch ports is expected. +Each child port node must have the following mandatory property: +- reg : port id (address) in the switch (0..N-1) + +Port nodes may also contain the following optional standardised +properties, described in corresponding binding documents: + +- phy-handle : Phandle to a PHY on a MDIO bus. See + Documentation/devicetree/bindings/net/ethernet.txt + +or, +- fixed-link : "fixed-link" node, for internal ports or external + fixed-link connections. See + Documentation/devicetree/bindings/net/fixed-link.txt + +Example: + + switch@0,5 { + compatible = "mscc,felix-switch" + reg = <0x000500 0 0 0 0>; + + ethernet-ports { + #address-cells = <1>; + #size-cells = <0>; + + /* external ports */ + switch_port0: port@0 { + reg = <0>; + phy-handle = <&phy0>; + }; + switch_port1: port@1 { + reg = <1>; + phy-handle = <&phy1>; + }; + switch_port2: port@2 { + reg = <2>; + phy-handle = <&phy2>; + }; + switch_port3: port@3 { + reg = <3>; + phy-handle = <&phy3>; + }; + /* internal to-cpu ports */ + port@4 { + reg = <4>; + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + port@5 { + reg = <5>; + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; + }; -- 2.17.1