// SPDX-License-Identifier: GPL-2.0 /* * Charging control driver for the Wilco EC * * Copyright 2019 Google LLC * * See Documentation/ABI/testing/sysfs-class-power and * Documentation/ABI/testing/sysfs-class-power-wilco for userspace interface * and other info.
*/
/* Property IDs and related EC constants */ #define PID_CHARGE_MODE 0x0710 #define PID_CHARGE_LOWER_LIMIT 0x0711 #define PID_CHARGE_UPPER_LIMIT 0x0712
enum charge_mode {
CHARGE_MODE_STD = 1, /* Used for Standard */
CHARGE_MODE_EXP = 2, /* Express Charge, used for Fast */
CHARGE_MODE_AC = 3, /* Mostly AC use, used for Trickle */
CHARGE_MODE_AUTO = 4, /* Used for Adaptive */
CHARGE_MODE_CUSTOM = 5, /* Used for Custom */
CHARGE_MODE_LONGLIFE = 6, /* Used for Long Life */
};
/* Convert from POWER_SUPPLY_PROP_CHARGE_TYPE value to the EC's charge mode */ staticint psp_val_to_charge_mode(int psp_val)
{ switch (psp_val) { case POWER_SUPPLY_CHARGE_TYPE_TRICKLE: return CHARGE_MODE_AC; case POWER_SUPPLY_CHARGE_TYPE_FAST: return CHARGE_MODE_EXP; case POWER_SUPPLY_CHARGE_TYPE_STANDARD: return CHARGE_MODE_STD; case POWER_SUPPLY_CHARGE_TYPE_ADAPTIVE: return CHARGE_MODE_AUTO; case POWER_SUPPLY_CHARGE_TYPE_CUSTOM: return CHARGE_MODE_CUSTOM; case POWER_SUPPLY_CHARGE_TYPE_LONGLIFE: return CHARGE_MODE_LONGLIFE; default: return -EINVAL;
}
}
/* Convert from EC's charge mode to POWER_SUPPLY_PROP_CHARGE_TYPE value */ staticint charge_mode_to_psp_val(enum charge_mode mode)
{ switch (mode) { case CHARGE_MODE_AC: return POWER_SUPPLY_CHARGE_TYPE_TRICKLE; case CHARGE_MODE_EXP: return POWER_SUPPLY_CHARGE_TYPE_FAST; case CHARGE_MODE_STD: return POWER_SUPPLY_CHARGE_TYPE_STANDARD; case CHARGE_MODE_AUTO: return POWER_SUPPLY_CHARGE_TYPE_ADAPTIVE; case CHARGE_MODE_CUSTOM: return POWER_SUPPLY_CHARGE_TYPE_CUSTOM; case CHARGE_MODE_LONGLIFE: return POWER_SUPPLY_CHARGE_TYPE_LONGLIFE; default: return -EINVAL;
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.