summaryrefslogtreecommitdiff
path: root/board/vilboz
diff options
context:
space:
mode:
authorSamsp_Liu <Samsp_Liu@compal.corp-partner.google.com>2021-07-16 11:41:43 +0800
committerCommit Bot <commit-bot@chromium.org>2021-07-16 16:45:43 +0000
commitd97b73b882a811ad599da1b50173a73caaa39798 (patch)
tree991a0d46ce175e756890336185a03b514f44ad9d /board/vilboz
parent0a8364fe0b5ffeaaf96a9aae1e4576cf7faedfdb (diff)
downloadchrome-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.c23
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;
}