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