summaryrefslogtreecommitdiff
path: root/board/nipperkin/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/nipperkin/board.c')
-rw-r--r--board/nipperkin/board.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/board/nipperkin/board.c b/board/nipperkin/board.c
index d8a22aabb2..81a19f2f58 100644
--- a/board/nipperkin/board.c
+++ b/board/nipperkin/board.c
@@ -7,8 +7,10 @@
#include "adc.h"
#include "base_fw_config.h"
+#include "battery.h"
#include "board_fw_config.h"
#include "button.h"
+#include "charger.h"
#include "chipset.h"
#include "common.h"
#include "cros_board_info.h"
@@ -484,3 +486,20 @@ static void hdmi_hpd_interrupt(enum gpio_signal signal)
/* Debounce for 2 msec */
hook_call_deferred(&hdmi_hpd_handler_data, (2 * MSEC));
}
+
+void board_set_current_limit(void)
+{
+ const int no_battery_current_limit_override_ma = 6000;
+ /*
+ * When there is no battery, override charger current limit to
+ * prevent brownout during boot.
+ */
+ if (battery_is_present() == BP_NO) {
+ ccprints("No Battery Found - Override Current Limit to %dmA",
+ no_battery_current_limit_override_ma);
+ charger_set_input_current_limit(
+ CHARGER_SOLO, no_battery_current_limit_override_ma);
+ }
+}
+DECLARE_HOOK(HOOK_BATTERY_SOC_CHANGE, board_set_current_limit,
+ HOOK_PRIO_INIT_EXTPOWER);