summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/freescale/enetc/Kconfig
blob: 6c2779047dcd5fc6205df472dbbdca04beeb1a7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# 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 NXP_ENETC_PF_COMMON
	tristate
	help
	  This module supports common functionality between drivers of
	  different versions of NXP ENETC PF controllers.

	  If compiled as module (M), the module name is nxp-enetc-pf-common.

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 NXP_ENETC_PF_COMMON
	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 NXP_ENETC4
	tristate "ENETC4 PF driver"
	depends on PCI_MSI
	select MDIO_DEVRES
	select FSL_ENETC_CORE
	select FSL_ENETC_MDIO
	select NXP_ENETC_PF_COMMON
	select PHYLINK
	select DIMLIB
	help
	  This driver supports NXP ENETC devices with major revision 4. ENETC is
	  as the NIC functionality in NETC, it supports virtualization/isolation
	  based on PCIe Single Root IO Virtualization (SR-IOV) and a full range
	  of TSN standards and NIC offload capabilities.

	  If compiled as module (M), the module name is nxp-enetc4.

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

config NXP_NETC_BLK_CTRL
	tristate "NETC blocks control driver"
	help
	  This driver configures Integrated Endpoint Register Block (IERB) and
	  Privileged Register Block (PRB) of NETC. For i.MX platforms, it also
	  includes the configuration of NETCMIX block.
	  The IERB contains registers that are used for pre-boot initialization,
	  debug, and non-customer configuration. The PRB controls global reset
	  and global error handling for NETC. The NETCMIX block is mainly used
	  to set MII protocol and PCS protocol of the links, it also contains
	  settings for some other functions.

	  If compiled as module (M), the module name is nxp-netc-blk-ctrl.