# SPDX-License-Identifier: GPL-2.0 config FSL_ENETC_CORE tristate help This module supports common functionality between the PF and VF drivers for the NXP ENETC controller. If compiled as module (M), the module name is fsl-enetc-core. config NXP_ENETC_PF_COMMON tristate help This module supports common functionality between drivers of different versions of NXP ENETC PF controllers. If compiled as module (M), the module name is nxp-enetc-pf-common. config FSL_ENETC tristate "ENETC PF driver" depends on PCI_MSI select MDIO_DEVRES select FSL_ENETC_CORE select FSL_ENETC_IERB select FSL_ENETC_MDIO select NXP_ENETC_PF_COMMON select PHYLINK select PCS_LYNX select DIMLIB help This driver supports NXP ENETC gigabit ethernet controller PCIe physical function (PF) devices, managing ENETC Ports at a privileged level. If compiled as module (M), the module name is fsl-enetc. config NXP_ENETC4 tristate "ENETC4 PF driver" depends on PCI_MSI select MDIO_DEVRES select FSL_ENETC_CORE select FSL_ENETC_MDIO select NXP_ENETC_PF_COMMON select PHYLINK select DIMLIB help This driver supports NXP ENETC devices with major revision 4. ENETC is as the NIC functionality in NETC, it supports virtualization/isolation based on PCIe Single Root IO Virtualization (SR-IOV) and a full range of TSN standards and NIC offload capabilities. If compiled as module (M), the module name is nxp-enetc4. config FSL_ENETC_VF tristate "ENETC VF driver" depends on PCI_MSI select FSL_ENETC_CORE select FSL_ENETC_MDIO select PHYLINK select DIMLIB help This driver supports NXP ENETC gigabit ethernet controller PCIe virtual function (VF) devices enabled by the ENETC PF driver. If compiled as module (M), the module name is fsl-enetc-vf. config FSL_ENETC_IERB tristate "ENETC IERB driver" help This driver configures the Integrated Endpoint Register Block on NXP LS1028A. If compiled as module (M), the module name is fsl-enetc-ierb. config FSL_ENETC_MDIO tristate "ENETC MDIO driver" depends on PCI && MDIO_DEVRES && MDIO_BUS help This driver supports NXP ENETC Central MDIO controller as a PCIe physical function (PF) device. If compiled as module (M), the module name is fsl-enetc-mdio. config FSL_ENETC_PTP_CLOCK tristate "ENETC PTP clock driver" depends on PTP_1588_CLOCK_QORIQ && (FSL_ENETC || FSL_ENETC_VF) default y help This driver adds support for using the ENETC 1588 timer as a PTP clock. This clock is only useful if your PTP programs are getting hardware time stamps on the PTP Ethernet packets using the SO_TIMESTAMPING API. If compiled as module (M), the module name is fsl-enetc-ptp. config FSL_ENETC_QOS bool "ENETC hardware Time-sensitive Network support" depends on (FSL_ENETC || FSL_ENETC_VF) && (NET_SCH_TAPRIO || NET_SCH_CBS) help There are Time-Sensitive Network(TSN) capabilities(802.1Qbv/802.1Qci /802.1Qbu etc.) supported by ENETC. These TSN capabilities can be set enable/disable from user space via Qos commands(tc). In the kernel side, it can be loaded by Qos driver. Currently, it is only support taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu). config NXP_NETC_BLK_CTRL tristate "NETC blocks control driver" help This driver configures Integrated Endpoint Register Block (IERB) and Privileged Register Block (PRB) of NETC. For i.MX platforms, it also includes the configuration of NETCMIX block. The IERB contains registers that are used for pre-boot initialization, debug, and non-customer configuration. The PRB controls global reset and global error handling for NETC. The NETCMIX block is mainly used to set MII protocol and PCS protocol of the links, it also contains settings for some other functions. If compiled as module (M), the module name is nxp-netc-blk-ctrl.