Lines Matching +full:charging +full:- +full:current
1 /* SPDX-License-Identifier: GPL-2.0-only */
185 POWER_SUPPLY_TYPE_USB_DCP, /* Dedicated Charging Port */
186 POWER_SUPPLY_TYPE_USB_CDP, /* Charging Downstream Port */
191 POWER_SUPPLY_TYPE_APPLE_BRICK_ID, /* Apple Charging Method */
198 POWER_SUPPLY_USB_TYPE_DCP, /* Dedicated Charging Port */
199 POWER_SUPPLY_USB_TYPE_CDP, /* Charging Downstream Port */
205 POWER_SUPPLY_USB_TYPE_APPLE_BRICK_ID, /* Apple Charging Method */
226 /* Run-time specific power supply configuration */
359 * struct power_supply_maintenance_charge_table - setting for maintenace charging
360 * @charge_current_max_ua: maintenance charging current that is used to keep
361 * the charge of the battery full as current is consumed after full charging.
363 * reach this voltage the maintenance charging current is turned off. It is
365 * @charge_voltage_max_uv: maintenance charging voltage that is usually a bit
368 * @safety_timer_minutes: maintenance charging safety timer, with an expiry
369 * time in minutes. We will only use maintenance charging in this setting
371 * maintenance charge current and voltage pair in respective array and wait
373 * charging setting, disable charging until we reach
374 * charge_restart_voltage_uv and restart ordinary CC/CV charging from there.
378 * Ordinary CC/CV charging will stop charging when the charge current goes
392 * +-------------------------------------------------------------------> t
394 * Practically this means that the Li-ions are wandering back and forth in the
396 * To prolong the life of the battery, maintenance charging is applied after
405 * +-------------------------------------------------------------------> t
407 * Maintenance charging uses the voltages from this table: a table of settings
408 * is traversed using a slightly lower current and voltage than what is used for
409 * CC/CV charging. The maintenance charging will for safety reasons not go on
410 * indefinately: we lower the current and voltage with successive maintenance
411 * settings, then disable charging completely after we reach the last one,
412 * and after that we do not restart charging until we reach
414 * ordinary CC/CV charging from there.
416 * As an example, a Samsung EB425161LA Lithium-Ion battery is CC/CV charged
422 * For most mobile electronics this type of maintenance charging is enough for
424 * charging cycles are complete, if the current and voltage has been chosen
426 * and expected standby current.
429 * charging, ordinary CC/CV charging is restarted. This can happen if the
430 * device is e.g. actively used during charging, so more current is drawn than
431 * the expected stand-by current. Also overvoltage protection will be applied
443 * struct power_supply_battery_info - information about batteries
451 * level the battery will need precharging when using CC/CV charging.
455 * @tricklecharge_current_ua: the tricklecharge current used when trickle
456 * charging the battery in microamperes. This is the charging phase when the
459 * @precharge_current_ua: current to use in the precharge phase in microamperes,
460 * the precharge rate is limited by limiting the current to this value.
463 * CC (constant current) charging phase defined by constant_charge_current_ua
465 * @charge_term_current_ua: when the current in the CV (constant voltage)
466 * charging phase drops below this value in microamperes the charging will
468 * poles reach charge_restart_voltage_uv unless we use maintenance charging.
470 * CC/CV charging and charging has been disabled, and the voltage subsequently
471 * drops below this value in microvolts, the charging will be restarted
472 * (typically using CV charging).
474 * voltage_max_design_uv and we reach this voltage level, all charging must
477 * @constant_charge_current_max_ua: current in microamperes to use in the CC
478 * (constant current) charging phase. The charging rate is limited
479 * by this current. This is the main charging phase and as the current is
483 * the CC (constant current) charging phase and the beginning of the CV
484 * (constant voltage) charging phase.
485 * @maintenance_charge: an array of maintenance charging settings to be used
486 * after the main CC/CV charging phase is complete.
487 * @maintenance_charge_size: the number of maintenance charging settings in
489 * @alert_low_temp_charge_current_ua: The charging current to use if the battery
491 * temp_alert_min and temp_min. No matter the charging phase, this
494 * but for the charging voltage.
495 * @alert_high_temp_charge_current_ua: The charging current to use if the
497 * between temp_alert_max and temp_max. No matter the charging phase, this
499 * the charging current as an evasive manouver.
501 * alert_high_temp_charge_current_ua, but for the charging voltage.
508 * battery at fabrication time while charging, expressed in microohms.
509 * The charging process will affect the internal resistance of the battery
560 * when the battery is charging. Being under charge changes the battery's
570 * for example 10 for +/- 10%, if the bti_resistance is set to 7000 and the
579 * The default field value is -EINVAL or NULL for pointers.
581 * CC/CV CHARGING:
583 * The charging parameters here assume a CC/CV charging scheme. This method
588 * | --- overvoltage_limit_uv
600 * |. (trickle charging)
601 * +------------------------------------------------------------------> time
603 * ^ Current into the battery
618 * +-----------------------------------------------------------------> time
620 * These diagrams are synchronized on time and the voltage and current
623 * With CC/CV charging commence over time like this for an empty battery:
626 * an especially small current so that electrons just "trickle in",
629 * 2. Next a small initial pre-charge current (precharge_current_ua)
632 * to as "trickle charging" but the use in the Linux kernel is different
635 * 3. Then the main charging current is applied, which is called the constant
636 * current (CC) phase. A current regulator is set up to allow
637 * constant_charge_current_max_ua of current to flow into the battery.
639 * charge goes into the battery. This current is applied until we reach
643 * means we allow current to go into the battery, but we keep the voltage
644 * fixed. This current will continue to charge the battery while keeping
646 * storing energy without affecting the voltage. Over time the current
651 * charging, the charging will not restart until power dissipation makes the
653 * we restart charging at the appropriate phase, usually this will be inside
656 * If we support maintenance charging the voltage is however kept high after
657 * the CV phase with a very low current. This is meant to let the same charge
662 * All charging MUST terminate if the overvoltage_limit_uv is ever reached.
670 * many chargers uses a so-called fuel gauge or coloumb counter that measure
671 * how much charge goes into the battery and how much goes out (+/- leak
675 * the open circuit voltage with a look-up table to determine the rough
680 * +-------> IBAT >----------------+
684 * o <---------- | |
686 * .---. | | |
688 * '---' | | |
690 * GND +-------------------------------+
702 * current out from the battery), estimate the Ri and thus calculate the
705 * OCV = VBAT - (IBAT * Ri)
817 int vbat_uv, bool charging);
842 return ((info->vbat2ri_discharging != NULL) && in power_supply_supports_vbat2ri()
843 info->vbat2ri_discharging_size > 0); in power_supply_supports_vbat2ri()
849 return ((info->resist_table != NULL) && in power_supply_supports_temp2ri()
850 info->resist_table_size > 0); in power_supply_supports_temp2ri()
856 static inline int power_supply_is_system_supplied(void) { return -ENOSYS; } in power_supply_is_system_supplied()
982 return -EOPNOTSUPP; in power_supply_charge_behaviour_show()
988 return -EOPNOTSUPP; in power_supply_charge_behaviour_parse()