diff options
Diffstat (limited to 'board/fruitpie/usb_pd_policy.c')
-rw-r--r-- | board/fruitpie/usb_pd_policy.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/board/fruitpie/usb_pd_policy.c b/board/fruitpie/usb_pd_policy.c index 8a80175c4f..f3e41b40c5 100644 --- a/board/fruitpie/usb_pd_policy.c +++ b/board/fruitpie/usb_pd_policy.c @@ -34,7 +34,8 @@ const int pd_snk_pdo_cnt = ARRAY_SIZE(pd_snk_pdo); /* Cap on the max voltage requested as a sink (in millivolts) */ static unsigned max_mv = -1; /* no cap */ -int pd_choose_voltage(int cnt, uint32_t *src_caps, uint32_t *rdo) +int pd_choose_voltage(int cnt, uint32_t *src_caps, uint32_t *rdo, + uint32_t *curr_limit, uint32_t *supply_voltage) { int i; int sel_mv; @@ -75,10 +76,13 @@ int pd_choose_voltage(int cnt, uint32_t *src_caps, uint32_t *rdo) CPRINTF("Request [%d] %dV %dmA\n", max_i, sel_mv/1000, ma); } - return max_ma; + *curr_limit = max_ma; + *supply_voltage = sel_mv; + return EC_SUCCESS; } -void pd_set_input_current_limit(int port, uint32_t max_ma) +void pd_set_input_current_limit(int port, uint32_t max_ma, + uint32_t supply_voltage) { int rv = charger_set_input_current(MAX(max_ma, CONFIG_CHARGER_INPUT_CURRENT)); |