xref: /linux/drivers/net/ethernet/freescale/enetc/Kconfig (revision e7d48e5fbf30f85c89d83683c3d2dbdaa8884103)
1d4fd0404SClaudiu Manoil# SPDX-License-Identifier: GPL-2.0
2d4fd0404SClaudiu Manoilconfig FSL_ENETC
3d4fd0404SClaudiu Manoil	tristate "ENETC PF driver"
4feb5d98eSVladimir Oltean	depends on PCI && PCI_MSI
5*e7d48e5fSVladimir Oltean	depends on FSL_ENETC_IERB || FSL_ENETC_IERB=n
66517798dSClaudiu Manoil	select FSL_ENETC_MDIO
771b77a7aSClaudiu Manoil	select PHYLINK
871b77a7aSClaudiu Manoil	select PCS_LYNX
9ae0e6a5dSClaudiu Manoil	select DIMLIB
10d4fd0404SClaudiu Manoil	help
11d4fd0404SClaudiu Manoil	  This driver supports NXP ENETC gigabit ethernet controller PCIe
12d4fd0404SClaudiu Manoil	  physical function (PF) devices, managing ENETC Ports at a privileged
13d4fd0404SClaudiu Manoil	  level.
14d4fd0404SClaudiu Manoil
15d4fd0404SClaudiu Manoil	  If compiled as module (M), the module name is fsl-enetc.
16d4fd0404SClaudiu Manoil
17d4fd0404SClaudiu Manoilconfig FSL_ENETC_VF
18d4fd0404SClaudiu Manoil	tristate "ENETC VF driver"
19feb5d98eSVladimir Oltean	depends on PCI && PCI_MSI
20fd5736bfSAlex Marginean	select FSL_ENETC_MDIO
2171b77a7aSClaudiu Manoil	select PHYLINK
22ae0e6a5dSClaudiu Manoil	select DIMLIB
23d4fd0404SClaudiu Manoil	help
24d4fd0404SClaudiu Manoil	  This driver supports NXP ENETC gigabit ethernet controller PCIe
25d4fd0404SClaudiu Manoil	  virtual function (VF) devices enabled by the ENETC PF driver.
26d4fd0404SClaudiu Manoil
27d4fd0404SClaudiu Manoil	  If compiled as module (M), the module name is fsl-enetc-vf.
2819971f5eSYangbo Lu
29*e7d48e5fSVladimir Olteanconfig FSL_ENETC_IERB
30*e7d48e5fSVladimir Oltean	tristate "ENETC IERB driver"
31*e7d48e5fSVladimir Oltean	help
32*e7d48e5fSVladimir Oltean	  This driver configures the Integrated Endpoint Register Block on NXP
33*e7d48e5fSVladimir Oltean	  LS1028A.
34*e7d48e5fSVladimir Oltean
35*e7d48e5fSVladimir Oltean	  If compiled as module (M), the module name is fsl-enetc-ierb.
36*e7d48e5fSVladimir Oltean
37231ece36SClaudiu Manoilconfig FSL_ENETC_MDIO
38231ece36SClaudiu Manoil	tristate "ENETC MDIO driver"
39e185ea30STong Zhang	depends on PCI && MDIO_DEVRES && MDIO_BUS
40231ece36SClaudiu Manoil	help
41231ece36SClaudiu Manoil	  This driver supports NXP ENETC Central MDIO controller as a PCIe
42231ece36SClaudiu Manoil	  physical function (PF) device.
43231ece36SClaudiu Manoil
44231ece36SClaudiu Manoil	  If compiled as module (M), the module name is fsl-enetc-mdio.
45231ece36SClaudiu Manoil
4619971f5eSYangbo Luconfig FSL_ENETC_PTP_CLOCK
4719971f5eSYangbo Lu	tristate "ENETC PTP clock driver"
4819971f5eSYangbo Lu	depends on PTP_1588_CLOCK_QORIQ && (FSL_ENETC || FSL_ENETC_VF)
4919971f5eSYangbo Lu	default y
5019971f5eSYangbo Lu	help
5119971f5eSYangbo Lu	  This driver adds support for using the ENETC 1588 timer
5219971f5eSYangbo Lu	  as a PTP clock. This clock is only useful if your PTP
5319971f5eSYangbo Lu	  programs are getting hardware time stamps on the PTP Ethernet
5419971f5eSYangbo Lu	  packets using the SO_TIMESTAMPING API.
5519971f5eSYangbo Lu
5619971f5eSYangbo Lu	  If compiled as module (M), the module name is fsl-enetc-ptp.
57d3982312SY.b. Lu
5834c6adf1SPo Liuconfig FSL_ENETC_QOS
5934c6adf1SPo Liu	bool "ENETC hardware Time-sensitive Network support"
60c431047cSPo Liu	depends on (FSL_ENETC || FSL_ENETC_VF) && (NET_SCH_TAPRIO || NET_SCH_CBS)
6134c6adf1SPo Liu	help
6234c6adf1SPo Liu	  There are Time-Sensitive Network(TSN) capabilities(802.1Qbv/802.1Qci
6334c6adf1SPo Liu	  /802.1Qbu etc.) supported by ENETC. These TSN capabilities can be set
6434c6adf1SPo Liu	  enable/disable from user space via Qos commands(tc). In the kernel
6534c6adf1SPo Liu	  side, it can be loaded by Qos driver. Currently, it is only support
66c431047cSPo Liu	  taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu).
67