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