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