1# SPDX-License-Identifier: GPL-2.0
2config 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
10config 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
27config 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
40config 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
48config 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
57config 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
69config 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