162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ciconfig FSL_ENETC_CORE
362306a36Sopenharmony_ci	tristate
462306a36Sopenharmony_ci	help
562306a36Sopenharmony_ci	  This module supports common functionality between the PF and VF
662306a36Sopenharmony_ci	  drivers for the NXP ENETC controller.
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci	  If compiled as module (M), the module name is fsl-enetc-core.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciconfig FSL_ENETC
1162306a36Sopenharmony_ci	tristate "ENETC PF driver"
1262306a36Sopenharmony_ci	depends on PCI_MSI
1362306a36Sopenharmony_ci	select MDIO_DEVRES
1462306a36Sopenharmony_ci	select FSL_ENETC_CORE
1562306a36Sopenharmony_ci	select FSL_ENETC_IERB
1662306a36Sopenharmony_ci	select FSL_ENETC_MDIO
1762306a36Sopenharmony_ci	select PHYLINK
1862306a36Sopenharmony_ci	select PCS_LYNX
1962306a36Sopenharmony_ci	select DIMLIB
2062306a36Sopenharmony_ci	help
2162306a36Sopenharmony_ci	  This driver supports NXP ENETC gigabit ethernet controller PCIe
2262306a36Sopenharmony_ci	  physical function (PF) devices, managing ENETC Ports at a privileged
2362306a36Sopenharmony_ci	  level.
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	  If compiled as module (M), the module name is fsl-enetc.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciconfig FSL_ENETC_VF
2862306a36Sopenharmony_ci	tristate "ENETC VF driver"
2962306a36Sopenharmony_ci	depends on PCI_MSI
3062306a36Sopenharmony_ci	select FSL_ENETC_CORE
3162306a36Sopenharmony_ci	select FSL_ENETC_MDIO
3262306a36Sopenharmony_ci	select PHYLINK
3362306a36Sopenharmony_ci	select DIMLIB
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	  This driver supports NXP ENETC gigabit ethernet controller PCIe
3662306a36Sopenharmony_ci	  virtual function (VF) devices enabled by the ENETC PF driver.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	  If compiled as module (M), the module name is fsl-enetc-vf.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciconfig FSL_ENETC_IERB
4162306a36Sopenharmony_ci	tristate "ENETC IERB driver"
4262306a36Sopenharmony_ci	help
4362306a36Sopenharmony_ci	  This driver configures the Integrated Endpoint Register Block on NXP
4462306a36Sopenharmony_ci	  LS1028A.
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci	  If compiled as module (M), the module name is fsl-enetc-ierb.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciconfig FSL_ENETC_MDIO
4962306a36Sopenharmony_ci	tristate "ENETC MDIO driver"
5062306a36Sopenharmony_ci	depends on PCI && MDIO_DEVRES && MDIO_BUS
5162306a36Sopenharmony_ci	help
5262306a36Sopenharmony_ci	  This driver supports NXP ENETC Central MDIO controller as a PCIe
5362306a36Sopenharmony_ci	  physical function (PF) device.
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci	  If compiled as module (M), the module name is fsl-enetc-mdio.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciconfig FSL_ENETC_PTP_CLOCK
5862306a36Sopenharmony_ci	tristate "ENETC PTP clock driver"
5962306a36Sopenharmony_ci	depends on PTP_1588_CLOCK_QORIQ && (FSL_ENETC || FSL_ENETC_VF)
6062306a36Sopenharmony_ci	default y
6162306a36Sopenharmony_ci	help
6262306a36Sopenharmony_ci	  This driver adds support for using the ENETC 1588 timer
6362306a36Sopenharmony_ci	  as a PTP clock. This clock is only useful if your PTP
6462306a36Sopenharmony_ci	  programs are getting hardware time stamps on the PTP Ethernet
6562306a36Sopenharmony_ci	  packets using the SO_TIMESTAMPING API.
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	  If compiled as module (M), the module name is fsl-enetc-ptp.
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciconfig FSL_ENETC_QOS
7062306a36Sopenharmony_ci	bool "ENETC hardware Time-sensitive Network support"
7162306a36Sopenharmony_ci	depends on (FSL_ENETC || FSL_ENETC_VF) && (NET_SCH_TAPRIO || NET_SCH_CBS)
7262306a36Sopenharmony_ci	help
7362306a36Sopenharmony_ci	  There are Time-Sensitive Network(TSN) capabilities(802.1Qbv/802.1Qci
7462306a36Sopenharmony_ci	  /802.1Qbu etc.) supported by ENETC. These TSN capabilities can be set
7562306a36Sopenharmony_ci	  enable/disable from user space via Qos commands(tc). In the kernel
7662306a36Sopenharmony_ci	  side, it can be loaded by Qos driver. Currently, it is only support
7762306a36Sopenharmony_ci	  taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu).
78