diff options
Diffstat (limited to 'include/pmu_tpschrome.h')
-rw-r--r-- | include/pmu_tpschrome.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/include/pmu_tpschrome.h b/include/pmu_tpschrome.h index 9d8e90890b..eb4eb71b0c 100644 --- a/include/pmu_tpschrome.h +++ b/include/pmu_tpschrome.h @@ -8,6 +8,34 @@ #ifndef __CROS_EC_TPSCHROME_H #define __CROS_EC_TPSCHROME_H +enum TPS_TEMPERATURE_RANGE { + RANGE_T01, + RANGE_T12, /* low charging temperature range */ + RANGE_T23, /* standard charging temperature range */ + RANGE_T34, /* high charging temperature range */ + RANGE_T40, +}; + +/* Termination voltage */ +enum TPS_TERMINATION_VOLTAGE { + TERM_V2000, /* 2.000 V */ + TERM_V2050, /* 2.050 V */ + TERM_V2075, /* 2.075 V */ + TERM_V2100, /* 2.100 V */ +}; + +/* Termination current */ +enum TPS_TERMINATION_CURRENT { + TERM_I0000, /* 0 % */ + TERM_I0250, /* 25 % */ + TERM_I0375, /* 37.5 % */ + TERM_I0500, /* 50 % */ + TERM_I0625, /* 62.5 % */ + TERM_I0750, /* 75 % */ + TERM_I0875, /* 87.5 % */ + TERM_I1000, /* 100 % */ +}; + #define FET_BACKLIGHT 1 #define FET_LCD_PANEL 6 @@ -30,6 +58,13 @@ int pmu_read(int reg, int *value); int pmu_write(int reg, int value); /** + * Read tpschrome version + * + * @param version output tpschrome version info + */ +int pmu_version(int *version); + +/** * Check pmu charger alarm * * @return 0 if there's no charging alarm or pmu access failed @@ -65,6 +100,33 @@ int pmu_enable_fet(int fet_id, int enable, int *power_good); int pmu_enable_charger(int enable); /** + * Set termination current for temperature ranges + * + * @param range T01 T12 T23 T34 T40 + * @param current enum termination current, I0250 == 25.0%: + * I0000 I0250 I0375 I0500 I0625 I0750 I0875 I1000 + */ +int pmu_set_term_current(enum TPS_TEMPERATURE_RANGE range, + enum TPS_TERMINATION_CURRENT current); + +/** + * Set termination voltage for temperature ranges + * + * @param range T01 T12 T23 T34 T40 + * @param voltage enum termination voltage, V2050 == 2.05V: + * V2000 V2050 V2075 V2100 + */ +int pmu_set_term_voltage(enum TPS_TEMPERATURE_RANGE range, + enum TPS_TERMINATION_VOLTAGE voltage); + +/** + * Enable low current charging + * + * @param enable enable/disable low current charging + */ +int pmu_low_current_charging(int enable); + +/** * * Initialize pmu * */ void pmu_init(void); |