summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zephyr/projects/nissa/src/common.c4
-rw-r--r--zephyr/projects/nissa/xivu/src/usbc.c8
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);
+}