# SPDX-License-Identifier: GPL-2.0-only
menu "Broadcom SoC drivers"

config BCM2835_POWER
	bool "BCM2835 power domain driver"
	depends on ARCH_BCM2835 || (COMPILE_TEST && OF)
	default y if ARCH_BCM2835
	select PM_GENERIC_DOMAINS if PM
	select RESET_CONTROLLER
	help
	  This enables support for the BCM2835 power domains and reset
	  controller.  Any usage of power domains by the Raspberry Pi
	  firmware means that Linux usage of the same power domain
	  must be accessed using the RASPBERRYPI_POWER driver

config RASPBERRYPI_POWER
	bool "Raspberry Pi power domain driver"
	depends on ARCH_BCM2835 || (COMPILE_TEST && OF)
	depends on RASPBERRYPI_FIRMWARE=y
	select PM_GENERIC_DOMAINS if PM
	help
	  This enables support for the RPi power domains which can be enabled
	  or disabled via the RPi firmware.

config SOC_BCM63XX
	bool "Broadcom 63xx SoC drivers"
	depends on BMIPS_GENERIC || COMPILE_TEST
	help
	  Enables drivers for the Broadcom 63xx series of chips.
	  Drivers can be enabled individually within this menu.

	  If unsure, say N.

config SOC_BRCMSTB
	bool "Broadcom STB SoC drivers"
	depends on ARM || ARM64 || BMIPS_GENERIC || COMPILE_TEST
	select SOC_BUS
	help
	  Enables drivers for the Broadcom Set-Top Box (STB) series of chips.
	  This option alone enables only some support code, while the drivers
	  can be enabled individually within this menu.

	  If unsure, say N.

config BCM_PMB
	bool "Broadcom PMB (Power Management Bus) driver"
	depends on ARCH_BCMBCA || (COMPILE_TEST && OF)
	default ARCH_BCMBCA
	select PM_GENERIC_DOMAINS if PM
	help
	  This enables support for the Broadcom's PMB (Power Management Bus) that
	  is used for disabling and enabling SoC devices.

if SOC_BCM63XX

config BCM63XX_POWER
	bool "BCM63xx power domain driver"
	depends on BMIPS_GENERIC || (COMPILE_TEST && OF)
	select PM_GENERIC_DOMAINS if PM
	help
	  This enables support for the BCM63xx power domains controller on
	  BCM6318, BCM6328, BCM6362 and BCM63268 SoCs.

endif # SOC_BCM63XX

source "drivers/soc/bcm/brcmstb/Kconfig"

endmenu