diff options
author | YH Lin <yueherngl@chromium.org> | 2022-12-03 00:19:30 +0000 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-12-05 17:43:05 +0000 |
commit | c8af732351cc5c7167f27e8390e26f0556f53a5a (patch) | |
tree | bdff671e5ad3e71e30ab56f4f084f34a2fd72e28 /common/ocpc.c | |
parent | af25602b15b22b9ef5821dcba9934311f2157c48 (diff) | |
download | chrome-ec-c8af732351cc5c7167f27e8390e26f0556f53a5a.tar.gz |
Revert "Merge remote-tracking branch cros/main into factory-brya-14517.B-main"factory-brya-14517.B-main
This reverts commit af25602b15b22b9ef5821dcba9934311f2157c48.
Reason for revert: broken build due to ec-utils.
Original change's description:
> Merge remote-tracking branch cros/main into factory-brya-14517.B-main
>
> Generated by: util/update_release_branch.py --baseboard brya --relevant_paths_file
> baseboard/brya/relevant-paths.txt factory-brya-14517.B-main
>
> Relevant changes:
>
> git log --oneline 54462f034b..aa40b859b3 -- baseboard/brya board/agah
> board/anahera board/banshee board/brya board/crota board/felwinter
> board/gimble board/kano board/mithrax board/osiris board/primus
> board/redrix board/taeko board/taniks board/vell board/volmar
> driver/bc12/pi3usb9201_public.* driver/charger/bq25710.*
> driver/ppc/nx20p348x.* driver/ppc/syv682x_public.*
> driver/retimer/bb_retimer_public.* driver/tcpm/nct38xx.*
> driver/tcpm/ps8xxx_public.* driver/tcpm/tcpci.* include/power/alderlake*
> include/intel_x86.h power/alderlake* power/intel_x86.c
> util/getversion.sh
>
> e6da633c38 driver: Sort header files
> 234a87ae2d tcpci: Add FRS enable to driver structure
> a56be59ccd tcpm_header: add test for tcpm_dump_registers
> 57b3256963 Rename CONFIG_CHARGER_INPUT_CURRENT to _CHARGER_DEFAULT_CURRENT_LIMIT
> e420c8ff9a marasov: Modify TypeC and TypeA configuration.
> 43b53e0045 Add default implementation of board_set_charge_limit
> b75dc90677 Add CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT
> f1b563c350 baseboard: Sort header files
> 7d01b1e58d driver/retimer/ps8818.h: Add I2C ADDR FLAGS 0x30, 0x58, 0x70
> ec31407993 Add CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
> 8f89f69a5b crota: disable lid angle sensor for clamshell
>
> BRANCH=None
> BUG=b:259002141 b:255184961 b:247100970 b:259354679 b:260630630
> BUG=b:163093572 b:254328661
> TEST=`emerge-brya chromeos-ec`
>
> Force-Relevant-Builds: all
> Change-Id: Ia85a701fbf6b8e67ec214b9e25e0e55e980a6f47
> Signed-off-by: YH Lin <yueherngl@google.com>
Bug: b:259002141 b:255184961 b:247100970 b:259354679 b:260630630
Bug: b:163093572 b:254328661
Change-Id: I48d5aa4cc67a69ee1f6ac9255ac3087d34da4c72
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4077248
Tested-by: YH Lin <yueherngl@chromium.org>
Commit-Queue: YH Lin <yueherngl@chromium.org>
Reviewed-by: Boris Mittelberg <bmbm@google.com>
Auto-Submit: YH Lin <yueherngl@chromium.org>
Diffstat (limited to 'common/ocpc.c')
-rw-r--r-- | common/ocpc.c | 63 |
1 files changed, 16 insertions, 47 deletions
diff --git a/common/ocpc.c b/common/ocpc.c index 88308e5bc7..c27cf4efe5 100644 --- a/common/ocpc.c +++ b/common/ocpc.c @@ -58,7 +58,6 @@ static int k_d = KD; static int k_p_div = KP_DIV; static int k_i_div = KI_DIV; static int k_d_div = KD_DIV; -static int drive_limit = CONFIG_OCPC_DEF_DRIVELIMIT_MILLIVOLTS; static int debug_output; static int viz_output; @@ -248,10 +247,9 @@ enum ec_error_list ocpc_calc_resistances(struct ocpc_data *ocpc, return EC_SUCCESS; } -int ocpc_config_secondary_charger(int *desired_charger_input_current, - struct ocpc_data *ocpc, - int desired_batt_voltage_mv, - int desired_batt_current_ma) +int ocpc_config_secondary_charger(int *desired_input_current, + struct ocpc_data *ocpc, int voltage_mv, + int current_ma) { int rv = EC_SUCCESS; struct batt_params batt; @@ -287,8 +285,8 @@ int ocpc_config_secondary_charger(int *desired_charger_input_current, batt_info = battery_get_info(); - if (desired_batt_current_ma == 0) { - vsys_target = desired_batt_voltage_mv; + if (current_ma == 0) { + vsys_target = voltage_mv; goto set_vsys; } @@ -319,8 +317,8 @@ int ocpc_config_secondary_charger(int *desired_charger_input_current, if (!timestamp_expired(delay, NULL)) return EC_ERROR_BUSY; - result = charger_set_vsys_compensation( - chgnum, ocpc, desired_batt_current_ma, desired_batt_voltage_mv); + result = charger_set_vsys_compensation(chgnum, ocpc, current_ma, + voltage_mv); switch (result) { case EC_SUCCESS: /* No further action required, so we're done here. */ @@ -378,9 +376,8 @@ int ocpc_config_secondary_charger(int *desired_charger_input_current, if (batt.desired_voltage) { if (((batt.voltage < batt_info->voltage_min) || ((batt.voltage < batt_info->voltage_normal) && - (desired_batt_current_ma >= 0) && - (desired_batt_current_ma <= - batt_info->precharge_current))) && + (current_ma >= 0) && + (current_ma <= batt_info->precharge_current))) && (ph != PHASE_PRECHARGE)) { /* * If the charger IC doesn't support the linear charge @@ -392,12 +389,11 @@ int ocpc_config_secondary_charger(int *desired_charger_input_current, } else if (result == EC_SUCCESS) { CPRINTS("OCPC: Enabling linear precharge"); ph = PHASE_PRECHARGE; - i_ma = desired_batt_current_ma; + i_ma = current_ma; } } else if (batt.voltage < batt.desired_voltage) { if ((ph == PHASE_PRECHARGE) && - (desired_batt_current_ma > - batt_info->precharge_current)) { + (current_ma > batt_info->precharge_current)) { /* * Precharge phase is complete. Now set the * target VSYS to the battery voltage to prevent @@ -426,7 +422,7 @@ int ocpc_config_secondary_charger(int *desired_charger_input_current, if ((ph != PHASE_PRECHARGE) && (ph < PHASE_CV_TRIP)) ph = PHASE_CC; - i_ma = desired_batt_current_ma; + i_ma = current_ma; } else { /* * Once the battery voltage reaches the desired voltage, @@ -456,16 +452,6 @@ int ocpc_config_secondary_charger(int *desired_charger_input_current, */ if (ocpc->last_vsys != OCPC_UNINIT) { error = i_ma - batt.current; - - /* Uses charger input error if controller is proportional only. - */ - if ((k_i == 0) && (k_d == 0)) { - int charger_input_error = - (*desired_charger_input_current - - ocpc->secondary_ibus_ma); - error = MIN(error, charger_input_error); - } - /* Add some hysteresis. */ if (ABS(error) < (i_step / 2)) error = 0; @@ -504,15 +490,11 @@ int ocpc_config_secondary_charger(int *desired_charger_input_current, * VSYS rather quickly, but we'll be conservative on * increasing VSYS. */ - if (drive > drive_limit) - drive = drive_limit; + if (drive > 10) + drive = 10; CPRINTS_DBG("drive = %d", drive); } - CPRINTS_DBG("##DATA = %d %d %d %d %d %d %d", batt.desired_current, - batt.current, *desired_charger_input_current, - ocpc->secondary_ibus_ma, error, ocpc->last_vsys, drive); - /* * For the pre-charge phase, simply keep the VSYS target at the desired * voltage. @@ -555,7 +537,7 @@ int ocpc_config_secondary_charger(int *desired_charger_input_current, /* If we're input current limited, we cannot increase VSYS any more. */ CPRINTS_DBG("OCPC: Inst. Input Current: %dmA (Limit: %dmA)", - ocpc->secondary_ibus_ma, *desired_charger_input_current); + ocpc->secondary_ibus_ma, *desired_input_current); if (charger_is_icl_reached(chgnum, &icl_reached) != EC_SUCCESS) { /* @@ -564,7 +546,7 @@ int ocpc_config_secondary_charger(int *desired_charger_input_current, * 95% of the limit. */ if (ocpc->secondary_ibus_ma >= - (*desired_charger_input_current * 95 / 100)) + (*desired_input_current * 95 / 100)) icl_reached = true; } @@ -783,16 +765,3 @@ static int command_ocpcpid(int argc, const char **argv) DECLARE_SAFE_CONSOLE_COMMAND(ocpcpid, command_ocpcpid, "[<k/p/d> <numerator> <denominator>]", "Show/Set PID constants for OCPC PID loop"); - -static int command_ocpcdrvlmt(int argc, const char **argv) -{ - if (argc == 2) { - drive_limit = atoi(argv[1]); - } - - /* Print the current constants */ - ccprintf("Drive Limit = %d\n", drive_limit); - return EC_SUCCESS; -} -DECLARE_SAFE_CONSOLE_COMMAND(ocpcdrvlmt, command_ocpcdrvlmt, "[<drive_limit>]", - "Show/Set drive limit for OCPC PID loop"); |