]> asedeno.scripts.mit.edu Git - linux.git/commit
soc bcm: brcmstb: Add support for S2/S3/S5 suspend states (MIPS)
authorJustin Chen <justinpopo6@gmail.com>
Thu, 15 Jun 2017 22:20:31 +0000 (15:20 -0700)
committerFlorian Fainelli <f.fainelli@gmail.com>
Mon, 25 Sep 2017 18:47:14 +0000 (11:47 -0700)
commit0e9b11413262ef3d64273e15f7631d9836c53c1a
tree3a7db95144e5ad88645cb6c1a3ebcf26ba7a9199
parentdedcf233ceb069c2c1d919ec74a913b39b5b4dd5
soc bcm: brcmstb: Add support for S2/S3/S5 suspend states (MIPS)

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 <justinpopo6@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
drivers/soc/bcm/brcmstb/Kconfig
drivers/soc/bcm/brcmstb/pm/Makefile
drivers/soc/bcm/brcmstb/pm/pm-mips.c [new file with mode: 0644]
drivers/soc/bcm/brcmstb/pm/pm.h
drivers/soc/bcm/brcmstb/pm/s2-mips.S [new file with mode: 0644]
drivers/soc/bcm/brcmstb/pm/s3-mips.S [new file with mode: 0644]