Message ID | 20240819164619.556309-6-macroalpha82@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add Battery and USB Supply for AXP717 | expand |
On Mon, Aug 19, 2024 at 11:46:09AM -0500, Chris Morgan wrote: > From: Chris Morgan <macromorgan@hotmail.com> > > Allow specifying a hard limit of the maximum input current. Some PMICs > such as the AXP717 can pull up to 3.25A, so allow a value to be > specified that clamps this in the event the hardware is not designed > for it. > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > --- > .../x-powers,axp20x-usb-power-supply.yaml | 69 ++++++++++++++++++- > 1 file changed, 66 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml > index 34b7959d6772..9cc300e78f60 100644 > --- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml > +++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml > @@ -15,9 +15,6 @@ maintainers: > - Chen-Yu Tsai <wens@csie.org> > - Sebastian Reichel <sre@kernel.org> > > -allOf: > - - $ref: power-supply.yaml# > - > properties: > compatible: > oneOf: > @@ -31,8 +28,74 @@ properties: > - const: x-powers,axp803-usb-power-supply > - const: x-powers,axp813-usb-power-supply > > + input-current-limit-microamp: > + description: > + Optional value to clamp the maximum input current limit to for > + the device. If omitted, the programmed value from the EFUSE will > + be used. minimum: 100000 maximum: 4000000 (or whatever the values are) Best regards, Krzysztof
On Tue, Aug 20, 2024 at 09:42:06AM +0200, Krzysztof Kozlowski wrote: > On Mon, Aug 19, 2024 at 11:46:09AM -0500, Chris Morgan wrote: > > From: Chris Morgan <macromorgan@hotmail.com> > > > > Allow specifying a hard limit of the maximum input current. Some PMICs > > such as the AXP717 can pull up to 3.25A, so allow a value to be > > specified that clamps this in the event the hardware is not designed > > for it. > > > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > > --- > > .../x-powers,axp20x-usb-power-supply.yaml | 69 ++++++++++++++++++- > > 1 file changed, 66 insertions(+), 3 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml > > index 34b7959d6772..9cc300e78f60 100644 > > --- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml > > +++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml > > @@ -15,9 +15,6 @@ maintainers: > > - Chen-Yu Tsai <wens@csie.org> > > - Sebastian Reichel <sre@kernel.org> > > > > -allOf: > > - - $ref: power-supply.yaml# > > - > > properties: > > compatible: > > oneOf: > > @@ -31,8 +28,74 @@ properties: > > - const: x-powers,axp803-usb-power-supply > > - const: x-powers,axp813-usb-power-supply > > > > + input-current-limit-microamp: > > + description: > > + Optional value to clamp the maximum input current limit to for > > + the device. If omitted, the programmed value from the EFUSE will > > + be used. > > minimum: 100000 > maximum: 4000000 > (or whatever the values are) It varies based on the compatible string. I've added all of the restrictions below. Basically all but the axp717 have a table of values available (as an enum), and the axp717 which is added in a subsequent commit gets added as a minimum/maximum with a description noting that steps are in values of 50000. Thank you. > > Best regards, > Krzysztof >
On 20/08/2024 22:15, Chris Morgan wrote: > On Tue, Aug 20, 2024 at 09:42:06AM +0200, Krzysztof Kozlowski wrote: >> On Mon, Aug 19, 2024 at 11:46:09AM -0500, Chris Morgan wrote: >>> From: Chris Morgan <macromorgan@hotmail.com> >>> >>> Allow specifying a hard limit of the maximum input current. Some PMICs >>> such as the AXP717 can pull up to 3.25A, so allow a value to be >>> specified that clamps this in the event the hardware is not designed >>> for it. >>> >>> Signed-off-by: Chris Morgan <macromorgan@hotmail.com> >>> --- >>> .../x-powers,axp20x-usb-power-supply.yaml | 69 ++++++++++++++++++- >>> 1 file changed, 66 insertions(+), 3 deletions(-) >>> >>> diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml >>> index 34b7959d6772..9cc300e78f60 100644 >>> --- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml >>> +++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml >>> @@ -15,9 +15,6 @@ maintainers: >>> - Chen-Yu Tsai <wens@csie.org> >>> - Sebastian Reichel <sre@kernel.org> >>> >>> -allOf: >>> - - $ref: power-supply.yaml# >>> - >>> properties: >>> compatible: >>> oneOf: >>> @@ -31,8 +28,74 @@ properties: >>> - const: x-powers,axp803-usb-power-supply >>> - const: x-powers,axp813-usb-power-supply >>> >>> + input-current-limit-microamp: >>> + description: >>> + Optional value to clamp the maximum input current limit to for >>> + the device. If omitted, the programmed value from the EFUSE will >>> + be used. >> >> minimum: 100000 >> maximum: 4000000 >> (or whatever the values are) > > It varies based on the compatible string. I've added all of the > restrictions below. Basically all but the axp717 have a table > of values available (as an enum), and the axp717 which is added > in a subsequent commit gets added as a minimum/maximum with a > description noting that steps are in values of 50000. And you still need widest constraints here, because there is no final "else" for all not-matched ifs, right? Best regards, Krzysztof
On Wed, Aug 21, 2024 at 08:37:59AM +0200, Krzysztof Kozlowski wrote: > On 20/08/2024 22:15, Chris Morgan wrote: > > On Tue, Aug 20, 2024 at 09:42:06AM +0200, Krzysztof Kozlowski wrote: > >> On Mon, Aug 19, 2024 at 11:46:09AM -0500, Chris Morgan wrote: > >>> From: Chris Morgan <macromorgan@hotmail.com> > >>> > >>> Allow specifying a hard limit of the maximum input current. Some PMICs > >>> such as the AXP717 can pull up to 3.25A, so allow a value to be > >>> specified that clamps this in the event the hardware is not designed > >>> for it. > >>> > >>> Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > >>> --- > >>> .../x-powers,axp20x-usb-power-supply.yaml | 69 ++++++++++++++++++- > >>> 1 file changed, 66 insertions(+), 3 deletions(-) > >>> > >>> diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml > >>> index 34b7959d6772..9cc300e78f60 100644 > >>> --- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml > >>> +++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml > >>> @@ -15,9 +15,6 @@ maintainers: > >>> - Chen-Yu Tsai <wens@csie.org> > >>> - Sebastian Reichel <sre@kernel.org> > >>> > >>> -allOf: > >>> - - $ref: power-supply.yaml# > >>> - > >>> properties: > >>> compatible: > >>> oneOf: > >>> @@ -31,8 +28,74 @@ properties: > >>> - const: x-powers,axp803-usb-power-supply > >>> - const: x-powers,axp813-usb-power-supply > >>> > >>> + input-current-limit-microamp: > >>> + description: > >>> + Optional value to clamp the maximum input current limit to for > >>> + the device. If omitted, the programmed value from the EFUSE will > >>> + be used. > >> > >> minimum: 100000 > >> maximum: 4000000 > >> (or whatever the values are) > > > > It varies based on the compatible string. I've added all of the > > restrictions below. Basically all but the axp717 have a table > > of values available (as an enum), and the axp717 which is added > > in a subsequent commit gets added as a minimum/maximum with a > > description noting that steps are in values of 50000. > > And you still need widest constraints here, because there is no final > "else" for all not-matched ifs, right? > > Best regards, > Krzysztof > That makes sense, thank you. Chris
diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml index 34b7959d6772..9cc300e78f60 100644 --- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml +++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml @@ -15,9 +15,6 @@ maintainers: - Chen-Yu Tsai <wens@csie.org> - Sebastian Reichel <sre@kernel.org> -allOf: - - $ref: power-supply.yaml# - properties: compatible: oneOf: @@ -31,8 +28,74 @@ properties: - const: x-powers,axp803-usb-power-supply - const: x-powers,axp813-usb-power-supply + input-current-limit-microamp: + description: + Optional value to clamp the maximum input current limit to for + the device. If omitted, the programmed value from the EFUSE will + be used. required: - compatible +allOf: + - $ref: power-supply.yaml# + - if: + properties: + compatible: + contains: + enum: + - x-powers,axp192-usb-power-supply + then: + properties: + input-current-limit-microamp: + enum: [100000, 500000] + + - if: + properties: + compatible: + contains: + enum: + - x-powers,axp202-usb-power-supply + - x-powers,axp223-usb-power-supply + then: + properties: + input-current-limit-microamp: + enum: [100000, 500000, 900000] + + - if: + properties: + compatible: + contains: + enum: + - x-powers,axp221-usb-power-supply + then: + properties: + input-current-limit-microamp: + enum: [500000, 900000] + + - if: + properties: + compatible: + contains: + enum: + - x-powers,axp717-usb-power-supply + then: + properties: + input-current-limit-microamp: + description: Maximum input current in increments of 50000 uA. + minimum: 100000 + maximum: 3250000 + + - if: + properties: + compatible: + contains: + enum: + - x-powers,axp813-usb-power-supply + then: + properties: + input-current-limit-microamp: + enum: [100000, 500000, 900000, 1500000, 2000000, 2500000, + 3000000, 3500000, 4000000] + additionalProperties: false