Skip to content

Commit

Permalink
soc bcm: brcmstb: Add support for S2/S3/S5 suspend states (MIPS)
Browse files Browse the repository at this point in the history
This commit adds support for the Broadcom STB S2/S3/S5 suspend
states on MIPS 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
- DDR memory controller and arbiter
- control processor

The final steps of the suspend execute in cache and there is is a little
bit of assembly code in order to shut down the DDR PHY PLL and then go
into a wait 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.

Signed-off-by: Justin Chen <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>
  • Loading branch information
Ryceancurry authored and ffainelli committed Sep 25, 2017
1 parent dedcf23 commit 0e9b114
Show file tree
Hide file tree
Showing 6 changed files with 821 additions and 2 deletions.
2 changes: 1 addition & 1 deletion drivers/soc/bcm/brcmstb/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ config BRCMSTB_PM
bool "Support suspend/resume for STB platforms"
default y
depends on PM
depends on ARCH_BRCMSTB
depends on ARCH_BRCMSTB || BMIPS_GENERIC
select ARM_CPU_SUSPEND if ARM

endif # SOC_BRCMSTB
1 change: 1 addition & 0 deletions drivers/soc/bcm/brcmstb/pm/Makefile
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
obj-$(CONFIG_ARM) += s2-arm.o pm-arm.o
AFLAGS_s2-arm.o := -march=armv7-a
obj-$(CONFIG_BMIPS_GENERIC) += s2-mips.o s3-mips.o pm-mips.o
Loading

0 comments on commit 0e9b114

Please sign in to comment.