mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-30 16:39:35 +00:00
Exynos: Make sure ps_hold gets set in the SPL
Setting ps_hold ought to be one of the first things we do when we first boot up. If we wait until the main u-boot runs we won't set it in time and the PMIC may power us back off. Signed-off-by: Doug Anderson <dianders@chromium.org> Signed-off-by: Akshay Saraswat <akshay.s@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
parent
0c04b1a83b
commit
567802bbd6
3 changed files with 12 additions and 1 deletions
|
@ -39,6 +39,7 @@ enum {
|
|||
DO_CLOCKS = 1 << 1,
|
||||
DO_MEM_RESET = 1 << 2,
|
||||
DO_UART = 1 << 3,
|
||||
DO_POWER = 1 << 4,
|
||||
};
|
||||
|
||||
int do_lowlevel_init(void)
|
||||
|
@ -62,9 +63,12 @@ int do_lowlevel_init(void)
|
|||
break;
|
||||
default:
|
||||
/* This is a normal boot (not a wake from sleep) */
|
||||
actions = DO_CLOCKS | DO_MEM_RESET;
|
||||
actions = DO_CLOCKS | DO_MEM_RESET | DO_POWER;
|
||||
}
|
||||
|
||||
if (actions & DO_POWER)
|
||||
set_ps_hold_ctrl();
|
||||
|
||||
if (actions & DO_CLOCKS) {
|
||||
system_clock_init();
|
||||
mem_ctrl_init(actions & DO_MEM_RESET);
|
||||
|
|
|
@ -112,6 +112,12 @@ static void exynos5_set_ps_hold_ctrl(void)
|
|||
EXYNOS_PS_HOLD_CONTROL_DATA_HIGH);
|
||||
}
|
||||
|
||||
/*
|
||||
* Set ps_hold data driving value high
|
||||
* This enables the machine to stay powered on
|
||||
* after the initial power-on condition goes away
|
||||
* (e.g. power button).
|
||||
*/
|
||||
void set_ps_hold_ctrl(void)
|
||||
{
|
||||
if (cpu_is_exynos5())
|
||||
|
|
|
@ -1726,4 +1726,5 @@ uint32_t get_reset_status(void);
|
|||
|
||||
/* Read the resume function and call it */
|
||||
void power_exit_wakeup(void);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue