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