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