# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/net/dsa/smsc,lan9303.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: SMSC/MicroChip LAN9303 three port ethernet switch maintainers: - Frank Li description: The LAN9303 is a three port ethernet switch with integrated PHYs for the two external ports. The third port is an RMII/MII interface to a host processor. The device can be managed via I2C or MDIO. Note - always use 'reg = <0/1/2>;' for the three DSA ports, even if the device is configured to use 1/2/3 instead. This hardware configuration will be auto-detected and mapped accordingly. properties: compatible: enum: - smsc,lan9303-i2c - smsc,lan9303-mdio reg: maxItems: 1 reset-gpios: description: GPIO to be used to reset the whole device maxItems: 1 reset-duration: description: Reset duration in milliseconds default: 200 $ref: /schemas/types.yaml#/definitions/uint32 required: - compatible - reg unevaluatedProperties: false allOf: - $ref: dsa.yaml# examples: - | #include /* I2C managed mode */ i2c { #address-cells = <1>; #size-cells = <0>; switch@a { compatible = "smsc,lan9303-i2c"; reg = <0xa>; reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>; reset-duration = <200>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; label = "cpu"; ethernet = <&master>; }; port@1 { reg = <1>; label = "lan1"; }; port@2 { reg = <2>; label = "lan2"; }; }; }; }; - | #include /* MDIO managed mode */ mdio { #address-cells = <1>; #size-cells = <0>; switch@0 { compatible = "smsc,lan9303-mdio"; reg = <0>; reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>; reset-duration = <100>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; label = "cpu"; ethernet = <&master>; }; port@1 { reg = <1>; label = "lan1"; }; port@2 { reg = <2>; label = "lan2"; }; }; }; };