1# SPDX-License-Identifier: GPL-2.0 2config FSL_ENETC_CORE 3 tristate 4 help 5 This module supports common functionality between the PF and VF 6 drivers for the NXP ENETC controller. 7 8 If compiled as module (M), the module name is fsl-enetc-core. 9 10config NXP_ENETC_PF_COMMON 11 tristate 12 help 13 This module supports common functionality between drivers of 14 different versions of NXP ENETC PF controllers. 15 16 If compiled as module (M), the module name is nxp-enetc-pf-common. 17 18config NXP_NETC_LIB 19 tristate 20 help 21 This module provides common functionalities for both ENETC and NETC 22 Switch, such as NETC Table Management Protocol (NTMP) 2.0, common tc 23 flower and debugfs interfaces and so on. 24 25config FSL_ENETC 26 tristate "ENETC PF driver" 27 depends on PCI_MSI 28 select FSL_ENETC_CORE 29 select FSL_ENETC_IERB 30 select FSL_ENETC_MDIO 31 select NXP_ENETC_PF_COMMON 32 select PHYLINK 33 select PCS_LYNX 34 select DIMLIB 35 help 36 This driver supports NXP ENETC gigabit ethernet controller PCIe 37 physical function (PF) devices, managing ENETC Ports at a privileged 38 level. 39 40 If compiled as module (M), the module name is fsl-enetc. 41 42config NXP_ENETC4 43 tristate "ENETC4 PF driver" 44 depends on PCI_MSI 45 select FSL_ENETC_CORE 46 select FSL_ENETC_MDIO 47 select NXP_ENETC_PF_COMMON 48 select NXP_NETC_LIB 49 select PHYLINK 50 select DIMLIB 51 help 52 This driver supports NXP ENETC devices with major revision 4. ENETC is 53 as the NIC functionality in NETC, it supports virtualization/isolation 54 based on PCIe Single Root IO Virtualization (SR-IOV) and a full range 55 of TSN standards and NIC offload capabilities. 56 57 If compiled as module (M), the module name is nxp-enetc4. 58 59config FSL_ENETC_VF 60 tristate "ENETC VF driver" 61 depends on PCI_MSI 62 select FSL_ENETC_CORE 63 select FSL_ENETC_MDIO 64 select PHYLINK 65 select DIMLIB 66 help 67 This driver supports NXP ENETC gigabit ethernet controller PCIe 68 virtual function (VF) devices enabled by the ENETC PF driver. 69 70 If compiled as module (M), the module name is fsl-enetc-vf. 71 72config FSL_ENETC_IERB 73 tristate "ENETC IERB driver" 74 help 75 This driver configures the Integrated Endpoint Register Block on NXP 76 LS1028A. 77 78 If compiled as module (M), the module name is fsl-enetc-ierb. 79 80config FSL_ENETC_MDIO 81 tristate "ENETC MDIO driver" 82 depends on PCI && PHYLIB 83 help 84 This driver supports NXP ENETC Central MDIO controller as a PCIe 85 physical function (PF) device. 86 87 If compiled as module (M), the module name is fsl-enetc-mdio. 88 89config FSL_ENETC_PTP_CLOCK 90 tristate "ENETC PTP clock driver" 91 depends on PTP_1588_CLOCK_QORIQ && (FSL_ENETC || FSL_ENETC_VF) 92 default y 93 help 94 This driver adds support for using the ENETC 1588 timer 95 as a PTP clock. This clock is only useful if your PTP 96 programs are getting hardware time stamps on the PTP Ethernet 97 packets using the SO_TIMESTAMPING API. 98 99 If compiled as module (M), the module name is fsl-enetc-ptp. 100 101config FSL_ENETC_QOS 102 bool "ENETC hardware Time-sensitive Network support" 103 depends on (FSL_ENETC || FSL_ENETC_VF) && (NET_SCH_TAPRIO || NET_SCH_CBS) 104 help 105 There are Time-Sensitive Network(TSN) capabilities(802.1Qbv/802.1Qci 106 /802.1Qbu etc.) supported by ENETC. These TSN capabilities can be set 107 enable/disable from user space via Qos commands(tc). In the kernel 108 side, it can be loaded by Qos driver. Currently, it is only support 109 taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu). 110 111config NXP_NETC_BLK_CTRL 112 tristate "NETC blocks control driver" 113 help 114 This driver configures Integrated Endpoint Register Block (IERB) and 115 Privileged Register Block (PRB) of NETC. For i.MX platforms, it also 116 includes the configuration of NETCMIX block. 117 The IERB contains registers that are used for pre-boot initialization, 118 debug, and non-customer configuration. The PRB controls global reset 119 and global error handling for NETC. The NETCMIX block is mainly used 120 to set MII protocol and PCS protocol of the links, it also contains 121 settings for some other functions. 122 123 If compiled as module (M), the module name is nxp-netc-blk-ctrl. 124