diff options
-rw-r--r-- | board/falco/board.c | 2 | ||||
-rw-r--r-- | board/rambi/board.c | 9 | ||||
-rw-r--r-- | board/rambi/board.h | 4 | ||||
-rw-r--r-- | board/squawks/board.c | 9 | ||||
-rw-r--r-- | board/squawks/board.h | 4 | ||||
-rw-r--r-- | driver/charger/bq24715.c | 19 | ||||
-rw-r--r-- | driver/charger/bq24738.h | 3 | ||||
-rw-r--r-- | include/charger.h | 3 |
8 files changed, 49 insertions, 4 deletions
diff --git a/board/falco/board.c b/board/falco/board.c index 54143cc6ce..97a7fccc53 100644 --- a/board/falco/board.c +++ b/board/falco/board.c @@ -8,8 +8,8 @@ #include "adc_chip.h" #include "backlight.h" #include "board.h" +#include "charger.h" #include "common.h" -#include "driver/charger/bq24738.h" #include "driver/temp_sensor/g781.h" #include "extpower.h" #include "fan.h" diff --git a/board/rambi/board.c b/board/rambi/board.c index 2ad37debdf..cdef1c11b1 100644 --- a/board/rambi/board.c +++ b/board/rambi/board.c @@ -7,6 +7,7 @@ #include "adc.h" #include "adc_chip.h" #include "backlight.h" +#include "charger.h" #include "common.h" #include "driver/temp_sensor/tmp432.h" #include "extpower.h" @@ -197,3 +198,11 @@ struct ec_thermal_config thermal_params[] = { {{0, 0, 0}, 0, 0}, }; BUILD_ASSERT(ARRAY_SIZE(thermal_params) == TEMP_SENSOR_COUNT); + +/** + * Discharge battery when on AC power for factory test. + */ +int board_discharge_on_ac(int enable) +{ + return charger_discharge_on_ac(enable); +} diff --git a/board/rambi/board.h b/board/rambi/board.h index 420d072620..d3ce348b7b 100644 --- a/board/rambi/board.h +++ b/board/rambi/board.h @@ -15,6 +15,7 @@ #define CONFIG_BOARD_VERSION #define CONFIG_CHARGER #define CONFIG_CHARGER_BQ24715 +#define CONFIG_CHARGER_DISCHARGE_ON_AC #define CONFIG_CHARGER_INPUT_CURRENT 1700 /* 33 W adapter, 19 V, 1.75 A */ #define CONFIG_CHARGER_SENSE_RESISTOR 10 /* Charge sense resistor, mOhm */ #define CONFIG_CHARGER_SENSE_RESISTOR_AC 10 /* Input senso resistor, mOhm */ @@ -177,6 +178,9 @@ enum temp_sensor_id { TEMP_SENSOR_COUNT }; +/* Discharge battery when on AC power for factory test. */ +int board_discharge_on_ac(int enable); + #endif /* !__ASSEMBLER__ */ #endif /* __BOARD_H */ diff --git a/board/squawks/board.c b/board/squawks/board.c index 825d551c78..2b783f655f 100644 --- a/board/squawks/board.c +++ b/board/squawks/board.c @@ -7,6 +7,7 @@ #include "adc.h" #include "adc_chip.h" #include "backlight.h" +#include "charger.h" #include "common.h" #include "driver/temp_sensor/tmp432.h" #include "extpower.h" @@ -199,3 +200,11 @@ struct ec_thermal_config thermal_params[] = { {{0, 0, 0}, 0, 0}, }; BUILD_ASSERT(ARRAY_SIZE(thermal_params) == TEMP_SENSOR_COUNT); + +/** + * Discharge battery when on AC power for factory test. + */ +int board_discharge_on_ac(int enable) +{ + return charger_discharge_on_ac(enable); +} diff --git a/board/squawks/board.h b/board/squawks/board.h index 0d184ace96..05393040f4 100644 --- a/board/squawks/board.h +++ b/board/squawks/board.h @@ -15,6 +15,7 @@ #define CONFIG_BOARD_VERSION #define CONFIG_CHARGER #define CONFIG_CHARGER_BQ24715 +#define CONFIG_CHARGER_DISCHARGE_ON_AC #define CONFIG_CHARGER_INPUT_CURRENT 1700 /* 33 W adapter, 19 V, 1.75 A */ #define CONFIG_CHARGER_SENSE_RESISTOR 10 /* Charge sense resistor, mOhm */ #define CONFIG_CHARGER_SENSE_RESISTOR_AC 10 /* Input senso resistor, mOhm */ @@ -178,6 +179,9 @@ enum temp_sensor_id { TEMP_SENSOR_COUNT }; +/* Discharge battery when on AC power for factory test. */ +int board_discharge_on_ac(int enable); + #endif /* !__ASSEMBLER__ */ #endif /* __BOARD_H */ diff --git a/driver/charger/bq24715.c b/driver/charger/bq24715.c index 14779225fc..5731057e4e 100644 --- a/driver/charger/bq24715.c +++ b/driver/charger/bq24715.c @@ -190,3 +190,22 @@ int charger_post_init(void) rv = charger_set_input_current(CONFIG_CHARGER_INPUT_CURRENT); return rv; } + +int charger_discharge_on_ac(int enable) +{ + int rv; + int option; + + rv = charger_get_option(&option); + if (rv) + return rv; + + option &= ~OPT_LEARN_MASK; + if (enable) + option |= OPT_LEARN_ENABLE; + else + option |= OPT_LEARN_DISABLE; + rv = charger_set_option(option); + + return rv; +} diff --git a/driver/charger/bq24738.h b/driver/charger/bq24738.h index 402b801a0c..bb07f90480 100644 --- a/driver/charger/bq24738.h +++ b/driver/charger/bq24738.h @@ -54,7 +54,4 @@ #define ACPRES_DEGLITCH_150MS (0 << 15) #define ACPRES_DEGLITCH_1300MS_DEFAULT (1 << 15) -/* Discharge battery when on AC power. */ -int charger_discharge_on_ac(int enable); - #endif /* __CROS_EC_CHARGER_BQ24738_H */ diff --git a/include/charger.h b/include/charger.h index c3c2b06cd4..23a4cebb42 100644 --- a/include/charger.h +++ b/include/charger.h @@ -76,6 +76,9 @@ int charger_set_current(int current); int charger_get_voltage(int *voltage); int charger_set_voltage(int voltage); +/* Discharge battery when on AC power. */ +int charger_discharge_on_ac(int enable); + /* Other parameters that may be charger-specific, but are common so far. */ int charger_set_input_current(int input_current); int charger_get_input_current(int *input_current); |