diff options
-rw-r--r-- | board/cr50/power_button.c | 30 | ||||
-rw-r--r-- | chip/g/rbox.c | 25 | ||||
-rw-r--r-- | chip/g/rbox.h | 15 |
3 files changed, 2 insertions, 68 deletions
diff --git a/board/cr50/power_button.c b/board/cr50/power_button.c index bf178e893f..96b3bb7774 100644 --- a/board/cr50/power_button.c +++ b/board/cr50/power_button.c @@ -84,35 +84,9 @@ void board_physical_presence_enable(int enable) static int command_powerbtn(int argc, char **argv) { - char *e; - int ms = 200; - - if (argc > 1) { - if (!strcasecmp("pulse", argv[1])) { - if (argc == 3) { - ms = strtoi(argv[2], &e, 0); - if (*e) - return EC_ERROR_PARAM2; - } - - ccprintf("Force %dms power button press\n", ms); - - rbox_powerbtn_press(); - msleep(ms); - rbox_powerbtn_release(); - } else if (!strcasecmp("press", argv[1])) { - rbox_powerbtn_press(); - } else if (!strcasecmp("release", argv[1])) { - rbox_powerbtn_release(); - } else - return EC_ERROR_PARAM1; - } - ccprintf("powerbtn: %s\n", - rbox_powerbtn_override_is_enabled() ? "forced press" : rbox_powerbtn_is_pressed() ? "pressed\n" : "released\n"); return EC_SUCCESS; } -DECLARE_CONSOLE_COMMAND(powerbtn, command_powerbtn, - "[pulse [ms] | press | release]", - "get/set the state of the power button"); +DECLARE_CONSOLE_COMMAND(powerbtn, command_powerbtn, "", + "get the state of the power button"); diff --git a/chip/g/rbox.c b/chip/g/rbox.c index fc09b8792a..c30e80a871 100644 --- a/chip/g/rbox.c +++ b/chip/g/rbox.c @@ -10,36 +10,11 @@ #define POWER_BUTTON 2 -static uint8_t val; - int rbox_powerbtn_is_pressed(void) { return !GREAD_FIELD(RBOX, CHECK_OUTPUT, PWRB_OUT); } -int rbox_powerbtn_override_is_enabled(void) -{ - return GREAD_FIELD(RBOX, OVERRIDE_OUTPUT, EN) & (1 << POWER_BUTTON); -} - -void rbox_powerbtn_release(void) -{ - GWRITE_FIELD(RBOX, OVERRIDE_OUTPUT, EN, 0); - GWRITE_FIELD(RBOX, OVERRIDE_OUTPUT, OEN, 0); - GWRITE_FIELD(RBOX, OVERRIDE_OUTPUT, VAL, val); -} - -void rbox_powerbtn_press(void) -{ - if (rbox_powerbtn_override_is_enabled()) - return; - - val = GREAD_FIELD(RBOX, OVERRIDE_OUTPUT, VAL); - GWRITE_FIELD(RBOX, OVERRIDE_OUTPUT, VAL, ~(1 << POWER_BUTTON) & val); - GWRITE_FIELD(RBOX, OVERRIDE_OUTPUT, OEN, 1 << POWER_BUTTON); - GWRITE_FIELD(RBOX, OVERRIDE_OUTPUT, EN, 1 << POWER_BUTTON); -} - static void rbox_release_ec_reset(void) { /* Unfreeze the PINMUX */ diff --git a/chip/g/rbox.h b/chip/g/rbox.h index e327faaf8e..5d08118c54 100644 --- a/chip/g/rbox.h +++ b/chip/g/rbox.h @@ -10,19 +10,4 @@ * Return true if the power button output shows it is pressed */ int rbox_powerbtn_is_pressed(void); - -/** - * Return true if power button rbox output override is enabled - */ -int rbox_powerbtn_override_is_enabled(void); - -/** - * Disable the output override - */ -void rbox_powerbtn_release(void); - -/** - * Override power button output to force a power button press - */ -void rbox_powerbtn_press(void); #endif /* __CROS_RBOX_H */ |