|
|
Log in / Subscribe / Register

net: enetc: Add i.MX94 ENETC support

From:  Wei Fang <wei.fang-AT-nxp.com>
To:  robh-AT-kernel.org, krzk+dt-AT-kernel.org, conor+dt-AT-kernel.org, claudiu.manoil-AT-nxp.com, vladimir.oltean-AT-nxp.com, xiaoning.wang-AT-nxp.com, Frank.Li-AT-nxp.com, andrew+netdev-AT-lunn.ch, davem-AT-davemloft.net, edumazet-AT-google.com, kuba-AT-kernel.org, pabeni-AT-redhat.com, richardcochran-AT-gmail.com
Subject:  [PATCH net-next 0/8] net: enetc: Add i.MX94 ENETC support
Date:  Thu, 16 Oct 2025 18:20:11 +0800
Message-ID:  <20251016102020.3218579-1-wei.fang@nxp.com>
Cc:  imx-AT-lists.linux.dev, netdev-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, devicetree-AT-vger.kernel.org
Archive-link:  Article

i.MX94 NETC has two kinds of ENETCs, one is the same as i.MX95, which
can be used as a standalone network port. The other one is an internal
ENETC, it connects to the CPU port of NETC switch through the pseudo
MAC. Also, i.MX94 have multiple PTP Timers, which is different from
i.MX95. Any PTP Timer can be bound to a specified standalone ENETC by
the IERB ETBCR registers. Currently, this patch only add ENETC support
and Timer support for i.MX94. The switch will be added by a separate
patch set.

---
Note that the DTS patch (patch 8/8) is just for referenece, it will be
removed from this patch set when the dt-bindings patches have been
reviewed. It will be sent for review by another thread in the future.
---

Clark Wang (1):
  net: enetc: add ptp timer binding support for i.MX94

Wei Fang (7):
  dt-bindings: net: netc-blk-ctrl: add compatible string for i.MX94
    platforms
  dt-bindings: net: enetc: add compatible string for ENETC with pseduo
    MAC
  dt-bindings: net: ethernet-controller: remove the enum values of speed
  net: enetc: add preliminary i.MX94 NETC blocks control support
  net: enetc: add basic support for the ENETC with pseudo MAC for i.MX94
  net: enetc: add standalone ENETC support for i.MX94
  arm64: dts: imx94: add basic NETC nodes and properties

 .../bindings/net/ethernet-controller.yaml     |   1 -
 .../devicetree/bindings/net/fsl,enetc.yaml    |   1 +
 .../bindings/net/nxp,netc-blk-ctrl.yaml       |   1 +
 arch/arm64/boot/dts/freescale/imx94.dtsi      | 118 ++++++++++
 arch/arm64/boot/dts/freescale/imx943-evk.dts  | 100 +++++++++
 drivers/net/ethernet/freescale/enetc/enetc.c  |  28 ++-
 drivers/net/ethernet/freescale/enetc/enetc.h  |   8 +
 .../net/ethernet/freescale/enetc/enetc4_hw.h  |  32 ++-
 .../net/ethernet/freescale/enetc/enetc4_pf.c  |  37 ++--
 .../ethernet/freescale/enetc/enetc_ethtool.c  |  64 ++++++
 .../net/ethernet/freescale/enetc/enetc_hw.h   |   1 +
 .../freescale/enetc/enetc_pf_common.c         |   5 +-
 .../ethernet/freescale/enetc/netc_blk_ctrl.c  | 202 ++++++++++++++++++
 13 files changed, 574 insertions(+), 24 deletions(-)

-- 
2.34.1




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds