diff options
-rw-r--r-- | zephyr/projects/nissa/src/common.c | 4 | ||||
-rw-r--r-- | zephyr/projects/nissa/xivu/src/usbc.c | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/zephyr/projects/nissa/src/common.c b/zephyr/projects/nissa/src/common.c index fe25d1374d..78f703ae49 100644 --- a/zephyr/projects/nissa/src/common.c +++ b/zephyr/projects/nissa/src/common.c @@ -81,8 +81,8 @@ static void board_setup_init(void) */ DECLARE_HOOK(HOOK_INIT, board_setup_init, HOOK_PRIO_INIT_I2C); -void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma, - int charge_mv) +__overridable void board_set_charge_limit(int port, int supplier, int charge_ma, + int max_ma, int charge_mv) { int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT); diff --git a/zephyr/projects/nissa/xivu/src/usbc.c b/zephyr/projects/nissa/xivu/src/usbc.c index a15460a212..1520efaa55 100644 --- a/zephyr/projects/nissa/xivu/src/usbc.c +++ b/zephyr/projects/nissa/xivu/src/usbc.c @@ -275,3 +275,11 @@ void usb_interrupt(enum gpio_signal signal) /* Check for lost interrupts in a bit */ hook_call_deferred(ud, USBC_INT_POLL_DELAY_US); } + +__override void board_set_charge_limit(int port, int supplier, int charge_ma, + int max_ma, int charge_mv) +{ + charge_ma = (charge_ma * 90) / 100; + charge_set_input_current_limit( + MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv); +} |