diff options
| author | Marek Vasut <[email protected]> | 2013-01-11 03:19:17 +0000 |
|---|---|---|
| committer | Stefano Babic <[email protected]> | 2013-01-21 12:05:22 +0100 |
| commit | 7788bf067db6710dd5df76d420c7033087642173 (patch) | |
| tree | 315544b1ab7b0508022d67bddcaaca05b7608708 | |
| parent | 1a3c5ffe4f060455a8121093dc82e005b632c9b4 (diff) | |
mxs: Add function to ungate the power block on MX23
The power block on MX23 must first be ungated before it can be operated.
Add function to MXS power init that ungates it.
Signed-off-by: Marek Vasut <[email protected]>
Cc: Fabio Estevam <[email protected]>
Cc: Otavio Salvador <[email protected]>
Cc: Stefano Babic <[email protected]>
| -rw-r--r-- | arch/arm/cpu/arm926ejs/mxs/spl_power_init.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c b/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c index be44c229763..e9d6302b7a7 100644 --- a/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c +++ b/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c @@ -881,11 +881,23 @@ static void mxs_setup_batt_detect(void) early_delay(10); } +static void mxs_ungate_power(void) +{ +#ifdef CONFIG_MX23 + struct mxs_power_regs *power_regs = + (struct mxs_power_regs *)MXS_POWER_BASE; + + writel(POWER_CTRL_CLKGATE, &power_regs->hw_power_ctrl_clr); +#endif +} + void mxs_power_init(void) { struct mxs_power_regs *power_regs = (struct mxs_power_regs *)MXS_POWER_BASE; + mxs_ungate_power(); + mxs_power_clock2xtal(); mxs_power_clear_auto_restart(); mxs_power_set_linreg(); |
