mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 02:52:56 +00:00
0b741b8234
This commit adds support for the Broadcom STB S2/S3/S5 suspend states on ARM based SoCs. This requires quite a lot of code in order to deal with the different HW blocks that need to be quiesced during suspend: - DDR PHY SHIM - DDR memory controller and sequencer - control processor The final steps of the suspend execute in an on-chip SRAM and there is a little bit of assembly code in order to shut down the DDR PHY PLL and then go into a wfi loop until a wake-up even occurs. Conversely the resume part involves waiting for the DDR PHY PLL to come back up and resume executions where we left. For S3, because of our memory hashing (actual hashing code not included for simplicity, and is bypassed) we need to relocate the writable variables (stack) into SRAM shortly before suspending in order to leave the DRAM untouched and create a reliable hash of its contents. This code has been contributed by Brian Norris initially and has been incrementally fixed and updated to support new chips by a lot of people. Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Markus Mayer <mmayer@broadcom.com> Signed-off-by: Justin Chen <justinpopo6@gmail.com> Signed-off-by: Gareth Powell <gpowell@broadcom.com> Signed-off-by: Doug Berger <opendmb@gmail.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
26 lines
723 B
Plaintext
26 lines
723 B
Plaintext
menu "Broadcom SoC drivers"
|
|
|
|
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_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.
|
|
|
|
source "drivers/soc/bcm/brcmstb/Kconfig"
|
|
|
|
endmenu
|