Linux v6.6.1 - enetc

# 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 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 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 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).