# SPDX-License-Identifier: GPL-2.0-only
config BCM47XX_NVRAM
	bool "Broadcom NVRAM driver"
	depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
	help
	  Broadcom home routers contain flash partition called "nvram" with all
	  important hardware configuration as well as some minor user setup.
	  NVRAM partition contains a text-like data representing name=value
	  pairs.
	  This driver provides an easy way to get value of requested parameter.
	  It simply reads content of NVRAM and parses it. It doesn't control any
	  hardware part itself.

config BCM47XX_SPROM
	bool "Broadcom SPROM driver"
	depends on BCM47XX_NVRAM
	select GENERIC_NET_UTILS
	help
	  Broadcom devices store configuration data in SPROM. Accessing it is
	  specific to the bus host type, e.g. PCI(e) devices have it mapped in
	  a PCI BAR.
	  In case of SoC devices SPROM content is stored on a flash used by
	  bootloader firmware CFE. This driver provides method to ssb and bcma
	  drivers to read SPROM on SoC.

config TEE_BNXT_FW
	tristate "Broadcom BNXT firmware manager"
	depends on (ARCH_BCM_IPROC && OPTEE) || (COMPILE_TEST && TEE)
	default ARCH_BCM_IPROC
	help
	  This module help to manage firmware on Broadcom BNXT device. The module
	  registers on tee bus and invoke calls to manage firmware on BNXT device.
