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