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