GNU Linux-libre 6.8.9-gnu
[releases.git] / drivers / net / ethernet / broadcom / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Broadcom device configuration
4 #
5
6 config NET_VENDOR_BROADCOM
7         bool "Broadcom devices"
8         default y
9         depends on (SSB_POSSIBLE && HAS_DMA) || PCI || BCM63XX || \
10                    SIBYTE_SB1xxx_SOC
11         help
12           If you have a network (Ethernet) chipset belonging to this class,
13           say Y.
14
15           Note that the answer to this question does not directly affect
16           the kernel: saying N will just cause the configurator to skip all
17           the questions regarding Broadcom chipsets. If you say Y, you will
18           be asked for your specific chipset/driver in the following questions.
19
20 if NET_VENDOR_BROADCOM
21
22 config B44
23         tristate "Broadcom 440x/47xx ethernet support"
24         depends on SSB_POSSIBLE && HAS_DMA
25         select SSB
26         select MII
27         select PHYLIB
28         help
29           If you have a network (Ethernet) controller of this type, say Y
30           or M here.
31
32           To compile this driver as a module, choose M here. The module
33           will be called b44.
34
35 # Auto-select SSB PCI-HOST support, if possible
36 config B44_PCI_AUTOSELECT
37         bool
38         depends on B44 && SSB_PCIHOST_POSSIBLE
39         select SSB_PCIHOST
40         default y
41
42 # Auto-select SSB PCICORE driver, if possible
43 config B44_PCICORE_AUTOSELECT
44         bool
45         depends on B44 && SSB_DRIVER_PCICORE_POSSIBLE
46         select SSB_DRIVER_PCICORE
47         default y
48
49 config B44_PCI
50         bool
51         depends on B44_PCI_AUTOSELECT && B44_PCICORE_AUTOSELECT
52         default y
53
54 config BCM4908_ENET
55         tristate "Broadcom BCM4908 internal mac support"
56         depends on ARCH_BCMBCA || COMPILE_TEST
57         default y if ARCH_BCMBCA
58         help
59           This driver supports Ethernet controller integrated into Broadcom
60           BCM4908 family SoCs.
61
62 config BCM63XX_ENET
63         tristate "Broadcom 63xx internal mac support"
64         depends on BCM63XX
65         select MII
66         select PHYLIB
67         help
68           This driver supports the ethernet MACs in the Broadcom 63xx
69           MIPS chipset family (BCM63XX).
70
71 config BCMGENET
72         tristate "Broadcom GENET internal MAC support"
73         depends on HAS_IOMEM
74         depends on PTP_1588_CLOCK_OPTIONAL || !ARCH_BCM2835
75         select MII
76         select PHYLIB
77         select FIXED_PHY
78         select BCM7XXX_PHY
79         select MDIO_BCM_UNIMAC
80         select DIMLIB
81         select BROADCOM_PHY if ARCH_BCM2835
82         help
83           This driver supports the built-in Ethernet MACs found in the
84           Broadcom BCM7xxx Set Top Box family chipset.
85
86 config BNX2
87         tristate "QLogic bnx2 support"
88         depends on PCI
89         select CRC32
90         select FW_LOADER
91         help
92           This driver supports QLogic bnx2 gigabit Ethernet cards.
93
94           To compile this driver as a module, choose M here: the module
95           will be called bnx2.  This is recommended.
96
97 config CNIC
98         tristate "QLogic CNIC support"
99         depends on PCI && (IPV6 || IPV6=n)
100         depends on MMU
101         select BNX2
102         select UIO
103         help
104           This driver supports offload features of QLogic bnx2 gigabit
105           Ethernet cards.
106
107           To compile this driver as a module, choose M here: the module
108           will be called cnic.  This is recommended.
109
110 config SB1250_MAC
111         tristate "SB1250 Gigabit Ethernet support"
112         depends on SIBYTE_SB1xxx_SOC
113         select PHYLIB
114         help
115           This driver supports Gigabit Ethernet interfaces based on the
116           Broadcom SiByte family of System-On-a-Chip parts.  They include
117           the BCM1120, BCM1125, BCM1125H, BCM1250, BCM1255, BCM1280, BCM1455
118           and BCM1480 chips.
119
120           To compile this driver as a module, choose M here: the module
121           will be called sb1250-mac.
122
123 config TIGON3
124         tristate "Broadcom Tigon3 support"
125         depends on PCI
126         depends on PTP_1588_CLOCK_OPTIONAL
127         select PHYLIB
128         help
129           This driver supports Broadcom Tigon3 based gigabit Ethernet cards.
130
131           To compile this driver as a module, choose M here: the module
132           will be called tg3.  This is recommended.
133
134 config TIGON3_HWMON
135         bool "Broadcom Tigon3 HWMON support"
136         default y
137         depends on TIGON3 && HWMON && !(TIGON3=y && HWMON=m)
138         help
139           Say Y if you want to expose the thermal sensor on Tigon3 devices.
140
141 config BNX2X
142         tristate "Broadcom NetXtremeII 10Gb support"
143         depends on PCI
144         depends on PTP_1588_CLOCK_OPTIONAL
145         select FW_LOADER
146         select ZLIB_INFLATE
147         select LIBCRC32C
148         select MDIO
149         help
150           This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards.
151           To compile this driver as a module, choose M here: the module
152           will be called bnx2x.  This is recommended.
153
154 config BNX2X_SRIOV
155         bool "Broadcom 578xx and 57712 SR-IOV support"
156         depends on BNX2X && PCI_IOV
157         default y
158         help
159           This configuration parameter enables Single Root Input Output
160           Virtualization support in the 578xx and 57712 products. This
161           allows for virtual function acceleration in virtual environments.
162
163 config BGMAC
164         tristate
165         help
166           This enables the integrated ethernet controller support for many
167           Broadcom (mostly iProc) SoCs. An appropriate bus interface driver
168           needs to be enabled to select this.
169
170 config BGMAC_BCMA
171         tristate "Broadcom iProc GBit BCMA support"
172         depends on BCMA && BCMA_HOST_SOC
173         depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
174         select BGMAC
175         select PHYLIB
176         select FIXED_PHY
177         help
178           This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus.
179           They can be found on BCM47xx SoCs and provide gigabit ethernet.
180           In case of using this driver on BCM4706 it's also requires to enable
181           BCMA_DRIVER_GMAC_CMN to make it work.
182
183 config BGMAC_PLATFORM
184         tristate "Broadcom iProc GBit platform support"
185         depends on ARCH_BCM_IPROC || COMPILE_TEST
186         select BGMAC
187         select PHYLIB
188         select FIXED_PHY
189         default ARCH_BCM_IPROC
190         help
191           Say Y here if you want to use the Broadcom iProc Gigabit Ethernet
192           controller through the generic platform interface
193
194 config SYSTEMPORT
195         tristate "Broadcom SYSTEMPORT internal MAC support"
196         depends on HAS_IOMEM
197         depends on NET_DSA || !NET_DSA
198         select MII
199         select PHYLIB
200         select FIXED_PHY
201         select DIMLIB
202         help
203           This driver supports the built-in Ethernet MACs found in the
204           Broadcom BCM7xxx Set Top Box family chipset using an internal
205           Ethernet switch.
206
207 config BNXT
208         tristate "Broadcom NetXtreme-C/E support"
209         depends on PCI
210         depends on PTP_1588_CLOCK_OPTIONAL
211         select FW_LOADER
212         select LIBCRC32C
213         select NET_DEVLINK
214         select PAGE_POOL
215         select DIMLIB
216         select AUXILIARY_BUS
217         help
218           This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit
219           Ethernet cards.  To compile this driver as a module, choose M here:
220           the module will be called bnxt_en.  This is recommended.
221
222 config BNXT_SRIOV
223         bool "Broadcom NetXtreme-C/E SR-IOV support"
224         depends on BNXT && PCI_IOV
225         default y
226         help
227           This configuration parameter enables Single Root Input Output
228           Virtualization support in the NetXtreme-C/E products. This
229           allows for virtual function acceleration in virtual environments.
230
231 config BNXT_FLOWER_OFFLOAD
232         bool "TC Flower offload support for NetXtreme-C/E"
233         depends on BNXT
234         default y
235         help
236           This configuration parameter enables TC Flower packet classifier
237           offload for eswitch.  This option enables SR-IOV switchdev eswitch
238           offload.
239
240 config BNXT_DCB
241         bool "Data Center Bridging (DCB) Support"
242         default n
243         depends on BNXT && DCB
244         help
245           Say Y here if you want to use Data Center Bridging (DCB) in the
246           driver.
247
248           If unsure, say N.
249
250 config BNXT_HWMON
251         bool "Broadcom NetXtreme-C/E HWMON support"
252         default y
253         depends on BNXT && HWMON && !(BNXT=y && HWMON=m)
254         help
255           Say Y if you want to expose the thermal sensor data on NetXtreme-C/E
256           devices, via the hwmon sysfs interface.
257
258 config BCMASP
259         tristate "Broadcom ASP 2.0 Ethernet support"
260         depends on ARCH_BRCMSTB || COMPILE_TEST
261         default ARCH_BRCMSTB
262         depends on OF
263         select MII
264         select PHYLIB
265         select MDIO_BCM_UNIMAC
266         help
267           This configuration enables the Broadcom ASP 2.0 Ethernet controller
268           driver which is present in Broadcom STB SoCs such as 72165.
269
270 endif # NET_VENDOR_BROADCOM