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