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