diff options
author | Samsp_Liu <Samsp_Liu@compal.corp-partner.google.com> | 2021-07-16 11:41:43 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-07-16 16:45:43 +0000 |
commit | d97b73b882a811ad599da1b50173a73caaa39798 (patch) | |
tree | 991a0d46ce175e756890336185a03b514f44ad9d /board/vilboz | |
parent | 0a8364fe0b5ffeaaf96a9aae1e4576cf7faedfdb (diff) | |
download | chrome-ec-d97b73b882a811ad599da1b50173a73caaa39798.tar.gz |
vilboz: adjust dynamic changing charge current
S0:
This patch base on charger thermistor sensor
temperature to dynamic changing charge current.
S3/S5:
Follow battery charge current.
BUG=b:193758974
BRANCH=zork
TEST=Verify the S0 status charge current can be changed when
charger thermistor sensor temperature rises and drop.
S3/S5 status follow battery charge current.
Signed-off-by: Samsp_Liu <Samsp_Liu@compal.corp-partner.google.com>
Change-Id: Ia1ebf69a2ae1b8925240e9b3d043a71b445f8f2d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3033226
Tested-by: SamSP Liu <samsp_liu@compal.corp-partner.google.com>
Reviewed-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com>
Reviewed-by: Edward Hill <ecgh@chromium.org>
Commit-Queue: Edward Hill <ecgh@chromium.org>
Diffstat (limited to 'board/vilboz')
-rw-r--r-- | board/vilboz/battery.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/board/vilboz/battery.c b/board/vilboz/battery.c index 05beee34bc..6f6bca7662 100644 --- a/board/vilboz/battery.c +++ b/board/vilboz/battery.c @@ -427,20 +427,19 @@ int charger_profile_override(struct charge_state_data *curr) if (chg_temp_c >= chg_curr_table[current_level + 1].on) current_level = current_level + 1; } - } + /* + * Prevent level always minus 0 or over table steps. + */ + if (current_level < 0) + current_level = 0; + else if (current_level >= NUM_CHG_CURRENT_LEVELS) + current_level = NUM_CHG_CURRENT_LEVELS - 1; - /* - * Prevent level always minus 0 or over table steps. - */ - if (current_level < 0) - current_level = 0; - else if (current_level >= NUM_CHG_CURRENT_LEVELS) - current_level = NUM_CHG_CURRENT_LEVELS - 1; + prev_tmp = chg_temp_c; + current = chg_curr_table[current_level].curr_ma; - prev_tmp = chg_temp_c; - current = chg_curr_table[current_level].curr_ma; - - curr->requested_current = MIN(curr->requested_current, current); + curr->requested_current = MIN(curr->requested_current, current); + } return 0; } |