mirror of
https://github.com/torvalds/linux.git
synced 2026-06-03 03:53:37 +02:00
Add support for full-chip retention in suspend for OMAP4 SoCs.
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJQot8vAAoJEFk3GJrT+8ZlOtcP/jhEPrZf2vzR+mlHhF6LAfWn glDT9ylmdAB5tyYT63+S1tvzn3mS8Yn0xz8uYpALKDTHEjk7zmksG6g+lll2I9q7 9WdG/DHdg7YqaokrpLrJGzP2uFXrTCZF1+khsF505JxJXdYJk94sQ8L1detOWECu g8iTYyzD/yvlgPkRVBkhaHcV8hww0YW0HCNuqkxHwqfU+DcXlUBYivhGSuaWOCdF OF6kTeLWNh8PsW4bULaWKfv9CZuZQ+eqSaDuzjoiW21oqG2ovy2hf17jUvHZm1O4 r3VM6olSpQ51rvNBu49PJ1tes3gsjvpK/Gnys4VaqVHaM2j3YU72cV7p6x1pYZis XUH0wBhaQyXV61gr5nyYDN6XMxaOfbmJEaRj9qlRR4n4PO9vtELLClnynWGYlT3m MSk3vxRk+BzgYpK2w76O+3pm6D7p6E4QX1IuVbAlhPO4/BhZdju9H7CFMY7ir5y7 CAKISIzdmxY+7YiA63IUjikC5qv8Zyh7DOT3BGYhwdwEL10TTB4FgX9WsL/peqGh 1EUOOPOzHDi4ggxv0bf6y5pNLYHOEliFXuXONaN9jb5ahfTILH5ilj6AncB/ban7 wlTM75vN/b2n7c8P0Tf2mnvxjBj0D6BjLEv5nOGTwfVxZ8PyKLtTCf+eh4z0oiRA RKgi2Viely+kpkurUOxt =ifCg -----END PGP SIGNATURE----- Merge tag 'for_3.8-pm-omap4-core-ret' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-v3.8/pm-part2 Add support for full-chip retention in suspend for OMAP4 SoCs.
This commit is contained in:
commit
2f4d91e377
|
|
@ -33,6 +33,38 @@
|
|||
#include "soc.h"
|
||||
#include "control.h"
|
||||
|
||||
#define CONTROL_DEV_CONF 0x300
|
||||
#define PHY_PD 0x1
|
||||
|
||||
/**
|
||||
* omap4430_phy_power_down: disable MUSB PHY during early init
|
||||
*
|
||||
* OMAP4 MUSB PHY module is enabled by default on reset, but this will
|
||||
* prevent core retention if not disabled by SW. USB driver will
|
||||
* later on enable this, once and if the driver needs it.
|
||||
*/
|
||||
static int __init omap4430_phy_power_down(void)
|
||||
{
|
||||
void __iomem *ctrl_base;
|
||||
|
||||
if (!cpu_is_omap44xx())
|
||||
return 0;
|
||||
|
||||
ctrl_base = ioremap(OMAP443X_SCM_BASE, SZ_1K);
|
||||
if (!ctrl_base) {
|
||||
pr_err("control module ioremap failed\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
/* Power down the phy */
|
||||
__raw_writel(PHY_PD, ctrl_base + CONTROL_DEV_CONF);
|
||||
|
||||
iounmap(ctrl_base);
|
||||
|
||||
return 0;
|
||||
}
|
||||
early_initcall(omap4430_phy_power_down);
|
||||
|
||||
void am35x_musb_reset(void)
|
||||
{
|
||||
u32 regval;
|
||||
|
|
|
|||
|
|
@ -100,13 +100,6 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
|
|||
if (!strncmp(pwrdm->name, "cpu", 3))
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* FIXME: Remove this check when core retention is supported
|
||||
* Only MPUSS power domain is added in the list.
|
||||
*/
|
||||
if (strcmp(pwrdm->name, "mpu_pwrdm"))
|
||||
return 0;
|
||||
|
||||
pwrst = kmalloc(sizeof(struct power_state), GFP_ATOMIC);
|
||||
if (!pwrst)
|
||||
return -ENOMEM;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user