xref: /openbmc/linux/drivers/net/ethernet/freescale/enetc/Kconfig (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1 # SPDX-License-Identifier: GPL-2.0
2 config FSL_ENETC_CORE
3 	tristate
4 	help
5 	  This module supports common functionality between the PF and VF
6 	  drivers for the NXP ENETC controller.
7 
8 	  If compiled as module (M), the module name is fsl-enetc-core.
9 
10 config FSL_ENETC
11 	tristate "ENETC PF driver"
12 	depends on PCI_MSI
13 	select MDIO_DEVRES
14 	select FSL_ENETC_CORE
15 	select FSL_ENETC_IERB
16 	select FSL_ENETC_MDIO
17 	select PHYLINK
18 	select PCS_LYNX
19 	select DIMLIB
20 	help
21 	  This driver supports NXP ENETC gigabit ethernet controller PCIe
22 	  physical function (PF) devices, managing ENETC Ports at a privileged
23 	  level.
24 
25 	  If compiled as module (M), the module name is fsl-enetc.
26 
27 config FSL_ENETC_VF
28 	tristate "ENETC VF driver"
29 	depends on PCI_MSI
30 	select FSL_ENETC_CORE
31 	select FSL_ENETC_MDIO
32 	select PHYLINK
33 	select DIMLIB
34 	help
35 	  This driver supports NXP ENETC gigabit ethernet controller PCIe
36 	  virtual function (VF) devices enabled by the ENETC PF driver.
37 
38 	  If compiled as module (M), the module name is fsl-enetc-vf.
39 
40 config FSL_ENETC_IERB
41 	tristate "ENETC IERB driver"
42 	help
43 	  This driver configures the Integrated Endpoint Register Block on NXP
44 	  LS1028A.
45 
46 	  If compiled as module (M), the module name is fsl-enetc-ierb.
47 
48 config FSL_ENETC_MDIO
49 	tristate "ENETC MDIO driver"
50 	depends on PCI && MDIO_DEVRES && MDIO_BUS
51 	help
52 	  This driver supports NXP ENETC Central MDIO controller as a PCIe
53 	  physical function (PF) device.
54 
55 	  If compiled as module (M), the module name is fsl-enetc-mdio.
56 
57 config FSL_ENETC_PTP_CLOCK
58 	tristate "ENETC PTP clock driver"
59 	depends on PTP_1588_CLOCK_QORIQ && (FSL_ENETC || FSL_ENETC_VF)
60 	default y
61 	help
62 	  This driver adds support for using the ENETC 1588 timer
63 	  as a PTP clock. This clock is only useful if your PTP
64 	  programs are getting hardware time stamps on the PTP Ethernet
65 	  packets using the SO_TIMESTAMPING API.
66 
67 	  If compiled as module (M), the module name is fsl-enetc-ptp.
68 
69 config FSL_ENETC_QOS
70 	bool "ENETC hardware Time-sensitive Network support"
71 	depends on (FSL_ENETC || FSL_ENETC_VF) && (NET_SCH_TAPRIO || NET_SCH_CBS)
72 	help
73 	  There are Time-Sensitive Network(TSN) capabilities(802.1Qbv/802.1Qci
74 	  /802.1Qbu etc.) supported by ENETC. These TSN capabilities can be set
75 	  enable/disable from user space via Qos commands(tc). In the kernel
76 	  side, it can be loaded by Qos driver. Currently, it is only support
77 	  taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu).
78