diff options
Diffstat (limited to 'board/rammus')
-rw-r--r-- | board/rammus/board.c | 20 | ||||
-rw-r--r-- | board/rammus/board.h | 4 |
2 files changed, 21 insertions, 3 deletions
diff --git a/board/rammus/board.c b/board/rammus/board.c index e4abed4afb..8cbc6c6856 100644 --- a/board/rammus/board.c +++ b/board/rammus/board.c @@ -558,6 +558,26 @@ int board_set_active_charge_port(int charge_port) return EC_SUCCESS; } +/** + * Set the charge limit based upon desired maximum. + * + * @param port Port number. + * @param supplier Charge supplier type. + * @param charge_ma Desired charge limit (mA). + * @param charge_mv Negotiated charge voltage (mV). + */ +void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma, + int charge_mv) +{ + /* + * Limit the input current to 96% negotiated limit, + * to account for the charger chip margin. + */ + charge_ma = charge_ma * 96 / 100; + charge_set_input_current_limit( + MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv); +} + void board_hibernate(void) { CPRINTS("Triggering PMIC shutdown."); diff --git a/board/rammus/board.h b/board/rammus/board.h index 975417df9a..c0c8238c3e 100644 --- a/board/rammus/board.h +++ b/board/rammus/board.h @@ -84,12 +84,10 @@ #define CONFIG_CHARGER #define CONFIG_CHARGER_ISL9238 #define CONFIG_CHARGER_DISCHARGE_ON_AC -#define CONFIG_CHARGER_DEFAULT_CURRENT_LIMIT 512 -#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512 +#define CONFIG_CHARGER_INPUT_CURRENT 512 #define CONFIG_CHARGER_PSYS #define CONFIG_CHARGER_SENSE_RESISTOR 10 #define CONFIG_CHARGER_SENSE_RESISTOR_AC 20 -#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4 /* charger margin */ #define CONFIG_CMD_CHARGER_ADC_AMON_BMON #define CONFIG_HOSTCMD_PD_CONTROL #define CONFIG_EXTPOWER_GPIO |