1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: "http://devicetree.org/schemas/power/supply/active-semi,act8945a-charger.yaml#"
5$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7title: Active-semi ACT8945A Charger Function
8
9maintainers:
10  - Sebastian Reichel <sre@kernel.org>
11
12allOf:
13  - $ref: power-supply.yaml#
14
15properties:
16  compatible:
17    const: active-semi,act8945a-charger
18
19  interrupts:
20    maxItems: 1
21
22  active-semi,chglev-gpios:
23    maxItems: 1
24    description: charge current level GPIO
25
26  active-semi,lbo-gpios:
27    maxItems: 1
28    description: low battery voltage detect GPIO
29
30  active-semi,input-voltage-threshold-microvolt:
31    description: |
32      Specifies the charger's input over-voltage threshold value.
33      Despite the name, specified values are in millivolt (mV).
34      Defaults to 6.6 V
35    enum: [ 6600, 7000, 7500, 8000 ]
36
37  active-semi,precondition-timeout:
38    $ref: /schemas/types.yaml#/definitions/uint32
39    description: |
40      Specifies the charger's PRECONDITION safety timer setting value in minutes.
41      If 0, it means to disable this timer.
42      Defaults to 40 minutes.
43    enum: [ 0, 40, 60, 80 ]
44
45  active-semi,total-timeout:
46    $ref: /schemas/types.yaml#/definitions/uint32
47    description: |
48      Specifies the charger's total safety timer setting value in hours;
49      If 0, it means to disable this timer;
50      Defaults to 3 hours.
51    enum: [ 0, 3, 4, 5 ]
52
53required:
54  - compatible
55  - interrupts
56  - active-semi,chglev-gpios
57  - active-semi,lbo-gpios
58
59additionalProperties: false
60
61examples:
62  - |
63    #include <dt-bindings/gpio/gpio.h>
64    #include <dt-bindings/interrupt-controller/irq.h>
65    pmic {
66      charger {
67        compatible = "active-semi,act8945a-charger";
68        interrupt-parent = <&pioA>;
69        interrupts = <45 IRQ_TYPE_LEVEL_LOW>;
70        active-semi,chglev-gpios = <&pioA 12 GPIO_ACTIVE_HIGH>;
71        active-semi,lbo-gpios = <&pioA 72 GPIO_ACTIVE_LOW>;
72        active-semi,input-voltage-threshold-microvolt = <6600>;
73        active-semi,precondition-timeout = <40>;
74        active-semi,total-timeout = <3>;
75      };
76    };
77