Commit 556b2710 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'ENETC'



Claudiu Manoil says:

====================
Introduce ENETC ethernet drivers

ENETC is a multi-port virtualized Ethernet controller supporting GbE
designs and Time-Sensitive Networking (TSN) functionality.
ENETC is operating as an SR-IOV multi-PF capable Root Complex Integrated
Endpoint (RCIE).  As such, it contains multiple physical (PF) and virtual
(VF) PCIe functions, discoverable by standard PCI Express.

The patch series adds basic enablement for these otherwise standard
buffer descriptor (BD) ring based ethernet devices (PCIe PFs and VFs),
currently included in the 64-bit dual ARMv8 processors LS1028A SoC.
The driver is portable to 32-bit designs, and it's independent of CPU
endianness.

Contributors:
Alex Marginean <alexandru.marginean@nxp.com>
Catalin Horghidan <catalin.horghidan@nxp.com>

TODO list:
* IEEE 1588 PTP support;
* TSN support;
* MDIO support and VF link management;
* power management support;
* flow control support;
* TC offloading with h/w MQPRIO;
* interrupt coalescing, configurable BD ring sizes, and other usual
config options if missing.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 5e5b9f62 d382563f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -6023,6 +6023,12 @@ L: linuxppc-dev@lists.ozlabs.org
S:	Maintained
F:	drivers/dma/fsldma.*

FREESCALE ENETC ETHERNET DRIVERS
M:	Claudiu Manoil <claudiu.manoil@nxp.com>
L:	netdev@vger.kernel.org
S:	Maintained
F:	drivers/net/ethernet/freescale/enetc/

FREESCALE eTSEC ETHERNET DRIVER (GIANFAR)
M:	Claudiu Manoil <claudiu.manoil@nxp.com>
L:	netdev@vger.kernel.org
+1 −0
Original line number Diff line number Diff line
@@ -97,5 +97,6 @@ config GIANFAR

source "drivers/net/ethernet/freescale/dpaa/Kconfig"
source "drivers/net/ethernet/freescale/dpaa2/Kconfig"
source "drivers/net/ethernet/freescale/enetc/Kconfig"

endif # NET_VENDOR_FREESCALE
+3 −0
Original line number Diff line number Diff line
@@ -23,3 +23,6 @@ obj-$(CONFIG_FSL_FMAN) += fman/
obj-$(CONFIG_FSL_DPAA_ETH) += dpaa/

obj-$(CONFIG_FSL_DPAA2_ETH) += dpaa2/

obj-$(CONFIG_FSL_ENETC) += enetc/
obj-$(CONFIG_FSL_ENETC_VF) += enetc/
+19 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
config FSL_ENETC
	tristate "ENETC PF driver"
	depends on PCI && PCI_MSI && (ARCH_LAYERSCAPE || COMPILE_TEST)
	help
	  This driver supports NXP ENETC gigabit ethernet controller PCIe
	  physical function (PF) devices, managing ENETC Ports at a privileged
	  level.

	  If compiled as module (M), the module name is fsl-enetc.

config FSL_ENETC_VF
	tristate "ENETC VF driver"
	depends on PCI && PCI_MSI && (ARCH_LAYERSCAPE || COMPILE_TEST)
	help
	  This driver supports NXP ENETC gigabit ethernet controller PCIe
	  virtual function (VF) devices enabled by the ENETC PF driver.

	  If compiled as module (M), the module name is fsl-enetc-vf.
+15 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_FSL_ENETC) += fsl-enetc.o
fsl-enetc-$(CONFIG_FSL_ENETC) += enetc.o enetc_cbdr.o enetc_ethtool.o
fsl-enetc-$(CONFIG_PCI_IOV) += enetc_msg.o
fsl-enetc-objs := enetc_pf.o $(fsl-enetc-y)

obj-$(CONFIG_FSL_ENETC_VF) += fsl-enetc-vf.o

ifeq ($(CONFIG_FSL_ENETC)$(CONFIG_FSL_ENETC_VF), yy)
fsl-enetc-vf-objs := enetc_vf.o
else
fsl-enetc-vf-$(CONFIG_FSL_ENETC_VF) += enetc.o enetc_cbdr.o \
				       enetc_ethtool.o
fsl-enetc-vf-objs := enetc_vf.o $(fsl-enetc-vf-y)
endif
Loading