From: Jerry Ray <jerry.ray@microchip.com>
To: Andrew Lunn <andrew@lunn.ch>,
Vivien Didelot <vivien.didelot@gmail.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Vladimir Oltean <olteanv@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
"Rob Herring" <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
<UNGLinuxDriver@microchip.com>, <netdev@vger.kernel.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
Jerry Ray <jerry.ray@microchip.com>
Subject: [net-next][PATCH v3] dt-bindings: dsa: lan9303: Add lan9303 yaml
Date: Wed, 28 Sep 2022 11:21:28 -0500 [thread overview]
Message-ID: <20220928162128.802-1-jerry.ray@microchip.com> (raw)
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@microchip.com>
---
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 | 99 +-------------
.../bindings/net/dsa/microchip,lan9303.yaml | 129 ++++++++++++++++++
MAINTAINERS | 8 ++
3 files changed, 139 insertions(+), 97 deletions(-)
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
index 46a732087f5c..8c8fedd1f00e 100644
--- a/Documentation/devicetree/bindings/net/dsa/lan9303.txt
+++ b/Documentation/devicetree/bindings/net/dsa/lan9303.txt
@@ -1,100 +1,5 @@
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";
- };
- };
- };
- };
- };
+See Documentation/devicetree/bindings/net/dsa/microchip,lan9303.yaml for the
+device tree documentation covering the LAN9303 and LAN9354 devices.
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..818770092a2c
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/dsa/microchip,lan9303.yaml
@@ -0,0 +1,129 @@
+# 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 Tree Bindings
+
+allOf:
+ - $ref: "dsa.yaml#"
+
+maintainers:
+ - UNGLinuxDriver@microchip.com
+
+properties:
+ compatible:
+ oneOf:
+ - enum:
+ - smsc,lan9303-mdio
+ - microchip,lan9354-mdio
+ - enum:
+ - smsc,lan9303-i2c
+
+ reg:
+ maxItems: 1
+
+ reset-gpios:
+ description: Optional gpio specifier for a reset line
+ maxItems: 1
+
+ reset-duration:
+ description: Reset duration in milliseconds, defaults to 200 ms
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ //Ethernet switch connected via mdio to the host
+ ethernet0 {
+ #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";
+ dsa,member = <0 0>;
+ reg = <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";
+ };
+ };
+ };
+ };
+ };
+
+ //Ethernet switch connected via i2c to the host
+ ethernet1 {
+ #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 = <ðernet1>;
+ 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@vger.kernel.org
S: Maintained
F: drivers/net/ethernet/microchip/lan743x_*
+MICROCHIP LAN9303/LAN9354 ETHERNET SWITCH DRIVER
+M: Jerry Ray <jerry.ray@microchip.com>
+M: UNGLinuxDriver@microchip.com
+L: netdev@vger.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@microchip.com>
M: UNGLinuxDriver@microchip.com
--
2.25.1
next reply other threads:[~2022-09-28 16:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-28 16:21 Jerry Ray [this message]
2022-09-28 17:20 ` [net-next][PATCH v3] dt-bindings: dsa: lan9303: Add lan9303 yaml Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220928162128.802-1-jerry.ray@microchip.com \
--to=jerry.ray@microchip.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=robh+dt@kernel.org \
--cc=vivien.didelot@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.