linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Introduces bypass charge type property
@ 2022-01-07 19:58 Ricardo Rivera-Matos
  2022-01-07 19:58 ` [PATCH v2 1/2] power: supply: Introduces bypass charging property Ricardo Rivera-Matos
                   ` (2 more replies)
  0 siblings, 3 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

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


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [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

end of thread, other threads:[~2022-01-27 15:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 ` [PATCH v2 0/2] Introduces bypass charge type property Rivera-Matos, Ricardo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).