diff options
author | Vijay Hiremath <vijay.p.hiremath@intel.com> | 2016-06-21 16:17:59 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-06-23 00:59:24 -0700 |
commit | d8b545b17720ebbbefd9518071b8e8441faacc6e (patch) | |
tree | b3ed5ab3ffa6aa9a073ab3cf0b6508c0fd99c02e | |
parent | b6920f42f933c06c4c362856a5d257ffccb8ba8c (diff) | |
download | chrome-ec-d8b545b17720ebbbefd9518071b8e8441faacc6e.tar.gz |
reef: Enable external power interrupt GPIO
BUG=chrome-os-partner:54503
BRANCH=none
TEST=Manually tested using console commands on both the ports.
a. Issued 'gpioget AC_PRESENT', observed AC_PRESENT is
1 when AC connected & 0 when AC disconnected.
b. Issued 'hibernate' & on plugging in the AC, device
boots to S0.
Change-Id: Iad09914d79cdbd798fb650146321eafed06eb91c
Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/354721
Commit-Ready: Vijay P Hiremath <vijay.p.hiremath@intel.com>
Tested-by: Vijay P Hiremath <vijay.p.hiremath@intel.com>
Reviewed-by: Shawn N <shawnn@chromium.org>
-rw-r--r-- | board/reef/board.c | 10 | ||||
-rw-r--r-- | board/reef/board.h | 1 | ||||
-rw-r--r-- | board/reef/gpio.inc | 3 |
3 files changed, 6 insertions, 8 deletions
diff --git a/board/reef/board.c b/board/reef/board.c index 333cca3e87..226925098f 100644 --- a/board/reef/board.c +++ b/board/reef/board.c @@ -140,6 +140,7 @@ uint16_t tcpc_get_alert_status(void) } const enum gpio_signal hibernate_wake_pins[] = { + GPIO_AC_PRESENT, GPIO_LID_OPEN, GPIO_POWER_BUTTON_L, }; @@ -380,12 +381,6 @@ void board_set_charge_limit(int port, int supplier, int charge_ma) CONFIG_CHARGER_INPUT_CURRENT)); } -int extpower_is_present(void) -{ - /* Check VBUS on either port */ - return bd99955_is_vbus_provided(BD99955_CHARGE_PORT_BOTH); -} - /* Enable or disable input devices, based upon chipset state and tablet mode */ static void enable_input_devices(void) { @@ -665,6 +660,9 @@ void board_hibernate(void) { CPRINTS("Enter Pseudo G3"); + /* Enable both the VBUS & VCC ports before entering PG3 */ + bd99955_select_input_port(BD99955_CHARGE_PORT_BOTH); + /* * Clean up the UART buffer and prevent any unwanted garbage characters * before power off and also ensure above debug message is printed. diff --git a/board/reef/board.h b/board/reef/board.h index a42992eac5..d231b8d1bf 100644 --- a/board/reef/board.h +++ b/board/reef/board.h @@ -65,6 +65,7 @@ #define CONFIG_BOARD_VERSION #define CONFIG_BOARD_SPECIFIC_VERSION #define CONFIG_BUTTON_COUNT 2 +#define CONFIG_EXTPOWER_GPIO #define CONFIG_FPU #define CONFIG_I2C #define CONFIG_I2C_MASTER diff --git a/board/reef/gpio.inc b/board/reef/gpio.inc index db168126aa..853aea32a7 100644 --- a/board/reef/gpio.inc +++ b/board/reef/gpio.inc @@ -19,8 +19,7 @@ GPIO_INT(SUSPWRNACK, PIN(7, 2), GPIO_INT_BOTH, power_signal_interrupt) GPIO_INT(RSMRST_L_PGOOD, PIN(6, 0), GPIO_INT_BOTH, power_signal_interrupt) /* PMIC_EC_RSMRST_ODL */ GPIO_INT(ALL_SYS_PGOOD, PIN(5, 0), GPIO_INT_BOTH, power_signal_interrupt) /* PMIC_EC_PWROK_OD */ -/* FIXME(dhendrix): What to do with ACOK_OD? */ -//GPIO_INT(AC_PRESENT, PIN(C, 1), GPIO_INT_BOTH | GPIO_INPUT, extpower_interrupt) /* ACOK_OD from BD99955 */ +GPIO_INT(AC_PRESENT, PIN(C, 1), GPIO_INT_BOTH, extpower_interrupt) /* ACOK_OD from BD99955 */ /* TODO: We might remove external pull-up for POWER_BUTTON_L in EVT */ GPIO_INT(POWER_BUTTON_L, PIN(0, 4), GPIO_INT_BOTH, power_button_interrupt) /* MECH_PWR_BTN_ODL */ /* FIXME(furquan): GPIO_PULL_UP is not required for LID_OPEN on EVT. */ |