From: Minghuan Lian <minghuan.lian@nxp.com>
To: netdev@vger.kernel.org
Cc: devicetree@vger.kernel.org, andrew+netdev@lunn.ch,
olteanv@gmail.com, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org,
Minghuan Lian <minghuan.lian@nxp.com>
Subject: [PATCH net-next 1/4] dt-bindings: net: dsa: add NXP i.MX RT1180 NETC switch
Date: Sat, 9 May 2026 18:06:29 +0900 [thread overview]
Message-ID: <20260509090632.2959553-2-minghuan.lian@nxp.com> (raw)
In-Reply-To: <20260509090632.2959553-1-minghuan.lian@nxp.com>
Document the Devicetree binding for the TSN-capable NETC Ethernet switch
integrated in NXP i.MX RT1180.
The i.MX RT1180 is an MCU and does not run Linux. In heterogeneous
multi-SoC systems, the RT1180 runs firmware that manages the NETC
switch, while the host SoC runs Linux and exposes the switch ports
through the DSA framework using a dedicated CPU (conduit) port
connected to a host Ethernet controller.
The control plane is accessed through a management link to the
companion MCU. Current systems use SPI, but future integrations may
use a different transport (e.g. in-band management over an Ethernet
port). Therefore this binding defines a generic compatible string for
the NETC switch and an optional SPI-specific compatible string for
SPI-attached deployments.
Signed-off-by: Minghuan Lian <minghuan.lian@nxp.com>
---
.../net/dsa/nxp,imxrt1180-netc-switch.yaml | 118 ++++++++++++++++++
1 file changed, 118 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/dsa/nxp,imxrt1180-netc-switch.yaml
diff --git a/Documentation/devicetree/bindings/net/dsa/nxp,imxrt1180-netc-switch.yaml b/Documentation/devicetree/bindings/net/dsa/nxp,imxrt1180-netc-switch.yaml
new file mode 100644
index 0000000000000..6ca1f5eba8748
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/dsa/nxp,imxrt1180-netc-switch.yaml
@@ -0,0 +1,118 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/dsa/nxp,imxrt1180-netc-switch.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP i.MX RT1180 NETC Ethernet Switch
+
+description: |
+ The NXP i.MX RT1180 integrates a TSN-capable NETC Ethernet switch.
+
+ The i.MX RT1180 is an MCU and does not run Linux. In heterogeneous multi-SoC
+ systems, the RT1180 runs firmware that manages the switch, while the host SoC
+ runs Linux and exposes the switch ports using the DSA framework, with a
+ dedicated CPU (conduit) port connected to a host Ethernet controller.
+
+ The switch control plane is accessed through a management link to the
+ companion MCU. Current systems may use SPI, but other transports may be used
+ in the future (for example, in-band management over an Ethernet port).
+
+maintainers:
+ - Minghuan Lian <minghuan.lian@nxp.com>
+
+allOf:
+ # Base: always a DSA switch
+ - $ref: /schemas/net/dsa/dsa.yaml#
+
+ # If the SPI-specific compatible is used, allow SPI properties and require reg.
+ - if:
+ properties:
+ compatible:
+ type: array
+ contains:
+ const: nxp,imxrt1180-netc-switch-spi
+ then:
+ $ref: /schemas/spi/spi-peripheral-props.yaml#
+ required:
+ - reg
+
+properties:
+ compatible:
+ oneOf:
+ # SPI-attached switch representation (current integration)
+ - items:
+ - const: nxp,imxrt1180-netc-switch-spi
+ - const: nxp,imxrt1180-netc-switch
+ # Transport-agnostic representation (future integration)
+ - const: nxp,imxrt1180-netc-switch
+
+ reg:
+ description: |
+ SPI chip select number (only for SPI-attached deployments).
+ maxItems: 1
+
+required:
+ - compatible
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethernet-switch@0 {
+ compatible = "nxp,imxrt1180-netc-switch-spi",
+ "nxp,imxrt1180-netc-switch";
+ reg = <0>;
+ spi-max-frequency = <12000000>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ label = "hms0p0";
+ phy-mode = "internal";
+ fixed-link {
+ speed = <100>;
+ full-duplex;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ label = "hms0p1";
+ phy-mode = "internal";
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ label = "hms0p2";
+ phy-mode = "internal";
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ label = "cpu";
+ ethernet = <ð0>;
+ phy-mode = "internal";
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
+ };
--
2.43.0
next prev parent reply other threads:[~2026-05-09 9:06 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-09 9:06 [PATCH net-next 0/4] net: dsa: Add NXP i.MX RT1180 NETC switch support Minghuan Lian
2026-05-09 9:06 ` Minghuan Lian [this message]
2026-05-09 9:06 ` [PATCH net-next 2/4] net: dsa: tag_hms: Add HMS tag protocol Minghuan Lian
2026-05-10 9:10 ` sashiko-bot
2026-05-09 9:06 ` [PATCH net-next 3/4] net: dsa: hms: Add NXP i.MX RT1180 NETC switch driver Minghuan Lian
2026-05-10 9:10 ` sashiko-bot
2026-05-09 9:06 ` [PATCH net-next 4/4] net: dsa: hms: Add ethtool statistics support Minghuan Lian
2026-05-10 9:10 ` sashiko-bot
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=20260509090632.2959553-2-minghuan.lian@nxp.com \
--to=minghuan.lian@nxp.com \
--cc=andrew+netdev@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=robh@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox