162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Broadcom device configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciconfig NET_VENDOR_BROADCOM
762306a36Sopenharmony_ci	bool "Broadcom devices"
862306a36Sopenharmony_ci	default y
962306a36Sopenharmony_ci	depends on (SSB_POSSIBLE && HAS_DMA) || PCI || BCM63XX || \
1062306a36Sopenharmony_ci		   SIBYTE_SB1xxx_SOC
1162306a36Sopenharmony_ci	help
1262306a36Sopenharmony_ci	  If you have a network (Ethernet) chipset belonging to this class,
1362306a36Sopenharmony_ci	  say Y.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	  Note that the answer to this question does not directly affect
1662306a36Sopenharmony_ci	  the kernel: saying N will just cause the configurator to skip all
1762306a36Sopenharmony_ci	  the questions regarding Broadcom chipsets. If you say Y, you will
1862306a36Sopenharmony_ci	  be asked for your specific chipset/driver in the following questions.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciif NET_VENDOR_BROADCOM
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciconfig B44
2362306a36Sopenharmony_ci	tristate "Broadcom 440x/47xx ethernet support"
2462306a36Sopenharmony_ci	depends on SSB_POSSIBLE && HAS_DMA
2562306a36Sopenharmony_ci	select SSB
2662306a36Sopenharmony_ci	select MII
2762306a36Sopenharmony_ci	select PHYLIB
2862306a36Sopenharmony_ci	help
2962306a36Sopenharmony_ci	  If you have a network (Ethernet) controller of this type, say Y
3062306a36Sopenharmony_ci	  or M here.
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here. The module
3362306a36Sopenharmony_ci	  will be called b44.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci# Auto-select SSB PCI-HOST support, if possible
3662306a36Sopenharmony_ciconfig B44_PCI_AUTOSELECT
3762306a36Sopenharmony_ci	bool
3862306a36Sopenharmony_ci	depends on B44 && SSB_PCIHOST_POSSIBLE
3962306a36Sopenharmony_ci	select SSB_PCIHOST
4062306a36Sopenharmony_ci	default y
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci# Auto-select SSB PCICORE driver, if possible
4362306a36Sopenharmony_ciconfig B44_PCICORE_AUTOSELECT
4462306a36Sopenharmony_ci	bool
4562306a36Sopenharmony_ci	depends on B44 && SSB_DRIVER_PCICORE_POSSIBLE
4662306a36Sopenharmony_ci	select SSB_DRIVER_PCICORE
4762306a36Sopenharmony_ci	default y
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciconfig B44_PCI
5062306a36Sopenharmony_ci	bool
5162306a36Sopenharmony_ci	depends on B44_PCI_AUTOSELECT && B44_PCICORE_AUTOSELECT
5262306a36Sopenharmony_ci	default y
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciconfig BCM4908_ENET
5562306a36Sopenharmony_ci	tristate "Broadcom BCM4908 internal mac support"
5662306a36Sopenharmony_ci	depends on ARCH_BCMBCA || COMPILE_TEST
5762306a36Sopenharmony_ci	default y if ARCH_BCMBCA
5862306a36Sopenharmony_ci	help
5962306a36Sopenharmony_ci	  This driver supports Ethernet controller integrated into Broadcom
6062306a36Sopenharmony_ci	  BCM4908 family SoCs.
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ciconfig BCM63XX_ENET
6362306a36Sopenharmony_ci	tristate "Broadcom 63xx internal mac support"
6462306a36Sopenharmony_ci	depends on BCM63XX
6562306a36Sopenharmony_ci	select MII
6662306a36Sopenharmony_ci	select PHYLIB
6762306a36Sopenharmony_ci	help
6862306a36Sopenharmony_ci	  This driver supports the ethernet MACs in the Broadcom 63xx
6962306a36Sopenharmony_ci	  MIPS chipset family (BCM63XX).
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciconfig BCMGENET
7262306a36Sopenharmony_ci	tristate "Broadcom GENET internal MAC support"
7362306a36Sopenharmony_ci	depends on HAS_IOMEM
7462306a36Sopenharmony_ci	depends on PTP_1588_CLOCK_OPTIONAL || !ARCH_BCM2835
7562306a36Sopenharmony_ci	select MII
7662306a36Sopenharmony_ci	select PHYLIB
7762306a36Sopenharmony_ci	select FIXED_PHY
7862306a36Sopenharmony_ci	select BCM7XXX_PHY
7962306a36Sopenharmony_ci	select MDIO_BCM_UNIMAC
8062306a36Sopenharmony_ci	select DIMLIB
8162306a36Sopenharmony_ci	select BROADCOM_PHY if ARCH_BCM2835
8262306a36Sopenharmony_ci	help
8362306a36Sopenharmony_ci	  This driver supports the built-in Ethernet MACs found in the
8462306a36Sopenharmony_ci	  Broadcom BCM7xxx Set Top Box family chipset.
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ciconfig BNX2
8762306a36Sopenharmony_ci	tristate "QLogic bnx2 support"
8862306a36Sopenharmony_ci	depends on PCI
8962306a36Sopenharmony_ci	select CRC32
9062306a36Sopenharmony_ci	select FW_LOADER
9162306a36Sopenharmony_ci	help
9262306a36Sopenharmony_ci	  This driver supports QLogic bnx2 gigabit Ethernet cards.
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
9562306a36Sopenharmony_ci	  will be called bnx2.  This is recommended.
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ciconfig CNIC
9862306a36Sopenharmony_ci	tristate "QLogic CNIC support"
9962306a36Sopenharmony_ci	depends on PCI && (IPV6 || IPV6=n)
10062306a36Sopenharmony_ci	depends on MMU
10162306a36Sopenharmony_ci	select BNX2
10262306a36Sopenharmony_ci	select UIO
10362306a36Sopenharmony_ci	help
10462306a36Sopenharmony_ci	  This driver supports offload features of QLogic bnx2 gigabit
10562306a36Sopenharmony_ci	  Ethernet cards.
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
10862306a36Sopenharmony_ci	  will be called cnic.  This is recommended.
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ciconfig SB1250_MAC
11162306a36Sopenharmony_ci	tristate "SB1250 Gigabit Ethernet support"
11262306a36Sopenharmony_ci	depends on SIBYTE_SB1xxx_SOC
11362306a36Sopenharmony_ci	select PHYLIB
11462306a36Sopenharmony_ci	help
11562306a36Sopenharmony_ci	  This driver supports Gigabit Ethernet interfaces based on the
11662306a36Sopenharmony_ci	  Broadcom SiByte family of System-On-a-Chip parts.  They include
11762306a36Sopenharmony_ci	  the BCM1120, BCM1125, BCM1125H, BCM1250, BCM1255, BCM1280, BCM1455
11862306a36Sopenharmony_ci	  and BCM1480 chips.
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
12162306a36Sopenharmony_ci	  will be called sb1250-mac.
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ciconfig TIGON3
12462306a36Sopenharmony_ci	tristate "Broadcom Tigon3 support"
12562306a36Sopenharmony_ci	depends on PCI
12662306a36Sopenharmony_ci	depends on PTP_1588_CLOCK_OPTIONAL
12762306a36Sopenharmony_ci	select PHYLIB
12862306a36Sopenharmony_ci	help
12962306a36Sopenharmony_ci	  This driver supports Broadcom Tigon3 based gigabit Ethernet cards.
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
13262306a36Sopenharmony_ci	  will be called tg3.  This is recommended.
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ciconfig TIGON3_HWMON
13562306a36Sopenharmony_ci	bool "Broadcom Tigon3 HWMON support"
13662306a36Sopenharmony_ci	default y
13762306a36Sopenharmony_ci	depends on TIGON3 && HWMON && !(TIGON3=y && HWMON=m)
13862306a36Sopenharmony_ci	help
13962306a36Sopenharmony_ci	  Say Y if you want to expose the thermal sensor on Tigon3 devices.
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ciconfig BNX2X
14262306a36Sopenharmony_ci	tristate "Broadcom NetXtremeII 10Gb support"
14362306a36Sopenharmony_ci	depends on PCI
14462306a36Sopenharmony_ci	depends on PTP_1588_CLOCK_OPTIONAL
14562306a36Sopenharmony_ci	select FW_LOADER
14662306a36Sopenharmony_ci	select ZLIB_INFLATE
14762306a36Sopenharmony_ci	select LIBCRC32C
14862306a36Sopenharmony_ci	select MDIO
14962306a36Sopenharmony_ci	help
15062306a36Sopenharmony_ci	  This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards.
15162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
15262306a36Sopenharmony_ci	  will be called bnx2x.  This is recommended.
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ciconfig BNX2X_SRIOV
15562306a36Sopenharmony_ci	bool "Broadcom 578xx and 57712 SR-IOV support"
15662306a36Sopenharmony_ci	depends on BNX2X && PCI_IOV
15762306a36Sopenharmony_ci	default y
15862306a36Sopenharmony_ci	help
15962306a36Sopenharmony_ci	  This configuration parameter enables Single Root Input Output
16062306a36Sopenharmony_ci	  Virtualization support in the 578xx and 57712 products. This
16162306a36Sopenharmony_ci	  allows for virtual function acceleration in virtual environments.
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ciconfig BGMAC
16462306a36Sopenharmony_ci	tristate
16562306a36Sopenharmony_ci	help
16662306a36Sopenharmony_ci	  This enables the integrated ethernet controller support for many
16762306a36Sopenharmony_ci	  Broadcom (mostly iProc) SoCs. An appropriate bus interface driver
16862306a36Sopenharmony_ci	  needs to be enabled to select this.
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ciconfig BGMAC_BCMA
17162306a36Sopenharmony_ci	tristate "Broadcom iProc GBit BCMA support"
17262306a36Sopenharmony_ci	depends on BCMA && BCMA_HOST_SOC
17362306a36Sopenharmony_ci	depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
17462306a36Sopenharmony_ci	select BGMAC
17562306a36Sopenharmony_ci	select PHYLIB
17662306a36Sopenharmony_ci	select FIXED_PHY
17762306a36Sopenharmony_ci	help
17862306a36Sopenharmony_ci	  This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus.
17962306a36Sopenharmony_ci	  They can be found on BCM47xx SoCs and provide gigabit ethernet.
18062306a36Sopenharmony_ci	  In case of using this driver on BCM4706 it's also requires to enable
18162306a36Sopenharmony_ci	  BCMA_DRIVER_GMAC_CMN to make it work.
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ciconfig BGMAC_PLATFORM
18462306a36Sopenharmony_ci	tristate "Broadcom iProc GBit platform support"
18562306a36Sopenharmony_ci	depends on ARCH_BCM_IPROC || COMPILE_TEST
18662306a36Sopenharmony_ci	select BGMAC
18762306a36Sopenharmony_ci	select PHYLIB
18862306a36Sopenharmony_ci	select FIXED_PHY
18962306a36Sopenharmony_ci	default ARCH_BCM_IPROC
19062306a36Sopenharmony_ci	help
19162306a36Sopenharmony_ci	  Say Y here if you want to use the Broadcom iProc Gigabit Ethernet
19262306a36Sopenharmony_ci	  controller through the generic platform interface
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ciconfig SYSTEMPORT
19562306a36Sopenharmony_ci	tristate "Broadcom SYSTEMPORT internal MAC support"
19662306a36Sopenharmony_ci	depends on HAS_IOMEM
19762306a36Sopenharmony_ci	depends on NET_DSA || !NET_DSA
19862306a36Sopenharmony_ci	select MII
19962306a36Sopenharmony_ci	select PHYLIB
20062306a36Sopenharmony_ci	select FIXED_PHY
20162306a36Sopenharmony_ci	select DIMLIB
20262306a36Sopenharmony_ci	help
20362306a36Sopenharmony_ci	  This driver supports the built-in Ethernet MACs found in the
20462306a36Sopenharmony_ci	  Broadcom BCM7xxx Set Top Box family chipset using an internal
20562306a36Sopenharmony_ci	  Ethernet switch.
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ciconfig BNXT
20862306a36Sopenharmony_ci	tristate "Broadcom NetXtreme-C/E support"
20962306a36Sopenharmony_ci	depends on PCI
21062306a36Sopenharmony_ci	depends on PTP_1588_CLOCK_OPTIONAL
21162306a36Sopenharmony_ci	select FW_LOADER
21262306a36Sopenharmony_ci	select LIBCRC32C
21362306a36Sopenharmony_ci	select NET_DEVLINK
21462306a36Sopenharmony_ci	select PAGE_POOL
21562306a36Sopenharmony_ci	select DIMLIB
21662306a36Sopenharmony_ci	select AUXILIARY_BUS
21762306a36Sopenharmony_ci	help
21862306a36Sopenharmony_ci	  This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit
21962306a36Sopenharmony_ci	  Ethernet cards.  To compile this driver as a module, choose M here:
22062306a36Sopenharmony_ci	  the module will be called bnxt_en.  This is recommended.
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ciconfig BNXT_SRIOV
22362306a36Sopenharmony_ci	bool "Broadcom NetXtreme-C/E SR-IOV support"
22462306a36Sopenharmony_ci	depends on BNXT && PCI_IOV
22562306a36Sopenharmony_ci	default y
22662306a36Sopenharmony_ci	help
22762306a36Sopenharmony_ci	  This configuration parameter enables Single Root Input Output
22862306a36Sopenharmony_ci	  Virtualization support in the NetXtreme-C/E products. This
22962306a36Sopenharmony_ci	  allows for virtual function acceleration in virtual environments.
23062306a36Sopenharmony_ci
23162306a36Sopenharmony_ciconfig BNXT_FLOWER_OFFLOAD
23262306a36Sopenharmony_ci	bool "TC Flower offload support for NetXtreme-C/E"
23362306a36Sopenharmony_ci	depends on BNXT
23462306a36Sopenharmony_ci	default y
23562306a36Sopenharmony_ci	help
23662306a36Sopenharmony_ci	  This configuration parameter enables TC Flower packet classifier
23762306a36Sopenharmony_ci	  offload for eswitch.  This option enables SR-IOV switchdev eswitch
23862306a36Sopenharmony_ci	  offload.
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_ciconfig BNXT_DCB
24162306a36Sopenharmony_ci	bool "Data Center Bridging (DCB) Support"
24262306a36Sopenharmony_ci	default n
24362306a36Sopenharmony_ci	depends on BNXT && DCB
24462306a36Sopenharmony_ci	help
24562306a36Sopenharmony_ci	  Say Y here if you want to use Data Center Bridging (DCB) in the
24662306a36Sopenharmony_ci	  driver.
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ci	  If unsure, say N.
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ciconfig BNXT_HWMON
25162306a36Sopenharmony_ci	bool "Broadcom NetXtreme-C/E HWMON support"
25262306a36Sopenharmony_ci	default y
25362306a36Sopenharmony_ci	depends on BNXT && HWMON && !(BNXT=y && HWMON=m)
25462306a36Sopenharmony_ci	help
25562306a36Sopenharmony_ci	  Say Y if you want to expose the thermal sensor data on NetXtreme-C/E
25662306a36Sopenharmony_ci	  devices, via the hwmon sysfs interface.
25762306a36Sopenharmony_ci
25862306a36Sopenharmony_ciconfig BCMASP
25962306a36Sopenharmony_ci	tristate "Broadcom ASP 2.0 Ethernet support"
26062306a36Sopenharmony_ci	depends on ARCH_BRCMSTB || COMPILE_TEST
26162306a36Sopenharmony_ci	default ARCH_BRCMSTB
26262306a36Sopenharmony_ci	depends on OF
26362306a36Sopenharmony_ci	select MII
26462306a36Sopenharmony_ci	select PHYLIB
26562306a36Sopenharmony_ci	select MDIO_BCM_UNIMAC
26662306a36Sopenharmony_ci	help
26762306a36Sopenharmony_ci	  This configuration enables the Broadcom ASP 2.0 Ethernet controller
26862306a36Sopenharmony_ci	  driver which is present in Broadcom STB SoCs such as 72165.
26962306a36Sopenharmony_ci
27062306a36Sopenharmony_ciendif # NET_VENDOR_BROADCOM
271