* [PATCH v2 1/2] power: supply: Introduces bypass charging property
2022-01-07 19:58 [PATCH v2 0/2] Introduces bypass charge type property Ricardo Rivera-Matos
@ 2022-01-07 19:58 ` Ricardo Rivera-Matos
2022-01-07 19:58 ` [PATCH v2 2/2] power: supply: bq25980: Implements POWER_SUPPLY_CHARGE_TYPE_BYPASS Ricardo Rivera-Matos
2022-01-27 15:13 ` [PATCH v2 0/2] Introduces bypass charge type property Rivera-Matos, Ricardo
2 siblings, 0 replies; 4+ messages in thread
From: Ricardo Rivera-Matos @ 2022-01-07 19:58 UTC (permalink / raw)
To: sre, linux-pm, linux-kernel, patches; +Cc: Ricardo Rivera-Matos
Adds a POWER_SUPPLY_CHARGE_TYPE_BYPASS option to the POWER_SUPPLY_PROP_CHARGE_TYPE
property to facilitate bypass charging operation.
In bypass charging operation, the charger bypasses the charging path around the
integrated converter allowing for a "smart" wall adaptor to perform the power
conversion externally.
This operational mode is critical for the USB PPS standard of power adaptors and is
becoming a common feature in modern charging ICs such as:
- BQ25980
- BQ25975
- BQ25960
- LN8000
- LN8410
Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
---
drivers/power/supply/power_supply_sysfs.c | 1 +
include/linux/power_supply.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c
index 6ac88fbee3cb..52c909bae457 100644
--- a/drivers/power/supply/power_supply_sysfs.c
+++ b/drivers/power/supply/power_supply_sysfs.c
@@ -89,6 +89,7 @@ static const char * const POWER_SUPPLY_CHARGE_TYPE_TEXT[] = {
[POWER_SUPPLY_CHARGE_TYPE_ADAPTIVE] = "Adaptive",
[POWER_SUPPLY_CHARGE_TYPE_CUSTOM] = "Custom",
[POWER_SUPPLY_CHARGE_TYPE_LONGLIFE] = "Long Life",
+ [POWER_SUPPLY_CHARGE_TYPE_BYPASS] = "Bypass",
};
static const char * const POWER_SUPPLY_HEALTH_TEXT[] = {
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index 86b4d5c4dab9..164779bc7e8f 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -49,6 +49,7 @@ enum {
POWER_SUPPLY_CHARGE_TYPE_ADAPTIVE, /* dynamically adjusted speed */
POWER_SUPPLY_CHARGE_TYPE_CUSTOM, /* use CHARGE_CONTROL_* props */
POWER_SUPPLY_CHARGE_TYPE_LONGLIFE, /* slow speed, longer life */
+ POWER_SUPPLY_CHARGE_TYPE_BYPASS, /* bypassing the charger */
};
enum {
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v2 2/2] power: supply: bq25980: Implements POWER_SUPPLY_CHARGE_TYPE_BYPASS
2022-01-07 19:58 [PATCH v2 0/2] Introduces bypass charge type property Ricardo Rivera-Matos
2022-01-07 19:58 ` [PATCH v2 1/2] power: supply: Introduces bypass charging property Ricardo Rivera-Matos
@ 2022-01-07 19:58 ` Ricardo Rivera-Matos
2022-01-27 15:13 ` [PATCH v2 0/2] Introduces bypass charge type property Rivera-Matos, Ricardo
2 siblings, 0 replies; 4+ messages in thread
From: Ricardo Rivera-Matos @ 2022-01-07 19:58 UTC (permalink / raw)
To: sre, linux-pm, linux-kernel, patches; +Cc: Ricardo Rivera-Matos
This patch remaps the bypass operation from POWER_SUPPLY_CHARGE_TYPE_FAST
to POWER_SUPPLY_CHARGE_TYPE_BYPASS.
Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
---
drivers/power/supply/bq25980_charger.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/power/supply/bq25980_charger.c b/drivers/power/supply/bq25980_charger.c
index 9daa6d14db4d..9339f5649282 100644
--- a/drivers/power/supply/bq25980_charger.c
+++ b/drivers/power/supply/bq25980_charger.c
@@ -764,7 +764,7 @@ static int bq25980_get_charger_property(struct power_supply *psy,
if (!state.ce)
val->intval = POWER_SUPPLY_CHARGE_TYPE_NONE;
else if (state.bypass)
- val->intval = POWER_SUPPLY_CHARGE_TYPE_FAST;
+ val->intval = POWER_SUPPLY_CHARGE_TYPE_BYPASS;
else if (!state.bypass)
val->intval = POWER_SUPPLY_CHARGE_TYPE_STANDARD;
break;
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2 0/2] Introduces bypass charge type property
2022-01-07 19:58 [PATCH v2 0/2] Introduces bypass charge type property Ricardo Rivera-Matos
2022-01-07 19:58 ` [PATCH v2 1/2] power: supply: Introduces bypass charging property Ricardo Rivera-Matos
2022-01-07 19:58 ` [PATCH v2 2/2] power: supply: bq25980: Implements POWER_SUPPLY_CHARGE_TYPE_BYPASS Ricardo Rivera-Matos
@ 2022-01-27 15:13 ` Rivera-Matos, Ricardo
2 siblings, 0 replies; 4+ messages in thread
From: Rivera-Matos, Ricardo @ 2022-01-27 15:13 UTC (permalink / raw)
To: sre, linux-pm, linux-kernel, patches
> On Jan 7, 2022, at 1:58 PM, Ricardo Rivera-Matos <rriveram@opensource.cirrus.com> wrote:
>
> Hello,
>
> This patch series introduces a new POWER_SUPPLY_CHARGE_TYPE for bypass charging
> operation.
>
> In fast charging ICs, the bypass operation is used to bypass the charging path
> around the charging IC's integrated power converter to its load. This allows
> for "smart" wall adaptors (such as USB PPS standard power adaptors) to handle
> the power conversion and heat dissipation externally.
>
> Best Regards,
> Ricardo
>
> Ricardo Rivera-Matos (2):
> power: supply: Introduces bypass charging property
> power: supply: bq25980: Implements POWER_SUPPLY_CHARGE_TYPE_BYPASS
>
> drivers/power/supply/bq25980_charger.c | 2 +-
> drivers/power/supply/power_supply_sysfs.c | 1 +
> include/linux/power_supply.h | 1 +
> 3 files changed, 3 insertions(+), 1 deletion(-)
>
> --
> 2.25.1
>
A gentle bump.
Ricardo
^ permalink raw reply [flat|nested] 4+ messages in thread