diff options
author | Mary Ruthven <mruthven@chromium.org> | 2016-08-22 10:01:33 -0700 |
---|---|---|
committer | Mary Ruthven <mruthven@chromium.org> | 2016-08-31 21:35:30 +0000 |
commit | 5e6da91fe86301d276b452a660139c27c3786a82 (patch) | |
tree | 71fbf398b3f17da7d3dd9a0fe3820f07022b8783 /chip/g/rbox.c | |
parent | eb3f4b43f3efc2727d119f6b3a71a4ac7ac083d4 (diff) | |
download | chrome-ec-5e6da91fe86301d276b452a660139c27c3786a82.tar.gz |
cr50: remove internal pull up on DIOM0
There is leakage on SYS_RST_ODL from the internal pullup cr50 has on
DIOM0. This change removes the internal pullup.
Without the internal pull up SYS_RST_ODL is asserted when the EC is off.
This change modifies how sys_rst_asserted is handled so cr50 will ignore
the sys_rst interrupt whenever rbox asserts EC_RST to make sure cr50
doesn't reset itself every time it resets the EC. If the EC resets
itself and sys_rst_l is no longer pulled up, it is fine if cr50 resets.
BUG=chrome-os-partner:53544
CQ-DEPEND=CL:377504
BRANCH=none
TEST=manual
'rw 0x40550010 1' causes the EC to reset but not cr50
On the development board verify DIOM0 is not pulled up.
Test cr50 boots normally on reef, gru and kevin dvt1
Change-Id: Id8e8f6f7bb91741da34bdd6fec89eb841dd94f35
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/376886
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Diffstat (limited to 'chip/g/rbox.c')
-rw-r--r-- | chip/g/rbox.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/chip/g/rbox.c b/chip/g/rbox.c index 85f83d33ce..2d969ec202 100644 --- a/chip/g/rbox.c +++ b/chip/g/rbox.c @@ -7,6 +7,11 @@ #include "hooks.h" #include "registers.h" +int rbox_is_asserting_ec_reset(void) +{ + return GREAD(RBOX, ASSERT_EC_RST); +} + static void rbox_release_ec_reset(void) { /* Let the EC go (the RO bootloader asserts it ASAP after POR) */ |