diff mbox series

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

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

Commit Message

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

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

Comments

Krzysztof Kozlowski Feb. 27, 2025, 10:45 a.m. UTC | #1
On Wed, Feb 26, 2025 at 11:36:59AM +0200, Svyatoslav Ryhel wrote:
> +  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

You still did not answer why this is board specific. This was rejected
in the past because of that reason and nothing here changed. Nothing
will change without detailed explanation, so use other interfaces if you
need user-space to configure it (see other drivers, e.g. maxim)

> +
> +  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

Same.

> +
> +  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

Half of these properties as well are not suitable and duplicate existing
sysfs interface.

And for remaining, still no battery.

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..91d9fec1d46a
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/maxim,max8971.yaml
@@ -0,0 +1,140 @@ 
+# 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.
+
+allOf:
+  - $ref: power-supply.yaml#
+
+properties:
+  compatible:
+    const: maxim,max8971
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  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
+
+  port:
+    description:
+      An optional port node to link the extcon device to detect type of plug.
+    $ref: /schemas/graph.yaml#/properties/port
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+unevaluatedProperties: 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>;
+
+            port {
+                charger_input: endpoint {
+                    remote-endpoint = <&extcon_output>;
+                };
+            };
+        };
+    };
+...