* [PATCH 0/2] power: supply: gpio-charger: add support for default charge current limit
@ 2024-12-11 7:29 ` Dimitri Fedrau via B4 Relay
0 siblings, 0 replies; 9+ messages in thread
From: Dimitri Fedrau @ 2024-12-11 7:29 UTC (permalink / raw)
To: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-pm, devicetree, linux-kernel, Dimitri Fedrau,
Dimitri Fedrau
The driver defaults to smallest current limitation for safety reasons. Add
support for setting default current limitation via DT.
Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
---
Dimitri Fedrau (2):
dt-bindings: power: supply: gpio-charger: add support for default charge current limit
power: supply: gpio-charger: add support for default charge current limit
.../devicetree/bindings/power/supply/gpio-charger.yaml | 4 ++++
drivers/power/supply/gpio-charger.c | 13 +++++++++++++
2 files changed, 17 insertions(+)
---
base-commit: 88e4a7dc04b7828315292eb3acaa466c9c123d8b
change-id: 20241209-default-charge-current-limit-69ae7945061a
Best regards,
--
Dimitri Fedrau <dimitri.fedrau@liebherr.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 0/2] power: supply: gpio-charger: add support for default charge current limit
@ 2024-12-11 7:29 ` Dimitri Fedrau via B4 Relay
0 siblings, 0 replies; 9+ messages in thread
From: Dimitri Fedrau via B4 Relay @ 2024-12-11 7:29 UTC (permalink / raw)
To: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-pm, devicetree, linux-kernel, Dimitri Fedrau,
Dimitri Fedrau
The driver defaults to smallest current limitation for safety reasons. Add
support for setting default current limitation via DT.
Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
---
Dimitri Fedrau (2):
dt-bindings: power: supply: gpio-charger: add support for default charge current limit
power: supply: gpio-charger: add support for default charge current limit
.../devicetree/bindings/power/supply/gpio-charger.yaml | 4 ++++
drivers/power/supply/gpio-charger.c | 13 +++++++++++++
2 files changed, 17 insertions(+)
---
base-commit: 88e4a7dc04b7828315292eb3acaa466c9c123d8b
change-id: 20241209-default-charge-current-limit-69ae7945061a
Best regards,
--
Dimitri Fedrau <dimitri.fedrau@liebherr.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] dt-bindings: power: supply: gpio-charger: add support for default charge current limit
2024-12-11 7:29 ` Dimitri Fedrau via B4 Relay
@ 2024-12-11 7:29 ` Dimitri Fedrau via B4 Relay
-1 siblings, 0 replies; 9+ messages in thread
From: Dimitri Fedrau @ 2024-12-11 7:29 UTC (permalink / raw)
To: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-pm, devicetree, linux-kernel, Dimitri Fedrau,
Dimitri Fedrau
Add binding for default charge current limit.
Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
---
Documentation/devicetree/bindings/power/supply/gpio-charger.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml b/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml
index 89f8e2bcb2d7836c6a4308aff51721bd83fa3ba1..545fdd7133daf67b5bc238c5af26d0cbd8b44eae 100644
--- a/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml
+++ b/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml
@@ -58,6 +58,10 @@ properties:
charge-current-limit-gpios property. Bit 1 second to last
GPIO and so on.
+ charge-current-limit-default:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: Default charge current limit in uA.
+
required:
- compatible
--
2.39.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 1/2] dt-bindings: power: supply: gpio-charger: add support for default charge current limit
@ 2024-12-11 7:29 ` Dimitri Fedrau via B4 Relay
0 siblings, 0 replies; 9+ messages in thread
From: Dimitri Fedrau via B4 Relay @ 2024-12-11 7:29 UTC (permalink / raw)
To: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-pm, devicetree, linux-kernel, Dimitri Fedrau,
Dimitri Fedrau
From: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
Add binding for default charge current limit.
Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
---
Documentation/devicetree/bindings/power/supply/gpio-charger.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml b/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml
index 89f8e2bcb2d7836c6a4308aff51721bd83fa3ba1..545fdd7133daf67b5bc238c5af26d0cbd8b44eae 100644
--- a/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml
+++ b/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml
@@ -58,6 +58,10 @@ properties:
charge-current-limit-gpios property. Bit 1 second to last
GPIO and so on.
+ charge-current-limit-default:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: Default charge current limit in uA.
+
required:
- compatible
--
2.39.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/2] power: supply: gpio-charger: add support for default charge current limit
2024-12-11 7:29 ` Dimitri Fedrau via B4 Relay
@ 2024-12-11 7:29 ` Dimitri Fedrau via B4 Relay
-1 siblings, 0 replies; 9+ messages in thread
From: Dimitri Fedrau @ 2024-12-11 7:29 UTC (permalink / raw)
To: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-pm, devicetree, linux-kernel, Dimitri Fedrau,
Dimitri Fedrau
The driver defaults to smallest current limitation for safety reasons. Add
support for setting default current limitation via DT.
Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
---
drivers/power/supply/gpio-charger.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/power/supply/gpio-charger.c b/drivers/power/supply/gpio-charger.c
index 68212b39785beabfe5536a18fa15bc249f7b1eea..1c1fce6579464b61dbaf4125d0a91dc34c18c4d0 100644
--- a/drivers/power/supply/gpio-charger.c
+++ b/drivers/power/supply/gpio-charger.c
@@ -187,6 +187,8 @@ static int init_charge_current_limit(struct device *dev,
{
int i, len;
u32 cur_limit = U32_MAX;
+ bool set_def_limit;
+ u32 def_limit;
gpio_charger->current_limit_gpios = devm_gpiod_get_array_optional(dev,
"charge-current-limit", GPIOD_OUT_LOW);
@@ -220,6 +222,9 @@ static int init_charge_current_limit(struct device *dev,
if (len < 0)
return len;
+ set_def_limit = !device_property_read_u32(dev,
+ "charge-current-limit-default",
+ &def_limit);
for (i=0; i < gpio_charger->current_limit_map_size; i++) {
if (gpio_charger->current_limit_map[i].limit_ua > cur_limit) {
dev_err(dev, "charge-current-limit-mapping not sorted by current in descending order\n");
@@ -227,8 +232,16 @@ static int init_charge_current_limit(struct device *dev,
}
cur_limit = gpio_charger->current_limit_map[i].limit_ua;
+ if (set_def_limit && def_limit == cur_limit) {
+ set_charge_current_limit(gpio_charger, cur_limit);
+ return 0;
+ }
}
+ if (set_def_limit)
+ dev_warn(dev, "charge-current-limit-default %u not listed in charge-current-limit-mapping\n",
+ def_limit);
+
/* default to smallest current limitation for safety reasons */
len = gpio_charger->current_limit_map_size - 1;
set_charge_current_limit(gpio_charger,
--
2.39.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/2] power: supply: gpio-charger: add support for default charge current limit
@ 2024-12-11 7:29 ` Dimitri Fedrau via B4 Relay
0 siblings, 0 replies; 9+ messages in thread
From: Dimitri Fedrau via B4 Relay @ 2024-12-11 7:29 UTC (permalink / raw)
To: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-pm, devicetree, linux-kernel, Dimitri Fedrau,
Dimitri Fedrau
From: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
The driver defaults to smallest current limitation for safety reasons. Add
support for setting default current limitation via DT.
Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
---
drivers/power/supply/gpio-charger.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/power/supply/gpio-charger.c b/drivers/power/supply/gpio-charger.c
index 68212b39785beabfe5536a18fa15bc249f7b1eea..1c1fce6579464b61dbaf4125d0a91dc34c18c4d0 100644
--- a/drivers/power/supply/gpio-charger.c
+++ b/drivers/power/supply/gpio-charger.c
@@ -187,6 +187,8 @@ static int init_charge_current_limit(struct device *dev,
{
int i, len;
u32 cur_limit = U32_MAX;
+ bool set_def_limit;
+ u32 def_limit;
gpio_charger->current_limit_gpios = devm_gpiod_get_array_optional(dev,
"charge-current-limit", GPIOD_OUT_LOW);
@@ -220,6 +222,9 @@ static int init_charge_current_limit(struct device *dev,
if (len < 0)
return len;
+ set_def_limit = !device_property_read_u32(dev,
+ "charge-current-limit-default",
+ &def_limit);
for (i=0; i < gpio_charger->current_limit_map_size; i++) {
if (gpio_charger->current_limit_map[i].limit_ua > cur_limit) {
dev_err(dev, "charge-current-limit-mapping not sorted by current in descending order\n");
@@ -227,8 +232,16 @@ static int init_charge_current_limit(struct device *dev,
}
cur_limit = gpio_charger->current_limit_map[i].limit_ua;
+ if (set_def_limit && def_limit == cur_limit) {
+ set_charge_current_limit(gpio_charger, cur_limit);
+ return 0;
+ }
}
+ if (set_def_limit)
+ dev_warn(dev, "charge-current-limit-default %u not listed in charge-current-limit-mapping\n",
+ def_limit);
+
/* default to smallest current limitation for safety reasons */
len = gpio_charger->current_limit_map_size - 1;
set_charge_current_limit(gpio_charger,
--
2.39.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] dt-bindings: power: supply: gpio-charger: add support for default charge current limit
2024-12-11 7:29 ` Dimitri Fedrau via B4 Relay
(?)
@ 2024-12-13 11:00 ` Krzysztof Kozlowski
2024-12-13 14:19 ` Dimitri Fedrau
-1 siblings, 1 reply; 9+ messages in thread
From: Krzysztof Kozlowski @ 2024-12-13 11:00 UTC (permalink / raw)
To: Dimitri Fedrau
Cc: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
linux-pm, devicetree, linux-kernel, Dimitri Fedrau
On Wed, Dec 11, 2024 at 08:29:09AM +0100, Dimitri Fedrau wrote:
> Add binding for default charge current limit.
Why?
>
> Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
> ---
> Documentation/devicetree/bindings/power/supply/gpio-charger.yaml | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml b/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml
> index 89f8e2bcb2d7836c6a4308aff51721bd83fa3ba1..545fdd7133daf67b5bc238c5af26d0cbd8b44eae 100644
> --- a/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml
> +++ b/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml
> @@ -58,6 +58,10 @@ properties:
> charge-current-limit-gpios property. Bit 1 second to last
> GPIO and so on.
>
> + charge-current-limit-default:
Use standard property suffixes - see other bindings how they define
charge current.
git grep charge -- Documentation/devicetree/bindings/power/supply/
But what I don't get is why GPIO chager needs it, since this is
non-configurable for GPIO charger.
You have entire commit msg or property description to explain such
things.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] dt-bindings: power: supply: gpio-charger: add support for default charge current limit
2024-12-13 11:00 ` Krzysztof Kozlowski
@ 2024-12-13 14:19 ` Dimitri Fedrau
2024-12-13 14:32 ` Krzysztof Kozlowski
0 siblings, 1 reply; 9+ messages in thread
From: Dimitri Fedrau @ 2024-12-13 14:19 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Dimitri Fedrau, Sebastian Reichel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-pm, devicetree,
linux-kernel
Am Fri, Dec 13, 2024 at 12:00:46PM +0100 schrieb Krzysztof Kozlowski:
> On Wed, Dec 11, 2024 at 08:29:09AM +0100, Dimitri Fedrau wrote:
> > Add binding for default charge current limit.
>
> Why?
>
See below.
> >
> > Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
> > ---
> > Documentation/devicetree/bindings/power/supply/gpio-charger.yaml | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml b/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml
> > index 89f8e2bcb2d7836c6a4308aff51721bd83fa3ba1..545fdd7133daf67b5bc238c5af26d0cbd8b44eae 100644
> > --- a/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml
> > +++ b/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml
> > @@ -58,6 +58,10 @@ properties:
> > charge-current-limit-gpios property. Bit 1 second to last
> > GPIO and so on.
> >
> > + charge-current-limit-default:
>
> Use standard property suffixes - see other bindings how they define
> charge current.
> git grep charge -- Documentation/devicetree/bindings/power/supply/
>
Will fix it, thanks for the hint.
> But what I don't get is why GPIO chager needs it, since this is
> non-configurable for GPIO charger.
>
With properties charge-current-limit-gpios and charge-current-limit-mapping
one can define charge current limits in uA using up to 32 GPIOs. At the
moment the driver defaults to smallest current limitation for safety
reasons. When disabling charging should be possible as in the example,
the charger defaults to non-charging. By having a default the charge
current limit can be setup on probe and charging is enabled.
> You have entire commit msg or property description to explain such
> things.
>
Will explain it in more detail.
Best regards,
Dimitri Fedrau
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] dt-bindings: power: supply: gpio-charger: add support for default charge current limit
2024-12-13 14:19 ` Dimitri Fedrau
@ 2024-12-13 14:32 ` Krzysztof Kozlowski
0 siblings, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2024-12-13 14:32 UTC (permalink / raw)
To: Dimitri Fedrau
Cc: Dimitri Fedrau, Sebastian Reichel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-pm, devicetree,
linux-kernel
On 13/12/2024 15:19, Dimitri Fedrau wrote:
>
>> But what I don't get is why GPIO chager needs it, since this is
>> non-configurable for GPIO charger.
>>
> With properties charge-current-limit-gpios and charge-current-limit-mapping
> one can define charge current limits in uA using up to 32 GPIOs. At the
> moment the driver defaults to smallest current limitation for safety
> reasons. When disabling charging should be possible as in the example,
> the charger defaults to non-charging. By having a default the charge
> current limit can be setup on probe and charging is enabled.
OK, the commit msg should explain the intention and real use case you
are solving here. Plus you miss the dependency - this property depends
on charge-current-limit-mapping.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-12-13 14:32 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-11 7:29 [PATCH 0/2] power: supply: gpio-charger: add support for default charge current limit Dimitri Fedrau
2024-12-11 7:29 ` Dimitri Fedrau via B4 Relay
2024-12-11 7:29 ` [PATCH 1/2] dt-bindings: " Dimitri Fedrau
2024-12-11 7:29 ` Dimitri Fedrau via B4 Relay
2024-12-13 11:00 ` Krzysztof Kozlowski
2024-12-13 14:19 ` Dimitri Fedrau
2024-12-13 14:32 ` Krzysztof Kozlowski
2024-12-11 7:29 ` [PATCH 2/2] " Dimitri Fedrau
2024-12-11 7:29 ` Dimitri Fedrau via B4 Relay
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.