linux/Documentation/devicetree/bindings/net/dsa/arrow,xrs700x.yaml

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/dsa/arrow,xrs700x.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Arrow SpeedChips XRS7000 Series Switch

allOf:
  - $ref: dsa.yaml#/$defs/ethernet-ports

maintainers:
  - George McCollister <[email protected]>

description:
  The Arrow SpeedChips XRS7000 Series of single chip gigabit Ethernet switches
  are designed for critical networking applications. They have up to three
  RGMII ports and one RMII port and are managed via i2c or mdio.

properties:
  compatible:
    oneOf:
      - enum:
          - arrow,xrs7003e
          - arrow,xrs7003f
          - arrow,xrs7004e
          - arrow,xrs7004f

  reg:
    maxItems: 1

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        switch@8 {
            compatible = "arrow,xrs7004e";
            reg = <0x8>;

            ethernet-ports {
                #address-cells = <1>;
                #size-cells = <0>;
                ethernet-port@1 {
                    reg = <1>;
                    label = "lan0";
                    phy-handle = <&swphy0>;
                    phy-mode = "rgmii-id";
                };
                ethernet-port@2 {
                    reg = <2>;
                    label = "lan1";
                    phy-handle = <&swphy1>;
                    phy-mode = "rgmii-id";
                };
                ethernet-port@3 {
                    reg = <3>;
                    ethernet = <&fec1>;
                    phy-mode = "rgmii-id";

                    fixed-link {
                        speed = <1000>;
                        full-duplex;
                    };
                };
            };
        };
    };