xref: /openbmc/linux/drivers/net/ethernet/freescale/enetc/Kconfig (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1d4fd0404SClaudiu Manoil# SPDX-License-Identifier: GPL-2.0
2e3972399SVladimir Olteanconfig FSL_ENETC_CORE
3e3972399SVladimir Oltean	tristate
4e3972399SVladimir Oltean	help
5e3972399SVladimir Oltean	  This module supports common functionality between the PF and VF
6e3972399SVladimir Oltean	  drivers for the NXP ENETC controller.
7e3972399SVladimir Oltean
8e3972399SVladimir Oltean	  If compiled as module (M), the module name is fsl-enetc-core.
9e3972399SVladimir Oltean
10d4fd0404SClaudiu Manoilconfig FSL_ENETC
11d4fd0404SClaudiu Manoil	tristate "ENETC PF driver"
125bee990fSLukas Bulwahn	depends on PCI_MSI
13*37f9b2a6SAndrew Lunn	select MDIO_DEVRES
14e3972399SVladimir Oltean	select FSL_ENETC_CORE
151b8caefaSMichael Walle	select FSL_ENETC_IERB
166517798dSClaudiu Manoil	select FSL_ENETC_MDIO
1771b77a7aSClaudiu Manoil	select PHYLINK
1871b77a7aSClaudiu Manoil	select PCS_LYNX
19ae0e6a5dSClaudiu Manoil	select DIMLIB
20d4fd0404SClaudiu Manoil	help
21d4fd0404SClaudiu Manoil	  This driver supports NXP ENETC gigabit ethernet controller PCIe
22d4fd0404SClaudiu Manoil	  physical function (PF) devices, managing ENETC Ports at a privileged
23d4fd0404SClaudiu Manoil	  level.
24d4fd0404SClaudiu Manoil
25d4fd0404SClaudiu Manoil	  If compiled as module (M), the module name is fsl-enetc.
26d4fd0404SClaudiu Manoil
27d4fd0404SClaudiu Manoilconfig FSL_ENETC_VF
28d4fd0404SClaudiu Manoil	tristate "ENETC VF driver"
295bee990fSLukas Bulwahn	depends on PCI_MSI
30e3972399SVladimir Oltean	select FSL_ENETC_CORE
31fd5736bfSAlex Marginean	select FSL_ENETC_MDIO
3271b77a7aSClaudiu Manoil	select PHYLINK
33ae0e6a5dSClaudiu Manoil	select DIMLIB
34d4fd0404SClaudiu Manoil	help
35d4fd0404SClaudiu Manoil	  This driver supports NXP ENETC gigabit ethernet controller PCIe
36d4fd0404SClaudiu Manoil	  virtual function (VF) devices enabled by the ENETC PF driver.
37d4fd0404SClaudiu Manoil
38d4fd0404SClaudiu Manoil	  If compiled as module (M), the module name is fsl-enetc-vf.
3919971f5eSYangbo Lu
40e7d48e5fSVladimir Olteanconfig FSL_ENETC_IERB
41e7d48e5fSVladimir Oltean	tristate "ENETC IERB driver"
42e7d48e5fSVladimir Oltean	help
43e7d48e5fSVladimir Oltean	  This driver configures the Integrated Endpoint Register Block on NXP
44e7d48e5fSVladimir Oltean	  LS1028A.
45e7d48e5fSVladimir Oltean
46e7d48e5fSVladimir Oltean	  If compiled as module (M), the module name is fsl-enetc-ierb.
47e7d48e5fSVladimir Oltean
48231ece36SClaudiu Manoilconfig FSL_ENETC_MDIO
49231ece36SClaudiu Manoil	tristate "ENETC MDIO driver"
50e185ea30STong Zhang	depends on PCI && MDIO_DEVRES && MDIO_BUS
51231ece36SClaudiu Manoil	help
52231ece36SClaudiu Manoil	  This driver supports NXP ENETC Central MDIO controller as a PCIe
53231ece36SClaudiu Manoil	  physical function (PF) device.
54231ece36SClaudiu Manoil
55231ece36SClaudiu Manoil	  If compiled as module (M), the module name is fsl-enetc-mdio.
56231ece36SClaudiu Manoil
5719971f5eSYangbo Luconfig FSL_ENETC_PTP_CLOCK
5819971f5eSYangbo Lu	tristate "ENETC PTP clock driver"
5919971f5eSYangbo Lu	depends on PTP_1588_CLOCK_QORIQ && (FSL_ENETC || FSL_ENETC_VF)
6019971f5eSYangbo Lu	default y
6119971f5eSYangbo Lu	help
6219971f5eSYangbo Lu	  This driver adds support for using the ENETC 1588 timer
6319971f5eSYangbo Lu	  as a PTP clock. This clock is only useful if your PTP
6419971f5eSYangbo Lu	  programs are getting hardware time stamps on the PTP Ethernet
6519971f5eSYangbo Lu	  packets using the SO_TIMESTAMPING API.
6619971f5eSYangbo Lu
6719971f5eSYangbo Lu	  If compiled as module (M), the module name is fsl-enetc-ptp.
68d3982312SY.b. Lu
6934c6adf1SPo Liuconfig FSL_ENETC_QOS
7034c6adf1SPo Liu	bool "ENETC hardware Time-sensitive Network support"
71c431047cSPo Liu	depends on (FSL_ENETC || FSL_ENETC_VF) && (NET_SCH_TAPRIO || NET_SCH_CBS)
7234c6adf1SPo Liu	help
7334c6adf1SPo Liu	  There are Time-Sensitive Network(TSN) capabilities(802.1Qbv/802.1Qci
7434c6adf1SPo Liu	  /802.1Qbu etc.) supported by ENETC. These TSN capabilities can be set
7534c6adf1SPo Liu	  enable/disable from user space via Qos commands(tc). In the kernel
7634c6adf1SPo Liu	  side, it can be loaded by Qos driver. Currently, it is only support
77c431047cSPo Liu	  taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu).
78