lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20221003164624.4823-1-jerry.ray@microchip.com> Date: Mon, 3 Oct 2022 11:46:24 -0500 From: Jerry Ray <jerry.ray@...rochip.com> To: Andrew Lunn <andrew@...n.ch>, Vivien Didelot <vivien.didelot@...il.com>, Florian Fainelli <f.fainelli@...il.com>, Vladimir Oltean <olteanv@...il.com>, "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, "Rob Herring" <robh+dt@...nel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>, <UNGLinuxDriver@...rochip.com>, <netdev@...r.kernel.org>, <devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>, Jerry Ray <jerry.ray@...rochip.com> Subject: [net-next][PATCH v4] dt-bindings: dsa: Add lan9303 yaml Adding the dt binding yaml for the lan9303 3-port ethernet switch. The microchip lan9354 3-port ethernet switch will also use the same binding. Signed-off-by: Jerry Ray <jerry.ray@...rochip.com> --- v3->v4: - Addressed v3 community feedback v2->v3: - removed cpu labels - now patching against latest net-next v1->v2: - fixed dt_binding_check warning - added max-speed setting on the switches 10/100 ports. --- .../devicetree/bindings/net/dsa/lan9303.txt | 100 ------------- .../bindings/net/dsa/microchip,lan9303.yaml | 134 ++++++++++++++++++ MAINTAINERS | 8 ++ 3 files changed, 142 insertions(+), 100 deletions(-) delete mode 100644 Documentation/devicetree/bindings/net/dsa/lan9303.txt create mode 100644 Documentation/devicetree/bindings/net/dsa/microchip,lan9303.yaml diff --git a/Documentation/devicetree/bindings/net/dsa/lan9303.txt b/Documentation/devicetree/bindings/net/dsa/lan9303.txt deleted file mode 100644 index 46a732087f5c..000000000000 --- a/Documentation/devicetree/bindings/net/dsa/lan9303.txt +++ /dev/null @@ -1,100 +0,0 @@ -SMSC/MicroChip LAN9303 three port ethernet switch -------------------------------------------------- - -Required properties: - -- compatible: should be - - "smsc,lan9303-i2c" for I2C managed mode - or - - "smsc,lan9303-mdio" for mdio managed mode - -Optional properties: - -- reset-gpios: GPIO to be used to reset the whole device -- reset-duration: reset duration in milliseconds, defaults to 200 ms - -Subnodes: - -The integrated switch subnode should be specified according to the binding -described in dsa/dsa.txt. The CPU port of this switch is always port 0. - -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. - -Example: - -I2C managed mode: - - master: masterdevice@X { - - fixed-link { /* RMII fixed link to LAN9303 */ - speed = <100>; - full-duplex; - }; - }; - - switch: 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 { /* RMII fixed link to master */ - reg = <0>; - ethernet = <&master>; - }; - - port@1 { /* external port 1 */ - reg = <1>; - label = "lan1"; - }; - - port@2 { /* external port 2 */ - reg = <2>; - label = "lan2"; - }; - }; - }; - -MDIO managed mode: - - master: masterdevice@X { - phy-handle = <&switch>; - - mdio { - #address-cells = <1>; - #size-cells = <0>; - - switch: switch-phy@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>; - ethernet = <&master>; - }; - - port@1 { /* external port 1 */ - reg = <1>; - label = "lan1"; - }; - - port@2 { /* external port 2 */ - reg = <2>; - label = "lan2"; - }; - }; - }; - }; - }; diff --git a/Documentation/devicetree/bindings/net/dsa/microchip,lan9303.yaml b/Documentation/devicetree/bindings/net/dsa/microchip,lan9303.yaml new file mode 100644 index 000000000000..ca6cbe83ba75 --- /dev/null +++ b/Documentation/devicetree/bindings/net/dsa/microchip,lan9303.yaml @@ -0,0 +1,134 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/dsa/microchip,lan9303.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: LAN9303 Ethernet Switch Series + +allOf: + - $ref: dsa.yaml# + +maintainers: + - UNGLinuxDriver@...rochip.com + +properties: + compatible: + oneOf: + - enum: + - smsc,lan9303-mdio + - microchip,lan9354-mdio + - enum: + - smsc,lan9303-i2c + - microchip,lan9354-i2c + + reg: + maxItems: 1 + + reset-gpios: + description: Optional reset line + maxItems: 1 + + reset-duration: + description: Reset duration in milliseconds + default: 200 + +required: + - compatible + - reg + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + + // Ethernet switch connected via mdio to the host + ethernet { + #address-cells = <1>; + #size-cells = <0>; + phy-handle = <&lan9303switch>; + phy-mode = "rmii"; + fixed-link { + speed = <100>; + full-duplex; + }; + mdio { + #address-cells = <1>; + #size-cells = <0>; + lan9303switch: switch@0 { + compatible = "smsc,lan9303-mdio"; + reg = <0>; + dsa,member = <0 0>; + ethernet-ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + phy-mode = "rmii"; + ethernet = <ðernet>; + fixed-link { + speed = <100>; + full-duplex; + }; + }; + port@1 { + reg = <1>; + max-speed = <100>; + label = "lan1"; + }; + port@2 { + reg = <2>; + max-speed = <100>; + label = "lan2"; + }; + }; + }; + }; + }; + + - | + #include <dt-bindings/gpio/gpio.h> + + // Ethernet switch connected via i2c to the host + ethernet { + #address-cells = <1>; + #size-cells = <0>; + phy-mode = "rmii"; + fixed-link { + speed = <100>; + full-duplex; + }; + }; + + i2c { + #address-cells = <1>; + #size-cells = <0>; + lan9303: switch@1a { + compatible = "smsc,lan9303-i2c"; + reg = <0x1a>; + ethernet-ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + phy-mode = "rmii"; + ethernet = <ðernet>; + fixed-link { + speed = <100>; + full-duplex; + }; + }; + port@1 { + reg = <1>; + max-speed = <100>; + label = "lan1"; + }; + port@2 { + reg = <2>; + max-speed = <100>; + label = "lan2"; + }; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 5d58b55c5ae5..89055ff2838a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13386,6 +13386,14 @@ L: netdev@...r.kernel.org S: Maintained F: drivers/net/ethernet/microchip/lan743x_* +MICROCHIP LAN9303/LAN9354 ETHERNET SWITCH DRIVER +M: Jerry Ray <jerry.ray@...rochip.com> +M: UNGLinuxDriver@...rochip.com +L: netdev@...r.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/net/dsa/microchip,lan9303.yaml +F: drivers/net/dsa/lan9303* + MICROCHIP LAN966X ETHERNET DRIVER M: Horatiu Vultur <horatiu.vultur@...rochip.com> M: UNGLinuxDriver@...rochip.com -- 2.25.1
Powered by blists - more mailing lists