0001 # SPDX-License-Identifier: GPL-2.0
0002 config FSL_ENETC
0003 tristate "ENETC PF driver"
0004 depends on PCI && PCI_MSI
0005 select FSL_ENETC_IERB
0006 select FSL_ENETC_MDIO
0007 select PHYLINK
0008 select PCS_LYNX
0009 select DIMLIB
0010 help
0011 This driver supports NXP ENETC gigabit ethernet controller PCIe
0012 physical function (PF) devices, managing ENETC Ports at a privileged
0013 level.
0014
0015 If compiled as module (M), the module name is fsl-enetc.
0016
0017 config FSL_ENETC_VF
0018 tristate "ENETC VF driver"
0019 depends on PCI && PCI_MSI
0020 select FSL_ENETC_MDIO
0021 select PHYLINK
0022 select DIMLIB
0023 help
0024 This driver supports NXP ENETC gigabit ethernet controller PCIe
0025 virtual function (VF) devices enabled by the ENETC PF driver.
0026
0027 If compiled as module (M), the module name is fsl-enetc-vf.
0028
0029 config FSL_ENETC_IERB
0030 tristate "ENETC IERB driver"
0031 help
0032 This driver configures the Integrated Endpoint Register Block on NXP
0033 LS1028A.
0034
0035 If compiled as module (M), the module name is fsl-enetc-ierb.
0036
0037 config FSL_ENETC_MDIO
0038 tristate "ENETC MDIO driver"
0039 depends on PCI && MDIO_DEVRES && MDIO_BUS
0040 help
0041 This driver supports NXP ENETC Central MDIO controller as a PCIe
0042 physical function (PF) device.
0043
0044 If compiled as module (M), the module name is fsl-enetc-mdio.
0045
0046 config FSL_ENETC_PTP_CLOCK
0047 tristate "ENETC PTP clock driver"
0048 depends on PTP_1588_CLOCK_QORIQ && (FSL_ENETC || FSL_ENETC_VF)
0049 default y
0050 help
0051 This driver adds support for using the ENETC 1588 timer
0052 as a PTP clock. This clock is only useful if your PTP
0053 programs are getting hardware time stamps on the PTP Ethernet
0054 packets using the SO_TIMESTAMPING API.
0055
0056 If compiled as module (M), the module name is fsl-enetc-ptp.
0057
0058 config FSL_ENETC_QOS
0059 bool "ENETC hardware Time-sensitive Network support"
0060 depends on (FSL_ENETC || FSL_ENETC_VF) && (NET_SCH_TAPRIO || NET_SCH_CBS)
0061 help
0062 There are Time-Sensitive Network(TSN) capabilities(802.1Qbv/802.1Qci
0063 /802.1Qbu etc.) supported by ENETC. These TSN capabilities can be set
0064 enable/disable from user space via Qos commands(tc). In the kernel
0065 side, it can be loaded by Qos driver. Currently, it is only support
0066 taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu).