18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Broadcom device configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig NET_VENDOR_BROADCOM
78c2ecf20Sopenharmony_ci	bool "Broadcom devices"
88c2ecf20Sopenharmony_ci	default y
98c2ecf20Sopenharmony_ci	depends on (SSB_POSSIBLE && HAS_DMA) || PCI || BCM63XX || \
108c2ecf20Sopenharmony_ci		   SIBYTE_SB1xxx_SOC
118c2ecf20Sopenharmony_ci	help
128c2ecf20Sopenharmony_ci	  If you have a network (Ethernet) chipset belonging to this class,
138c2ecf20Sopenharmony_ci	  say Y.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci	  Note that the answer to this question does not directly affect
168c2ecf20Sopenharmony_ci	  the kernel: saying N will just cause the configurator to skip all
178c2ecf20Sopenharmony_ci	  the questions regarding Broadcom chipsets. If you say Y, you will
188c2ecf20Sopenharmony_ci	  be asked for your specific chipset/driver in the following questions.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciif NET_VENDOR_BROADCOM
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciconfig B44
238c2ecf20Sopenharmony_ci	tristate "Broadcom 440x/47xx ethernet support"
248c2ecf20Sopenharmony_ci	depends on SSB_POSSIBLE && HAS_DMA
258c2ecf20Sopenharmony_ci	select SSB
268c2ecf20Sopenharmony_ci	select MII
278c2ecf20Sopenharmony_ci	select PHYLIB
288c2ecf20Sopenharmony_ci	help
298c2ecf20Sopenharmony_ci	  If you have a network (Ethernet) controller of this type, say Y
308c2ecf20Sopenharmony_ci	  or M here.
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here. The module
338c2ecf20Sopenharmony_ci	  will be called b44.
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci# Auto-select SSB PCI-HOST support, if possible
368c2ecf20Sopenharmony_ciconfig B44_PCI_AUTOSELECT
378c2ecf20Sopenharmony_ci	bool
388c2ecf20Sopenharmony_ci	depends on B44 && SSB_PCIHOST_POSSIBLE
398c2ecf20Sopenharmony_ci	select SSB_PCIHOST
408c2ecf20Sopenharmony_ci	default y
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci# Auto-select SSB PCICORE driver, if possible
438c2ecf20Sopenharmony_ciconfig B44_PCICORE_AUTOSELECT
448c2ecf20Sopenharmony_ci	bool
458c2ecf20Sopenharmony_ci	depends on B44 && SSB_DRIVER_PCICORE_POSSIBLE
468c2ecf20Sopenharmony_ci	select SSB_DRIVER_PCICORE
478c2ecf20Sopenharmony_ci	default y
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciconfig B44_PCI
508c2ecf20Sopenharmony_ci	bool
518c2ecf20Sopenharmony_ci	depends on B44_PCI_AUTOSELECT && B44_PCICORE_AUTOSELECT
528c2ecf20Sopenharmony_ci	default y
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ciconfig BCM63XX_ENET
558c2ecf20Sopenharmony_ci	tristate "Broadcom 63xx internal mac support"
568c2ecf20Sopenharmony_ci	depends on BCM63XX
578c2ecf20Sopenharmony_ci	select MII
588c2ecf20Sopenharmony_ci	select PHYLIB
598c2ecf20Sopenharmony_ci	help
608c2ecf20Sopenharmony_ci	  This driver supports the ethernet MACs in the Broadcom 63xx
618c2ecf20Sopenharmony_ci	  MIPS chipset family (BCM63XX).
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ciconfig BCMGENET
648c2ecf20Sopenharmony_ci	tristate "Broadcom GENET internal MAC support"
658c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
668c2ecf20Sopenharmony_ci	select MII
678c2ecf20Sopenharmony_ci	select PHYLIB
688c2ecf20Sopenharmony_ci	select FIXED_PHY
698c2ecf20Sopenharmony_ci	select BCM7XXX_PHY
708c2ecf20Sopenharmony_ci	select MDIO_BCM_UNIMAC
718c2ecf20Sopenharmony_ci	select DIMLIB
728c2ecf20Sopenharmony_ci	select BROADCOM_PHY if ARCH_BCM2835
738c2ecf20Sopenharmony_ci	help
748c2ecf20Sopenharmony_ci	  This driver supports the built-in Ethernet MACs found in the
758c2ecf20Sopenharmony_ci	  Broadcom BCM7xxx Set Top Box family chipset.
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ciconfig BNX2
788c2ecf20Sopenharmony_ci	tristate "QLogic bnx2 support"
798c2ecf20Sopenharmony_ci	depends on PCI
808c2ecf20Sopenharmony_ci	select CRC32
818c2ecf20Sopenharmony_ci	select FW_LOADER
828c2ecf20Sopenharmony_ci	help
838c2ecf20Sopenharmony_ci	  This driver supports QLogic bnx2 gigabit Ethernet cards.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
868c2ecf20Sopenharmony_ci	  will be called bnx2.  This is recommended.
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ciconfig CNIC
898c2ecf20Sopenharmony_ci	tristate "QLogic CNIC support"
908c2ecf20Sopenharmony_ci	depends on PCI && (IPV6 || IPV6=n)
918c2ecf20Sopenharmony_ci	depends on MMU
928c2ecf20Sopenharmony_ci	select BNX2
938c2ecf20Sopenharmony_ci	select UIO
948c2ecf20Sopenharmony_ci	help
958c2ecf20Sopenharmony_ci	  This driver supports offload features of QLogic bnx2 gigabit
968c2ecf20Sopenharmony_ci	  Ethernet cards.
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
998c2ecf20Sopenharmony_ci	  will be called cnic.  This is recommended.
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ciconfig SB1250_MAC
1028c2ecf20Sopenharmony_ci	tristate "SB1250 Gigabit Ethernet support"
1038c2ecf20Sopenharmony_ci	depends on SIBYTE_SB1xxx_SOC
1048c2ecf20Sopenharmony_ci	select PHYLIB
1058c2ecf20Sopenharmony_ci	help
1068c2ecf20Sopenharmony_ci	  This driver supports Gigabit Ethernet interfaces based on the
1078c2ecf20Sopenharmony_ci	  Broadcom SiByte family of System-On-a-Chip parts.  They include
1088c2ecf20Sopenharmony_ci	  the BCM1120, BCM1125, BCM1125H, BCM1250, BCM1255, BCM1280, BCM1455
1098c2ecf20Sopenharmony_ci	  and BCM1480 chips.
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1128c2ecf20Sopenharmony_ci	  will be called sb1250-mac.
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ciconfig TIGON3
1158c2ecf20Sopenharmony_ci	tristate "Broadcom Tigon3 support"
1168c2ecf20Sopenharmony_ci	depends on PCI
1178c2ecf20Sopenharmony_ci	select PHYLIB
1188c2ecf20Sopenharmony_ci	imply PTP_1588_CLOCK
1198c2ecf20Sopenharmony_ci	help
1208c2ecf20Sopenharmony_ci	  This driver supports Broadcom Tigon3 based gigabit Ethernet cards.
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1238c2ecf20Sopenharmony_ci	  will be called tg3.  This is recommended.
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ciconfig TIGON3_HWMON
1268c2ecf20Sopenharmony_ci	bool "Broadcom Tigon3 HWMON support"
1278c2ecf20Sopenharmony_ci	default y
1288c2ecf20Sopenharmony_ci	depends on TIGON3 && HWMON && !(TIGON3=y && HWMON=m)
1298c2ecf20Sopenharmony_ci	help
1308c2ecf20Sopenharmony_ci	  Say Y if you want to expose the thermal sensor on Tigon3 devices.
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ciconfig BNX2X
1338c2ecf20Sopenharmony_ci	tristate "Broadcom NetXtremeII 10Gb support"
1348c2ecf20Sopenharmony_ci	depends on PCI
1358c2ecf20Sopenharmony_ci	imply PTP_1588_CLOCK
1368c2ecf20Sopenharmony_ci	select FW_LOADER
1378c2ecf20Sopenharmony_ci	select ZLIB_INFLATE
1388c2ecf20Sopenharmony_ci	select LIBCRC32C
1398c2ecf20Sopenharmony_ci	select MDIO
1408c2ecf20Sopenharmony_ci	help
1418c2ecf20Sopenharmony_ci	  This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards.
1428c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1438c2ecf20Sopenharmony_ci	  will be called bnx2x.  This is recommended.
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ciconfig BNX2X_SRIOV
1468c2ecf20Sopenharmony_ci	bool "Broadcom 578xx and 57712 SR-IOV support"
1478c2ecf20Sopenharmony_ci	depends on BNX2X && PCI_IOV
1488c2ecf20Sopenharmony_ci	default y
1498c2ecf20Sopenharmony_ci	help
1508c2ecf20Sopenharmony_ci	  This configuration parameter enables Single Root Input Output
1518c2ecf20Sopenharmony_ci	  Virtualization support in the 578xx and 57712 products. This
1528c2ecf20Sopenharmony_ci	  allows for virtual function acceleration in virtual environments.
1538c2ecf20Sopenharmony_ci
1548c2ecf20Sopenharmony_ciconfig BGMAC
1558c2ecf20Sopenharmony_ci	tristate
1568c2ecf20Sopenharmony_ci	help
1578c2ecf20Sopenharmony_ci	  This enables the integrated ethernet controller support for many
1588c2ecf20Sopenharmony_ci	  Broadcom (mostly iProc) SoCs. An appropriate bus interface driver
1598c2ecf20Sopenharmony_ci	  needs to be enabled to select this.
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ciconfig BGMAC_BCMA
1628c2ecf20Sopenharmony_ci	tristate "Broadcom iProc GBit BCMA support"
1638c2ecf20Sopenharmony_ci	depends on BCMA && BCMA_HOST_SOC
1648c2ecf20Sopenharmony_ci	depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
1658c2ecf20Sopenharmony_ci	select BGMAC
1668c2ecf20Sopenharmony_ci	select PHYLIB
1678c2ecf20Sopenharmony_ci	select FIXED_PHY
1688c2ecf20Sopenharmony_ci	help
1698c2ecf20Sopenharmony_ci	  This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus.
1708c2ecf20Sopenharmony_ci	  They can be found on BCM47xx SoCs and provide gigabit ethernet.
1718c2ecf20Sopenharmony_ci	  In case of using this driver on BCM4706 it's also requires to enable
1728c2ecf20Sopenharmony_ci	  BCMA_DRIVER_GMAC_CMN to make it work.
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ciconfig BGMAC_PLATFORM
1758c2ecf20Sopenharmony_ci	tristate "Broadcom iProc GBit platform support"
1768c2ecf20Sopenharmony_ci	depends on ARCH_BCM_IPROC || COMPILE_TEST
1778c2ecf20Sopenharmony_ci	depends on OF
1788c2ecf20Sopenharmony_ci	select BGMAC
1798c2ecf20Sopenharmony_ci	select PHYLIB
1808c2ecf20Sopenharmony_ci	select FIXED_PHY
1818c2ecf20Sopenharmony_ci	default ARCH_BCM_IPROC
1828c2ecf20Sopenharmony_ci	help
1838c2ecf20Sopenharmony_ci	  Say Y here if you want to use the Broadcom iProc Gigabit Ethernet
1848c2ecf20Sopenharmony_ci	  controller through the generic platform interface
1858c2ecf20Sopenharmony_ci
1868c2ecf20Sopenharmony_ciconfig SYSTEMPORT
1878c2ecf20Sopenharmony_ci	tristate "Broadcom SYSTEMPORT internal MAC support"
1888c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
1898c2ecf20Sopenharmony_ci	depends on NET_DSA || !NET_DSA
1908c2ecf20Sopenharmony_ci	select MII
1918c2ecf20Sopenharmony_ci	select PHYLIB
1928c2ecf20Sopenharmony_ci	select FIXED_PHY
1938c2ecf20Sopenharmony_ci	select DIMLIB
1948c2ecf20Sopenharmony_ci	help
1958c2ecf20Sopenharmony_ci	  This driver supports the built-in Ethernet MACs found in the
1968c2ecf20Sopenharmony_ci	  Broadcom BCM7xxx Set Top Box family chipset using an internal
1978c2ecf20Sopenharmony_ci	  Ethernet switch.
1988c2ecf20Sopenharmony_ci
1998c2ecf20Sopenharmony_ciconfig BNXT
2008c2ecf20Sopenharmony_ci	tristate "Broadcom NetXtreme-C/E support"
2018c2ecf20Sopenharmony_ci	depends on PCI
2028c2ecf20Sopenharmony_ci	select FW_LOADER
2038c2ecf20Sopenharmony_ci	select LIBCRC32C
2048c2ecf20Sopenharmony_ci	select NET_DEVLINK
2058c2ecf20Sopenharmony_ci	select PAGE_POOL
2068c2ecf20Sopenharmony_ci	select DIMLIB
2078c2ecf20Sopenharmony_ci	help
2088c2ecf20Sopenharmony_ci	  This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit
2098c2ecf20Sopenharmony_ci	  Ethernet cards.  To compile this driver as a module, choose M here:
2108c2ecf20Sopenharmony_ci	  the module will be called bnxt_en.  This is recommended.
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_ciconfig BNXT_SRIOV
2138c2ecf20Sopenharmony_ci	bool "Broadcom NetXtreme-C/E SR-IOV support"
2148c2ecf20Sopenharmony_ci	depends on BNXT && PCI_IOV
2158c2ecf20Sopenharmony_ci	default y
2168c2ecf20Sopenharmony_ci	help
2178c2ecf20Sopenharmony_ci	  This configuration parameter enables Single Root Input Output
2188c2ecf20Sopenharmony_ci	  Virtualization support in the NetXtreme-C/E products. This
2198c2ecf20Sopenharmony_ci	  allows for virtual function acceleration in virtual environments.
2208c2ecf20Sopenharmony_ci
2218c2ecf20Sopenharmony_ciconfig BNXT_FLOWER_OFFLOAD
2228c2ecf20Sopenharmony_ci	bool "TC Flower offload support for NetXtreme-C/E"
2238c2ecf20Sopenharmony_ci	depends on BNXT
2248c2ecf20Sopenharmony_ci	default y
2258c2ecf20Sopenharmony_ci	help
2268c2ecf20Sopenharmony_ci	  This configuration parameter enables TC Flower packet classifier
2278c2ecf20Sopenharmony_ci	  offload for eswitch.  This option enables SR-IOV switchdev eswitch
2288c2ecf20Sopenharmony_ci	  offload.
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ciconfig BNXT_DCB
2318c2ecf20Sopenharmony_ci	bool "Data Center Bridging (DCB) Support"
2328c2ecf20Sopenharmony_ci	default n
2338c2ecf20Sopenharmony_ci	depends on BNXT && DCB
2348c2ecf20Sopenharmony_ci	help
2358c2ecf20Sopenharmony_ci	  Say Y here if you want to use Data Center Bridging (DCB) in the
2368c2ecf20Sopenharmony_ci	  driver.
2378c2ecf20Sopenharmony_ci
2388c2ecf20Sopenharmony_ci	  If unsure, say N.
2398c2ecf20Sopenharmony_ci
2408c2ecf20Sopenharmony_ciconfig BNXT_HWMON
2418c2ecf20Sopenharmony_ci	bool "Broadcom NetXtreme-C/E HWMON support"
2428c2ecf20Sopenharmony_ci	default y
2438c2ecf20Sopenharmony_ci	depends on BNXT && HWMON && !(BNXT=y && HWMON=m)
2448c2ecf20Sopenharmony_ci	help
2458c2ecf20Sopenharmony_ci	  Say Y if you want to expose the thermal sensor data on NetXtreme-C/E
2468c2ecf20Sopenharmony_ci	  devices, via the hwmon sysfs interface.
2478c2ecf20Sopenharmony_ci
2488c2ecf20Sopenharmony_ciendif # NET_VENDOR_BROADCOM
249