devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 00/11] add basic support for i.MX95 NETC
@ 2024-10-09  9:51 Wei Fang
  2024-10-09  9:51 ` [PATCH net-next 01/11] dt-bindings: net: add compatible string for i.MX95 EMDIO Wei Fang
                   ` (10 more replies)
  0 siblings, 11 replies; 45+ messages in thread
From: Wei Fang @ 2024-10-09  9:51 UTC (permalink / raw)
  To: davem, edumazet, kuba, pabeni, robh, krzk+dt, conor+dt,
	vladimir.oltean, claudiu.manoil, xiaoning.wang, Frank.Li,
	christophe.leroy, linux, bhelgaas
  Cc: imx, netdev, devicetree, linux-kernel, linux-pci

This is first time that the NETC IP is applied on i.MX MPU platform.
Its revision has been upgraded to 4.1, which is very different from
the NETC of LS1028A (its revision is 1.0). Therefore, some existing
drivers of NETC devices in the Linux kernel are not compatible with
the current hardware. For example, the fsl-enetc driver is used to
drive the ENETC PF of LS1028A, but for i.MX95 ENETC PF, its registers
and tables configuration are very different from those of LS1028A,
and only the station interface (SI) part remains basically the same.
For the SI part, Vladimir has separated the fsl-enetc-core driver, so
we can reuse this driver on i.MX95. However, for other parts of PF,
the fsl-enetc driver cannot be reused, so the nxp-enetc4 driver is
added to support revision 4.1 and later.

During the development process, we found that the two PF drivers have
some interfaces with basically the same logic, and the only difference
is the hardware configuration. So in order to reuse these interfaces
and reduce code redundancy, we extracted these interfaces and compiled
them into a separate nxp-enetc-pf-common driver for use by the two PF
drivers.

In addition, we have developed the nxp-netc-blk-ctrl driver, which
is used to control three blocks, namely Integrated Endpoint Register
Block (IERB), Privileged Register Block (PRB) and NETCMIX block. The
IERB contains registers that are used for pre-boot initialization,
debug, and non-customer configuration. The PRB controls global reset
and global error handling for NETC. The NETCMIX block is mainly used
to set MII protocol and PCS protocol of the links, it also contains
settings for some other functions.

Clark Wang (1):
  net: enetc: optimize the allocation of tx_bdr

Vladimir Oltean (1):
  net: enetc: only enable ERR050089 workaround on LS1028A

Wei Fang (9):
  dt-bindings: net: add compatible string for i.MX95 EMDIO
  dt-bindings: net: add i.MX95 ENETC support
  dt-bindings: net: add bindings for NETC blocks control
  net: enetc: add initial netc-blk-ctrl driver support
  net: enetc: add enetc-pf-common driver support
  PCI: Add NXP NETC vendor ID and device IDs
  net: enetc: add i.MX95 EMDIO support
  net: enetc: add preliminary support for i.MX95 ENETC PF
  MAINTAINERS: update ENETC driver files and maintainers

 .../bindings/net/fsl,enetc-mdio.yaml          |  15 +-
 .../devicetree/bindings/net/fsl,enetc.yaml    |  23 +-
 .../bindings/net/nxp,netc-blk-ctrl.yaml       | 107 +++
 MAINTAINERS                                   |   9 +
 drivers/net/ethernet/freescale/enetc/Kconfig  |  40 +
 drivers/net/ethernet/freescale/enetc/Makefile |   9 +
 drivers/net/ethernet/freescale/enetc/enetc.c  | 171 ++--
 drivers/net/ethernet/freescale/enetc/enetc.h  |  19 +-
 .../net/ethernet/freescale/enetc/enetc4_hw.h  | 153 ++++
 .../net/ethernet/freescale/enetc/enetc4_pf.c  | 761 ++++++++++++++++++
 .../ethernet/freescale/enetc/enetc_ethtool.c  |  68 +-
 .../net/ethernet/freescale/enetc/enetc_hw.h   |  46 +-
 .../ethernet/freescale/enetc/enetc_pci_mdio.c |  21 +
 .../net/ethernet/freescale/enetc/enetc_pf.c   | 350 +-------
 .../net/ethernet/freescale/enetc/enetc_pf.h   |  37 +
 .../freescale/enetc/enetc_pf_common.c         | 383 +++++++++
 .../ethernet/freescale/enetc/netc_blk_ctrl.c  | 476 +++++++++++
 include/linux/fsl/netc_global.h               |  39 +
 include/linux/pci_ids.h                       |   7 +
 19 files changed, 2302 insertions(+), 432 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/nxp,netc-blk-ctrl.yaml
 create mode 100644 drivers/net/ethernet/freescale/enetc/enetc4_hw.h
 create mode 100644 drivers/net/ethernet/freescale/enetc/enetc4_pf.c
 create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_pf_common.c
 create mode 100644 drivers/net/ethernet/freescale/enetc/netc_blk_ctrl.c
 create mode 100644 include/linux/fsl/netc_global.h

-- 
2.34.1


^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2024-10-14  9:13 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-09  9:51 [PATCH net-next 00/11] add basic support for i.MX95 NETC Wei Fang
2024-10-09  9:51 ` [PATCH net-next 01/11] dt-bindings: net: add compatible string for i.MX95 EMDIO Wei Fang
2024-10-09 16:26   ` Frank Li
2024-10-10  1:42     ` Wei Fang
2024-10-09  9:51 ` [PATCH net-next 02/11] dt-bindings: net: add i.MX95 ENETC support Wei Fang
2024-10-09 16:29   ` Frank Li
2024-10-09 20:53     ` Rob Herring
2024-10-10  2:14       ` Wei Fang
2024-10-10 15:16         ` Frank Li
2024-10-11  1:56           ` Wei Fang
2024-10-10  2:00     ` Wei Fang
2024-10-09  9:51 ` [PATCH net-next 03/11] dt-bindings: net: add bindings for NETC blocks control Wei Fang
2024-10-09 16:36   ` Frank Li
2024-10-10  2:10     ` Wei Fang
2024-10-09  9:51 ` [PATCH net-next 04/11] net: enetc: add initial netc-blk-ctrl driver support Wei Fang
2024-10-09 17:02   ` Frank Li
2024-10-10  2:31     ` Wei Fang
2024-10-09  9:51 ` [PATCH net-next 05/11] net: enetc: add enetc-pf-common " Wei Fang
2024-10-09 17:16   ` Frank Li
2024-10-10  3:19     ` Wei Fang
2024-10-10 14:16   ` kernel test robot
2024-10-10 17:10   ` kernel test robot
2024-10-13  2:27   ` kernel test robot
2024-10-09  9:51 ` [PATCH net-next 06/11] net: enetc: only enable ERR050089 workaround on LS1028A Wei Fang
2024-10-09  9:51 ` [PATCH net-next 07/11] PCI: Add NXP NETC vendor ID and device IDs Wei Fang
2024-10-10 19:34   ` Bjorn Helgaas
2024-10-11  2:06     ` Wei Fang
2024-10-09  9:51 ` [PATCH net-next 08/11] net: enetc: add i.MX95 EMDIO support Wei Fang
2024-10-09  9:51 ` [PATCH net-next 09/11] net: enetc: optimize the allocation of tx_bdr Wei Fang
2024-10-09 17:25   ` Frank Li
2024-10-10  3:25     ` Wei Fang
2024-10-09  9:51 ` [PATCH net-next 10/11] net: enetc: add preliminary support for i.MX95 ENETC PF Wei Fang
2024-10-09 17:41   ` Frank Li
2024-10-10  4:59     ` Wei Fang
2024-10-10 15:22       ` Frank Li
2024-10-11  2:02         ` Wei Fang
2024-10-11  4:11           ` Frank Li
2024-10-11  7:16             ` Wei Fang
2024-10-14  9:06   ` Simon Horman
2024-10-14  9:13     ` Wei Fang
2024-10-09  9:51 ` [PATCH net-next 11/11] MAINTAINERS: update ENETC driver files and maintainers Wei Fang
2024-10-10 19:20   ` Frank Li
2024-10-11  2:05     ` Wei Fang
2024-10-11  4:13       ` Frank Li
2024-10-11  7:29         ` Wei Fang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).