1d4fd0404SClaudiu Manoil# SPDX-License-Identifier: GPL-2.0 2e3972399SVladimir Olteanconfig FSL_ENETC_CORE 3e3972399SVladimir Oltean tristate 4e3972399SVladimir Oltean help 5e3972399SVladimir Oltean This module supports common functionality between the PF and VF 6e3972399SVladimir Oltean drivers for the NXP ENETC controller. 7e3972399SVladimir Oltean 8e3972399SVladimir Oltean If compiled as module (M), the module name is fsl-enetc-core. 9e3972399SVladimir Oltean 103774409fSWei Fangconfig NXP_ENETC_PF_COMMON 113774409fSWei Fang tristate 123774409fSWei Fang help 133774409fSWei Fang This module supports common functionality between drivers of 143774409fSWei Fang different versions of NXP ENETC PF controllers. 153774409fSWei Fang 163774409fSWei Fang If compiled as module (M), the module name is nxp-enetc-pf-common. 173774409fSWei Fang 18d4fd0404SClaudiu Manoilconfig FSL_ENETC 19d4fd0404SClaudiu Manoil tristate "ENETC PF driver" 205bee990fSLukas Bulwahn depends on PCI_MSI 2137f9b2a6SAndrew Lunn select MDIO_DEVRES 22e3972399SVladimir Oltean select FSL_ENETC_CORE 231b8caefaSMichael Walle select FSL_ENETC_IERB 246517798dSClaudiu Manoil select FSL_ENETC_MDIO 253774409fSWei Fang select NXP_ENETC_PF_COMMON 2671b77a7aSClaudiu Manoil select PHYLINK 2771b77a7aSClaudiu Manoil select PCS_LYNX 28ae0e6a5dSClaudiu Manoil select DIMLIB 29d4fd0404SClaudiu Manoil help 30d4fd0404SClaudiu Manoil This driver supports NXP ENETC gigabit ethernet controller PCIe 31d4fd0404SClaudiu Manoil physical function (PF) devices, managing ENETC Ports at a privileged 32d4fd0404SClaudiu Manoil level. 33d4fd0404SClaudiu Manoil 34d4fd0404SClaudiu Manoil If compiled as module (M), the module name is fsl-enetc. 35d4fd0404SClaudiu Manoil 36*99100d0dSWei Fangconfig NXP_ENETC4 37*99100d0dSWei Fang tristate "ENETC4 PF driver" 38*99100d0dSWei Fang depends on PCI_MSI 39*99100d0dSWei Fang select MDIO_DEVRES 40*99100d0dSWei Fang select FSL_ENETC_CORE 41*99100d0dSWei Fang select FSL_ENETC_MDIO 42*99100d0dSWei Fang select NXP_ENETC_PF_COMMON 43*99100d0dSWei Fang select PHYLINK 44*99100d0dSWei Fang select DIMLIB 45*99100d0dSWei Fang help 46*99100d0dSWei Fang This driver supports NXP ENETC devices with major revision 4. ENETC is 47*99100d0dSWei Fang as the NIC functionality in NETC, it supports virtualization/isolation 48*99100d0dSWei Fang based on PCIe Single Root IO Virtualization (SR-IOV) and a full range 49*99100d0dSWei Fang of TSN standards and NIC offload capabilities. 50*99100d0dSWei Fang 51*99100d0dSWei Fang If compiled as module (M), the module name is nxp-enetc4. 52*99100d0dSWei Fang 53d4fd0404SClaudiu Manoilconfig FSL_ENETC_VF 54d4fd0404SClaudiu Manoil tristate "ENETC VF driver" 555bee990fSLukas Bulwahn depends on PCI_MSI 56e3972399SVladimir Oltean select FSL_ENETC_CORE 57fd5736bfSAlex Marginean select FSL_ENETC_MDIO 5871b77a7aSClaudiu Manoil select PHYLINK 59ae0e6a5dSClaudiu Manoil select DIMLIB 60d4fd0404SClaudiu Manoil help 61d4fd0404SClaudiu Manoil This driver supports NXP ENETC gigabit ethernet controller PCIe 62d4fd0404SClaudiu Manoil virtual function (VF) devices enabled by the ENETC PF driver. 63d4fd0404SClaudiu Manoil 64d4fd0404SClaudiu Manoil If compiled as module (M), the module name is fsl-enetc-vf. 6519971f5eSYangbo Lu 66e7d48e5fSVladimir Olteanconfig FSL_ENETC_IERB 67e7d48e5fSVladimir Oltean tristate "ENETC IERB driver" 68e7d48e5fSVladimir Oltean help 69e7d48e5fSVladimir Oltean This driver configures the Integrated Endpoint Register Block on NXP 70e7d48e5fSVladimir Oltean LS1028A. 71e7d48e5fSVladimir Oltean 72e7d48e5fSVladimir Oltean If compiled as module (M), the module name is fsl-enetc-ierb. 73e7d48e5fSVladimir Oltean 74231ece36SClaudiu Manoilconfig FSL_ENETC_MDIO 75231ece36SClaudiu Manoil tristate "ENETC MDIO driver" 76e185ea30STong Zhang depends on PCI && MDIO_DEVRES && MDIO_BUS 77231ece36SClaudiu Manoil help 78231ece36SClaudiu Manoil This driver supports NXP ENETC Central MDIO controller as a PCIe 79231ece36SClaudiu Manoil physical function (PF) device. 80231ece36SClaudiu Manoil 81231ece36SClaudiu Manoil If compiled as module (M), the module name is fsl-enetc-mdio. 82231ece36SClaudiu Manoil 8319971f5eSYangbo Luconfig FSL_ENETC_PTP_CLOCK 8419971f5eSYangbo Lu tristate "ENETC PTP clock driver" 8519971f5eSYangbo Lu depends on PTP_1588_CLOCK_QORIQ && (FSL_ENETC || FSL_ENETC_VF) 8619971f5eSYangbo Lu default y 8719971f5eSYangbo Lu help 8819971f5eSYangbo Lu This driver adds support for using the ENETC 1588 timer 8919971f5eSYangbo Lu as a PTP clock. This clock is only useful if your PTP 9019971f5eSYangbo Lu programs are getting hardware time stamps on the PTP Ethernet 9119971f5eSYangbo Lu packets using the SO_TIMESTAMPING API. 9219971f5eSYangbo Lu 9319971f5eSYangbo Lu If compiled as module (M), the module name is fsl-enetc-ptp. 94d3982312SY.b. Lu 9534c6adf1SPo Liuconfig FSL_ENETC_QOS 9634c6adf1SPo Liu bool "ENETC hardware Time-sensitive Network support" 97c431047cSPo Liu depends on (FSL_ENETC || FSL_ENETC_VF) && (NET_SCH_TAPRIO || NET_SCH_CBS) 9834c6adf1SPo Liu help 9934c6adf1SPo Liu There are Time-Sensitive Network(TSN) capabilities(802.1Qbv/802.1Qci 10034c6adf1SPo Liu /802.1Qbu etc.) supported by ENETC. These TSN capabilities can be set 10134c6adf1SPo Liu enable/disable from user space via Qos commands(tc). In the kernel 10234c6adf1SPo Liu side, it can be loaded by Qos driver. Currently, it is only support 103c431047cSPo Liu taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu). 104fe5ba6bfSWei Fang 105fe5ba6bfSWei Fangconfig NXP_NETC_BLK_CTRL 106fe5ba6bfSWei Fang tristate "NETC blocks control driver" 107fe5ba6bfSWei Fang help 108fe5ba6bfSWei Fang This driver configures Integrated Endpoint Register Block (IERB) and 109fe5ba6bfSWei Fang Privileged Register Block (PRB) of NETC. For i.MX platforms, it also 110fe5ba6bfSWei Fang includes the configuration of NETCMIX block. 111fe5ba6bfSWei Fang The IERB contains registers that are used for pre-boot initialization, 112fe5ba6bfSWei Fang debug, and non-customer configuration. The PRB controls global reset 113fe5ba6bfSWei Fang and global error handling for NETC. The NETCMIX block is mainly used 114fe5ba6bfSWei Fang to set MII protocol and PCS protocol of the links, it also contains 115fe5ba6bfSWei Fang settings for some other functions. 116fe5ba6bfSWei Fang 117fe5ba6bfSWei Fang If compiled as module (M), the module name is nxp-netc-blk-ctrl. 118