diff mbox series

[v1,1/2] dt-bindings: power: supply: Document Maxim MAX8971 charger

Message ID 20250221095943.57297-2-clamor95@gmail.com
State New
Headers show
Series power: supply: Add support for Maxim MAX8971 charger | expand

Commit Message

Svyatoslav Ryhel Feb. 21, 2025, 9:59 a.m. UTC
Add bindings for Maxim MAX8971 charger.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
 .../bindings/power/supply/maxim,max8971.yaml  | 133 ++++++++++++++++++
 1 file changed, 133 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml

Comments

Krzysztof Kozlowski Feb. 23, 2025, 11:43 a.m. UTC | #1
On Fri, Feb 21, 2025 at 11:59:42AM +0200, Svyatoslav Ryhel wrote:
> Add bindings for Maxim MAX8971 charger.
> 
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> ---
>  .../bindings/power/supply/maxim,max8971.yaml  | 133 ++++++++++++++++++
>  1 file changed, 133 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
> 
> diff --git a/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml b/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
> new file mode 100644
> index 000000000000..26b37e6f662f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
> @@ -0,0 +1,133 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/power/supply/maxim,max8971.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Maxim MAX8971 IC charger
> +
> +maintainers:
> +  - Svyatoslav Ryhel <clamor95@gmail.com>
> +
> +description:
> +  The MAX8971 is a compact, high-frequency, high-efficiency switch-mode
> +  charger for a one-cell lithium-ion (Li+) battery.
> +
> +properties:
> +  compatible:
> +    const: maxim,max8971
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  extcon:
> +    description:
> +      Special device used to detect type of plug.
> +    $ref: /schemas/types.yaml#/definitions/phandle

You rather miss proper connector or ports. Which device pins are
describbed here?


> +
> +  maxim,fcharge-current-limit-microamp:
> +    description:
> +      Fast-Charge current limit
> +    minimum: 250000
> +    default: 500000
> +    maximum: 1550000
> +
> +  maxim,fcharge-timer-hours:
> +    description: |
> +      Fast-Charge timer in hours. Setting this value 3 and lower or 11 and
> +      higher will disable Fast-Charge timer.
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    default: 5
> +
> +  maxim,fcharge-rst-threshold-high:
> +    description:
> +      Set Fast-Charge reset threshold to -100 mV
> +    type: boolean
> +
> +  maxim,in-current-limit-microamp:
> +    description:
> +      Input current limit
> +    minimum: 100000
> +    default: 500000
> +    maximum: 1500000
> +
> +  maxim,topoff-timer-minutes:
> +    description:
> +      Top-Off timer minutes
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum: [0, 10, 20, 30, 40, 50, 60, 70]
> +    default: 30
> +
> +  maxim,topoff-current-threshold-microamp:
> +    description:
> +      Top-Off current threshold
> +    enum: [50000, 100000, 150000, 200000]
> +    default: 50000
> +
> +  maxim,fcharge-usb-current-limit-microamp:
> +    description:
> +      Fast-Charge USB current limit
> +    minimum: 100000
> +    default: 500000
> +    maximum: 1500000
> +
> +  maxim,fcharge-ac-current-limit-microamp:
> +    description:
> +      Fast-Charge AC current limit
> +    minimum: 100000
> +    default: 500000
> +    maximum: 1500000
> +
> +  maxim,usb-in-current-limit-microamp:
> +    description:
> +      USB Input current limit
> +    minimum: 100000
> +    default: 500000
> +    maximum: 1500000
> +
> +  maxim,ac-in-current-limit-microamp:
> +    description:
> +      AC Input current limit
> +    minimum: 100000
> +    default: 500000
> +    maximum: 1500000

For all or most of these you miss monitored batter.

> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +

Missing allOf with ref to power supply.

> +additionalProperties: false

unevaluatedProperties instead, see other bindings.

Best regards,
Krzysztof
Svyatoslav Ryhel Feb. 23, 2025, 11:56 a.m. UTC | #2
нд, 23 лют. 2025 р. о 13:43 Krzysztof Kozlowski <krzk@kernel.org> пише:
>
> On Fri, Feb 21, 2025 at 11:59:42AM +0200, Svyatoslav Ryhel wrote:
> > Add bindings for Maxim MAX8971 charger.
> >
> > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> > ---
> >  .../bindings/power/supply/maxim,max8971.yaml  | 133 ++++++++++++++++++
> >  1 file changed, 133 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml b/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
> > new file mode 100644
> > index 000000000000..26b37e6f662f
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
> > @@ -0,0 +1,133 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/power/supply/maxim,max8971.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Maxim MAX8971 IC charger
> > +
> > +maintainers:
> > +  - Svyatoslav Ryhel <clamor95@gmail.com>
> > +
> > +description:
> > +  The MAX8971 is a compact, high-frequency, high-efficiency switch-mode
> > +  charger for a one-cell lithium-ion (Li+) battery.
> > +
> > +properties:
> > +  compatible:
> > +    const: maxim,max8971
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  interrupts:
> > +    maxItems: 1
> > +
> > +  extcon:
> > +    description:
> > +      Special device used to detect type of plug.
> > +    $ref: /schemas/types.yaml#/definitions/phandle
>
> You rather miss proper connector or ports. Which device pins are
> describbed here?
>

This is an optional phandle to extcon, which can detect plug type. If
extcon is provided, charger then can change its setup to better
provide supply to the battery. If no extcon is provided, device itself
can detect only the fact of charger without details about type.

>
> > +
> > +  maxim,fcharge-current-limit-microamp:
> > +    description:
> > +      Fast-Charge current limit
> > +    minimum: 250000
> > +    default: 500000
> > +    maximum: 1550000
> > +
> > +  maxim,fcharge-timer-hours:
> > +    description: |
> > +      Fast-Charge timer in hours. Setting this value 3 and lower or 11 and
> > +      higher will disable Fast-Charge timer.
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> > +    default: 5
> > +
> > +  maxim,fcharge-rst-threshold-high:
> > +    description:
> > +      Set Fast-Charge reset threshold to -100 mV
> > +    type: boolean
> > +
> > +  maxim,in-current-limit-microamp:
> > +    description:
> > +      Input current limit
> > +    minimum: 100000
> > +    default: 500000
> > +    maximum: 1500000
> > +
> > +  maxim,topoff-timer-minutes:
> > +    description:
> > +      Top-Off timer minutes
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> > +    enum: [0, 10, 20, 30, 40, 50, 60, 70]
> > +    default: 30
> > +
> > +  maxim,topoff-current-threshold-microamp:
> > +    description:
> > +      Top-Off current threshold
> > +    enum: [50000, 100000, 150000, 200000]
> > +    default: 50000
> > +
> > +  maxim,fcharge-usb-current-limit-microamp:
> > +    description:
> > +      Fast-Charge USB current limit
> > +    minimum: 100000
> > +    default: 500000
> > +    maximum: 1500000
> > +
> > +  maxim,fcharge-ac-current-limit-microamp:
> > +    description:
> > +      Fast-Charge AC current limit
> > +    minimum: 100000
> > +    default: 500000
> > +    maximum: 1500000
> > +
> > +  maxim,usb-in-current-limit-microamp:
> > +    description:
> > +      USB Input current limit
> > +    minimum: 100000
> > +    default: 500000
> > +    maximum: 1500000
> > +
> > +  maxim,ac-in-current-limit-microamp:
> > +    description:
> > +      AC Input current limit
> > +    minimum: 100000
> > +    default: 500000
> > +    maximum: 1500000
>
> For all or most of these you miss monitored batter.
>

This is a charger, it does not monitor battery. There is a fuel gauge
for that or a battery monitor.

> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - interrupts
> > +
>
> Missing allOf with ref to power supply.
>
> > +additionalProperties: false
>
> unevaluatedProperties instead, see other bindings.
>
> Best regards,
> Krzysztof
>
Krzysztof Kozlowski Feb. 23, 2025, 2:14 p.m. UTC | #3
On 23/02/2025 12:56, Svyatoslav Ryhel wrote:
> нд, 23 лют. 2025 р. о 13:43 Krzysztof Kozlowski <krzk@kernel.org> пише:
>>
>> On Fri, Feb 21, 2025 at 11:59:42AM +0200, Svyatoslav Ryhel wrote:
>>> Add bindings for Maxim MAX8971 charger.
>>>
>>> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
>>> ---
>>>  .../bindings/power/supply/maxim,max8971.yaml  | 133 ++++++++++++++++++
>>>  1 file changed, 133 insertions(+)
>>>  create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml b/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
>>> new file mode 100644
>>> index 000000000000..26b37e6f662f
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
>>> @@ -0,0 +1,133 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/power/supply/maxim,max8971.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Maxim MAX8971 IC charger
>>> +
>>> +maintainers:
>>> +  - Svyatoslav Ryhel <clamor95@gmail.com>
>>> +
>>> +description:
>>> +  The MAX8971 is a compact, high-frequency, high-efficiency switch-mode
>>> +  charger for a one-cell lithium-ion (Li+) battery.
>>> +
>>> +properties:
>>> +  compatible:
>>> +    const: maxim,max8971
>>> +
>>> +  reg:
>>> +    maxItems: 1
>>> +
>>> +  interrupts:
>>> +    maxItems: 1
>>> +
>>> +  extcon:
>>> +    description:
>>> +      Special device used to detect type of plug.
>>> +    $ref: /schemas/types.yaml#/definitions/phandle
>>
>> You rather miss proper connector or ports. Which device pins are
>> describbed here?
>>
> 
> This is an optional phandle to extcon, which can detect plug type. If

I know what is this, you just wrote. extcon property is not allowed anymore.

> extcon is provided, charger then can change its setup to better
> provide supply to the battery. If no extcon is provided, device itself
> can detect only the fact of charger without details about type.


> 
>>
>>> +
>>> +  maxim,fcharge-current-limit-microamp:
>>> +    description:
>>> +      Fast-Charge current limit
>>> +    minimum: 250000
>>> +    default: 500000
>>> +    maximum: 1550000
>>> +
>>> +  maxim,fcharge-timer-hours:
>>> +    description: |
>>> +      Fast-Charge timer in hours. Setting this value 3 and lower or 11 and
>>> +      higher will disable Fast-Charge timer.
>>> +    $ref: /schemas/types.yaml#/definitions/uint32
>>> +    default: 5
>>> +
>>> +  maxim,fcharge-rst-threshold-high:
>>> +    description:
>>> +      Set Fast-Charge reset threshold to -100 mV
>>> +    type: boolean
>>> +
>>> +  maxim,in-current-limit-microamp:
>>> +    description:
>>> +      Input current limit
>>> +    minimum: 100000
>>> +    default: 500000
>>> +    maximum: 1500000
>>> +
>>> +  maxim,topoff-timer-minutes:
>>> +    description:
>>> +      Top-Off timer minutes
>>> +    $ref: /schemas/types.yaml#/definitions/uint32
>>> +    enum: [0, 10, 20, 30, 40, 50, 60, 70]
>>> +    default: 30
>>> +
>>> +  maxim,topoff-current-threshold-microamp:
>>> +    description:
>>> +      Top-Off current threshold
>>> +    enum: [50000, 100000, 150000, 200000]
>>> +    default: 50000
>>> +
>>> +  maxim,fcharge-usb-current-limit-microamp:
>>> +    description:
>>> +      Fast-Charge USB current limit
>>> +    minimum: 100000
>>> +    default: 500000
>>> +    maximum: 1500000
>>> +
>>> +  maxim,fcharge-ac-current-limit-microamp:
>>> +    description:
>>> +      Fast-Charge AC current limit
>>> +    minimum: 100000
>>> +    default: 500000
>>> +    maximum: 1500000
>>> +
>>> +  maxim,usb-in-current-limit-microamp:
>>> +    description:
>>> +      USB Input current limit
>>> +    minimum: 100000
>>> +    default: 500000
>>> +    maximum: 1500000
>>> +
>>> +  maxim,ac-in-current-limit-microamp:
>>> +    description:
>>> +      AC Input current limit
>>> +    minimum: 100000
>>> +    default: 500000
>>> +    maximum: 1500000
>>
>> For all or most of these you miss monitored batter.
>>
> 
> This is a charger, it does not monitor battery. There is a fuel gauge
> for that or a battery monitor.
> 
What does charger charge? Battery or something else?

Best regards,
Krzysztof
Svyatoslav Ryhel Feb. 23, 2025, 2:28 p.m. UTC | #4
нд, 23 лют. 2025 р. о 16:14 Krzysztof Kozlowski <krzk@kernel.org> пише:
>
> On 23/02/2025 12:56, Svyatoslav Ryhel wrote:
> > нд, 23 лют. 2025 р. о 13:43 Krzysztof Kozlowski <krzk@kernel.org> пише:
> >>
> >> On Fri, Feb 21, 2025 at 11:59:42AM +0200, Svyatoslav Ryhel wrote:
> >>> Add bindings for Maxim MAX8971 charger.
> >>>
> >>> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> >>> ---
> >>>  .../bindings/power/supply/maxim,max8971.yaml  | 133 ++++++++++++++++++
> >>>  1 file changed, 133 insertions(+)
> >>>  create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml b/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
> >>> new file mode 100644
> >>> index 000000000000..26b37e6f662f
> >>> --- /dev/null
> >>> +++ b/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
> >>> @@ -0,0 +1,133 @@
> >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >>> +%YAML 1.2
> >>> +---
> >>> +$id: http://devicetree.org/schemas/power/supply/maxim,max8971.yaml#
> >>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >>> +
> >>> +title: Maxim MAX8971 IC charger
> >>> +
> >>> +maintainers:
> >>> +  - Svyatoslav Ryhel <clamor95@gmail.com>
> >>> +
> >>> +description:
> >>> +  The MAX8971 is a compact, high-frequency, high-efficiency switch-mode
> >>> +  charger for a one-cell lithium-ion (Li+) battery.
> >>> +
> >>> +properties:
> >>> +  compatible:
> >>> +    const: maxim,max8971
> >>> +
> >>> +  reg:
> >>> +    maxItems: 1
> >>> +
> >>> +  interrupts:
> >>> +    maxItems: 1
> >>> +
> >>> +  extcon:
> >>> +    description:
> >>> +      Special device used to detect type of plug.
> >>> +    $ref: /schemas/types.yaml#/definitions/phandle
> >>
> >> You rather miss proper connector or ports. Which device pins are
> >> describbed here?
> >>
> >
> > This is an optional phandle to extcon, which can detect plug type. If
>
> I know what is this, you just wrote. extcon property is not allowed anymore.
>

There is no helper for obtaining extcon via graph endpoint I am aware
of. Can you provide an example of graph parsing extcon helper?

> > extcon is provided, charger then can change its setup to better
> > provide supply to the battery. If no extcon is provided, device itself
> > can detect only the fact of charger without details about type.
>
>
> >
> >>
> >>> +
> >>> +  maxim,fcharge-current-limit-microamp:
> >>> +    description:
> >>> +      Fast-Charge current limit
> >>> +    minimum: 250000
> >>> +    default: 500000
> >>> +    maximum: 1550000
> >>> +
> >>> +  maxim,fcharge-timer-hours:
> >>> +    description: |
> >>> +      Fast-Charge timer in hours. Setting this value 3 and lower or 11 and
> >>> +      higher will disable Fast-Charge timer.
> >>> +    $ref: /schemas/types.yaml#/definitions/uint32
> >>> +    default: 5
> >>> +
> >>> +  maxim,fcharge-rst-threshold-high:
> >>> +    description:
> >>> +      Set Fast-Charge reset threshold to -100 mV
> >>> +    type: boolean
> >>> +
> >>> +  maxim,in-current-limit-microamp:
> >>> +    description:
> >>> +      Input current limit
> >>> +    minimum: 100000
> >>> +    default: 500000
> >>> +    maximum: 1500000
> >>> +
> >>> +  maxim,topoff-timer-minutes:
> >>> +    description:
> >>> +      Top-Off timer minutes
> >>> +    $ref: /schemas/types.yaml#/definitions/uint32
> >>> +    enum: [0, 10, 20, 30, 40, 50, 60, 70]
> >>> +    default: 30
> >>> +
> >>> +  maxim,topoff-current-threshold-microamp:
> >>> +    description:
> >>> +      Top-Off current threshold
> >>> +    enum: [50000, 100000, 150000, 200000]
> >>> +    default: 50000
> >>> +
> >>> +  maxim,fcharge-usb-current-limit-microamp:
> >>> +    description:
> >>> +      Fast-Charge USB current limit
> >>> +    minimum: 100000
> >>> +    default: 500000
> >>> +    maximum: 1500000
> >>> +
> >>> +  maxim,fcharge-ac-current-limit-microamp:
> >>> +    description:
> >>> +      Fast-Charge AC current limit
> >>> +    minimum: 100000
> >>> +    default: 500000
> >>> +    maximum: 1500000
> >>> +
> >>> +  maxim,usb-in-current-limit-microamp:
> >>> +    description:
> >>> +      USB Input current limit
> >>> +    minimum: 100000
> >>> +    default: 500000
> >>> +    maximum: 1500000
> >>> +
> >>> +  maxim,ac-in-current-limit-microamp:
> >>> +    description:
> >>> +      AC Input current limit
> >>> +    minimum: 100000
> >>> +    default: 500000
> >>> +    maximum: 1500000
> >>
> >> For all or most of these you miss monitored batter.
> >>
> >
> > This is a charger, it does not monitor battery. There is a fuel gauge
> > for that or a battery monitor.
> >
> What does charger charge? Battery or something else?
>

Anything it is linked to. Moreover ref to power supply is not needed
since properties from there are not relevant to this driver.
monitored-battery refers to a simple battery cell, which has nothing
to do with charger and power-supplies is irrelevant since this device
is on its own a power-supplies for battery/fuel gauge.

> Best regards,
> Krzysztof
Svyatoslav Ryhel Feb. 24, 2025, 8:28 a.m. UTC | #5
пн, 24 лют. 2025 р. о 10:23 Krzysztof Kozlowski <krzk@kernel.org> пише:
>
> On 23/02/2025 15:28, Svyatoslav Ryhel wrote:
> >>>>> +  extcon:
> >>>>> +    description:
> >>>>> +      Special device used to detect type of plug.
> >>>>> +    $ref: /schemas/types.yaml#/definitions/phandle
> >>>>
> >>>> You rather miss proper connector or ports. Which device pins are
> >>>> describbed here?
> >>>>
> >>>
> >>> This is an optional phandle to extcon, which can detect plug type. If
> >>
> >> I know what is this, you just wrote. extcon property is not allowed anymore.
> >>
> >
> > There is no helper for obtaining extcon via graph endpoint I am aware
> > of. Can you provide an example of graph parsing extcon helper?
>
> Most of recent drivers have the same problem and they solved it somehow
> without introducing 'extcon' property.
>
> >
> >>> extcon is provided, charger then can change its setup to better
> >>> provide supply to the battery. If no extcon is provided, device itself
> >>> can detect only the fact of charger without details about type.
> >>
> >>
> >>>
> >>>>
> >>>>> +
> >>>>> +  maxim,fcharge-current-limit-microamp:
> >>>>> +    description:
> >>>>> +      Fast-Charge current limit
> >>>>> +    minimum: 250000
> >>>>> +    default: 500000
> >>>>> +    maximum: 1550000
> >>>>> +
> >>>>> +  maxim,fcharge-timer-hours:
> >>>>> +    description: |
> >>>>> +      Fast-Charge timer in hours. Setting this value 3 and lower or 11 and
> >>>>> +      higher will disable Fast-Charge timer.
> >>>>> +    $ref: /schemas/types.yaml#/definitions/uint32
> >>>>> +    default: 5
> >>>>> +
> >>>>> +  maxim,fcharge-rst-threshold-high:
> >>>>> +    description:
> >>>>> +      Set Fast-Charge reset threshold to -100 mV
> >>>>> +    type: boolean
> >>>>> +
> >>>>> +  maxim,in-current-limit-microamp:
> >>>>> +    description:
> >>>>> +      Input current limit
> >>>>> +    minimum: 100000
> >>>>> +    default: 500000
> >>>>> +    maximum: 1500000
> >>>>> +
> >>>>> +  maxim,topoff-timer-minutes:
> >>>>> +    description:
> >>>>> +      Top-Off timer minutes
> >>>>> +    $ref: /schemas/types.yaml#/definitions/uint32
> >>>>> +    enum: [0, 10, 20, 30, 40, 50, 60, 70]
> >>>>> +    default: 30
> >>>>> +
> >>>>> +  maxim,topoff-current-threshold-microamp:
> >>>>> +    description:
> >>>>> +      Top-Off current threshold
> >>>>> +    enum: [50000, 100000, 150000, 200000]
> >>>>> +    default: 50000
> >>>>> +
> >>>>> +  maxim,fcharge-usb-current-limit-microamp:
> >>>>> +    description:
> >>>>> +      Fast-Charge USB current limit
> >>>>> +    minimum: 100000
> >>>>> +    default: 500000
> >>>>> +    maximum: 1500000
> >>>>> +
> >>>>> +  maxim,fcharge-ac-current-limit-microamp:
> >>>>> +    description:
> >>>>> +      Fast-Charge AC current limit
> >>>>> +    minimum: 100000
> >>>>> +    default: 500000
> >>>>> +    maximum: 1500000
> >>>>> +
> >>>>> +  maxim,usb-in-current-limit-microamp:
> >>>>> +    description:
> >>>>> +      USB Input current limit
> >>>>> +    minimum: 100000
> >>>>> +    default: 500000
> >>>>> +    maximum: 1500000
> >>>>> +
> >>>>> +  maxim,ac-in-current-limit-microamp:
> >>>>> +    description:
> >>>>> +      AC Input current limit
> >>>>> +    minimum: 100000
> >>>>> +    default: 500000
> >>>>> +    maximum: 1500000
> >>>>
> >>>> For all or most of these you miss monitored batter.
> >>>>
> >>>
> >>> This is a charger, it does not monitor battery. There is a fuel gauge
> >>> for that or a battery monitor.
> >>>
> >> What does charger charge? Battery or something else?
> >>
> >
> > Anything it is linked to. Moreover ref to power supply is not needed
>
> Not true. I opened datasheet and it clearly says:
> "1-Cell Li+ charger".
>
> It cannot charge other things properly, so it cannot charge "anything".
> It only charges batteries.
>
> "The MAX8971 is a compact, high-frequency, high-effi-
> ciency switch-mode charger for a one-cell lithium-ion (Li+)
> battery. "
>
> > since properties from there are not relevant to this driver.
>
> We talk about hardware here.
>
> > monitored-battery refers to a simple battery cell, which has nothing
> > to do with charger and power-supplies is irrelevant since this device
>
> battery cell has everything to do with charger because it describes the
> characteristic of what device you are charging: e.g. maximum input
> current or top-off currents, which you define here as well.
>
> You are duplicating some properties and adding some which are not DT at
> all (all timers). Look how other devices do it.
>

OK

>
> Best regards,
> Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml b/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
new file mode 100644
index 000000000000..26b37e6f662f
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
@@ -0,0 +1,133 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/supply/maxim,max8971.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Maxim MAX8971 IC charger
+
+maintainers:
+  - Svyatoslav Ryhel <clamor95@gmail.com>
+
+description:
+  The MAX8971 is a compact, high-frequency, high-efficiency switch-mode
+  charger for a one-cell lithium-ion (Li+) battery.
+
+properties:
+  compatible:
+    const: maxim,max8971
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  extcon:
+    description:
+      Special device used to detect type of plug.
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+  maxim,fcharge-current-limit-microamp:
+    description:
+      Fast-Charge current limit
+    minimum: 250000
+    default: 500000
+    maximum: 1550000
+
+  maxim,fcharge-timer-hours:
+    description: |
+      Fast-Charge timer in hours. Setting this value 3 and lower or 11 and
+      higher will disable Fast-Charge timer.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    default: 5
+
+  maxim,fcharge-rst-threshold-high:
+    description:
+      Set Fast-Charge reset threshold to -100 mV
+    type: boolean
+
+  maxim,in-current-limit-microamp:
+    description:
+      Input current limit
+    minimum: 100000
+    default: 500000
+    maximum: 1500000
+
+  maxim,topoff-timer-minutes:
+    description:
+      Top-Off timer minutes
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [0, 10, 20, 30, 40, 50, 60, 70]
+    default: 30
+
+  maxim,topoff-current-threshold-microamp:
+    description:
+      Top-Off current threshold
+    enum: [50000, 100000, 150000, 200000]
+    default: 50000
+
+  maxim,fcharge-usb-current-limit-microamp:
+    description:
+      Fast-Charge USB current limit
+    minimum: 100000
+    default: 500000
+    maximum: 1500000
+
+  maxim,fcharge-ac-current-limit-microamp:
+    description:
+      Fast-Charge AC current limit
+    minimum: 100000
+    default: 500000
+    maximum: 1500000
+
+  maxim,usb-in-current-limit-microamp:
+    description:
+      USB Input current limit
+    minimum: 100000
+    default: 500000
+    maximum: 1500000
+
+  maxim,ac-in-current-limit-microamp:
+    description:
+      AC Input current limit
+    minimum: 100000
+    default: 500000
+    maximum: 1500000
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        charger@35 {
+            compatible = "maxim,max8971";
+            reg = <0x35>;
+
+            interrupt-parent = <&gpio>;
+            interrupts = <74 IRQ_TYPE_LEVEL_LOW>;
+
+            maxim,fcharge-ac-current-limit-microamp = <900000>;
+            maxim,fcharge-timer-hours = <0>;
+
+            maxim,fcharge-rst-threshold-high;
+            maxim,ac-in-current-limit-microamp = <1200000>;
+
+            maxim,topoff-timer-minutes = <0>;
+            maxim,topoff-current-threshold-microamp = <200000>;
+
+            extcon = <&extcon>;
+        };
+    };
+...