diff --git a/board/samus/board.c b/board/samus/board.c index 4871bb0f10..ddb8c97450 100644 --- a/board/samus/board.c +++ b/board/samus/board.c @@ -74,6 +74,7 @@ const struct gpio_info gpio_list[] = { {"USB1_STATUS_L", LM4_GPIO_E, (1<<6), GPIO_INPUT, NULL}, {"USB2_OC_L", LM4_GPIO_E, (1<<0), GPIO_INPUT, NULL}, {"USB2_STATUS_L", LM4_GPIO_D, (1<<7), GPIO_INPUT, NULL}, + {"BAT_DETECT_L", LM4_GPIO_B, (1<<4), GPIO_INPUT, NULL}, /* Not yet sure if this will need to be handled as an interrupt */ {"CAPSENSE_INT_L", LM4_GPIO_N, (1<<0), GPIO_INPUT, NULL}, @@ -227,3 +228,11 @@ struct keyboard_scan_config keyscan_config = { 0xa4, 0xff, 0xf6, 0x55, 0xfa, 0xc8 /* full set */ }, }; + +/** + * Physical detection of battery connection. + */ +int battery_is_connected(void) +{ + return (gpio_get_level(GPIO_BAT_DETECT_L) == 0); +} diff --git a/board/samus/board.h b/board/samus/board.h index f9d6114653..1e2e6e7402 100644 --- a/board/samus/board.h +++ b/board/samus/board.h @@ -26,6 +26,7 @@ #define CONFIG_POWER_BUTTON #define CONFIG_POWER_BUTTON_X86 +#define CONFIG_BATTERY_CHECK_CONNECTED #define CONFIG_BATTERY_LINK #define CONFIG_BATTERY_SMART #define CONFIG_BACKLIGHT_LID @@ -108,6 +109,7 @@ enum gpio_signal { GPIO_USB1_STATUS_L, /* USB charger port 1 status output */ GPIO_USB2_OC_L, /* USB port overcurrent warning */ GPIO_USB2_STATUS_L, /* USB charger port 2 status output */ + GPIO_BAT_DETECT_L, /* Battery detect from BAT_TEMP */ GPIO_CAPSENSE_INT_L, /* Capsense interrupt (through EC_WAKE_L) */ /* Outputs */