mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-08 16:41:55 +00:00
tegra: don't set auto_power_on if SYSJUMP
The auto_power_on is set 1 unexpectedly while EC jumps. This has a side effect that would turn on the AP unexpectedly after "power off". See comment 43 of issue 28249 BUG=chrome-os-partner:28249 BRANCH=tot,nyan TEST=on nyan: > reboot > sysinfo // If EC is in RO, "sysjump RW" > power off // The AP keeps off. Change-Id: I3c06e99383c06af7cd6c17dd65040e20f06d8e73 Signed-off-by: Louis Yung-Chieh Lo <yjlou@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/198941
This commit is contained in:
committed by
chrome-internal-fetch
parent
863f661c6f
commit
b5f3455a98
@@ -233,12 +233,13 @@ DECLARE_HOOK(HOOK_LID_CHANGE, tegra_lid_event, HOOK_PRIO_DEFAULT);
|
||||
enum power_state power_chipset_init(void)
|
||||
{
|
||||
int init_power_state;
|
||||
uint32_t reset_flags = system_get_reset_flags();
|
||||
|
||||
/*
|
||||
* Force the AP shutdown unless we are doing SYSJUMP. Otherwise,
|
||||
* the AP could stay in strange state.
|
||||
*/
|
||||
if (!(system_get_reset_flags() & RESET_FLAG_SYSJUMP)) {
|
||||
if (!(reset_flags & RESET_FLAG_SYSJUMP)) {
|
||||
CPRINTF("[%T not sysjump; forcing AP shutdown]\n");
|
||||
chipset_turn_off_power_rails();
|
||||
|
||||
@@ -258,7 +259,8 @@ enum power_state power_chipset_init(void)
|
||||
}
|
||||
|
||||
/* Leave power off only if requested by reset flags */
|
||||
if (!(system_get_reset_flags() & RESET_FLAG_AP_OFF)) {
|
||||
if (!(reset_flags & RESET_FLAG_AP_OFF) &&
|
||||
!(reset_flags & RESET_FLAG_SYSJUMP)) {
|
||||
CPRINTF("[%T auto_power_on is set due to reset_flag 0x%x]\n",
|
||||
system_get_reset_flags());
|
||||
auto_power_on = 1;
|
||||
|
||||
Reference in New Issue
Block a user