1# SPDX-License-Identifier: GPL-2.0
2config FSL_ENETC
3	tristate "ENETC PF driver"
4	depends on PCI && PCI_MSI && (ARCH_LAYERSCAPE || COMPILE_TEST)
5	select PHYLIB
6	help
7	  This driver supports NXP ENETC gigabit ethernet controller PCIe
8	  physical function (PF) devices, managing ENETC Ports at a privileged
9	  level.
10
11	  If compiled as module (M), the module name is fsl-enetc.
12
13config FSL_ENETC_VF
14	tristate "ENETC VF driver"
15	depends on PCI && PCI_MSI && (ARCH_LAYERSCAPE || COMPILE_TEST)
16	select PHYLIB
17	help
18	  This driver supports NXP ENETC gigabit ethernet controller PCIe
19	  virtual function (VF) devices enabled by the ENETC PF driver.
20
21	  If compiled as module (M), the module name is fsl-enetc-vf.
22
23config FSL_ENETC_MDIO
24	tristate "ENETC MDIO driver"
25	depends on PCI && (ARCH_LAYERSCAPE || COMPILE_TEST)
26	help
27	  This driver supports NXP ENETC Central MDIO controller as a PCIe
28	  physical function (PF) device.
29
30	  If compiled as module (M), the module name is fsl-enetc-mdio.
31
32config FSL_ENETC_PTP_CLOCK
33	tristate "ENETC PTP clock driver"
34	depends on PTP_1588_CLOCK_QORIQ && (FSL_ENETC || FSL_ENETC_VF)
35	default y
36	help
37	  This driver adds support for using the ENETC 1588 timer
38	  as a PTP clock. This clock is only useful if your PTP
39	  programs are getting hardware time stamps on the PTP Ethernet
40	  packets using the SO_TIMESTAMPING API.
41
42	  If compiled as module (M), the module name is fsl-enetc-ptp.
43
44config FSL_ENETC_HW_TIMESTAMPING
45	bool "ENETC hardware timestamping support"
46	depends on FSL_ENETC || FSL_ENETC_VF
47	help
48	  Enable hardware timestamping support on the Ethernet packets
49	  using the SO_TIMESTAMPING API. Because the RX BD ring dynamic
50	  allocation has not been supported and it is too expensive to use
51	  extended RX BDs if timestamping is not used, this option enables
52	  extended RX BDs in order to support hardware timestamping.
53