162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/power/supply/active-semi,act8945a-charger.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Active-semi ACT8945A Charger Function
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Sebastian Reichel <sre@kernel.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciallOf:
1362306a36Sopenharmony_ci  - $ref: power-supply.yaml#
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciproperties:
1662306a36Sopenharmony_ci  compatible:
1762306a36Sopenharmony_ci    const: active-semi,act8945a-charger
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci  interrupts:
2062306a36Sopenharmony_ci    maxItems: 1
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci  active-semi,chglev-gpios:
2362306a36Sopenharmony_ci    maxItems: 1
2462306a36Sopenharmony_ci    description: charge current level GPIO
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  active-semi,lbo-gpios:
2762306a36Sopenharmony_ci    maxItems: 1
2862306a36Sopenharmony_ci    description: low battery voltage detect GPIO
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci  active-semi,input-voltage-threshold-microvolt:
3162306a36Sopenharmony_ci    description: |
3262306a36Sopenharmony_ci      Specifies the charger's input over-voltage threshold value.
3362306a36Sopenharmony_ci      Despite the name, specified values are in millivolt (mV).
3462306a36Sopenharmony_ci      Defaults to 6.6 V
3562306a36Sopenharmony_ci    enum: [ 6600, 7000, 7500, 8000 ]
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  active-semi,precondition-timeout:
3862306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
3962306a36Sopenharmony_ci    description: |
4062306a36Sopenharmony_ci      Specifies the charger's PRECONDITION safety timer setting value in minutes.
4162306a36Sopenharmony_ci      If 0, it means to disable this timer.
4262306a36Sopenharmony_ci      Defaults to 40 minutes.
4362306a36Sopenharmony_ci    enum: [ 0, 40, 60, 80 ]
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  active-semi,total-timeout:
4662306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
4762306a36Sopenharmony_ci    description: |
4862306a36Sopenharmony_ci      Specifies the charger's total safety timer setting value in hours;
4962306a36Sopenharmony_ci      If 0, it means to disable this timer;
5062306a36Sopenharmony_ci      Defaults to 3 hours.
5162306a36Sopenharmony_ci    enum: [ 0, 3, 4, 5 ]
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_cirequired:
5462306a36Sopenharmony_ci  - compatible
5562306a36Sopenharmony_ci  - interrupts
5662306a36Sopenharmony_ci  - active-semi,chglev-gpios
5762306a36Sopenharmony_ci  - active-semi,lbo-gpios
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciadditionalProperties: false
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ciexamples:
6262306a36Sopenharmony_ci  - |
6362306a36Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
6462306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
6562306a36Sopenharmony_ci    pmic {
6662306a36Sopenharmony_ci      charger {
6762306a36Sopenharmony_ci        compatible = "active-semi,act8945a-charger";
6862306a36Sopenharmony_ci        interrupt-parent = <&pioA>;
6962306a36Sopenharmony_ci        interrupts = <45 IRQ_TYPE_LEVEL_LOW>;
7062306a36Sopenharmony_ci        active-semi,chglev-gpios = <&pioA 12 GPIO_ACTIVE_HIGH>;
7162306a36Sopenharmony_ci        active-semi,lbo-gpios = <&pioA 72 GPIO_ACTIVE_LOW>;
7262306a36Sopenharmony_ci        active-semi,input-voltage-threshold-microvolt = <6600>;
7362306a36Sopenharmony_ci        active-semi,precondition-timeout = <40>;
7462306a36Sopenharmony_ci        active-semi,total-timeout = <3>;
7562306a36Sopenharmony_ci      };
7662306a36Sopenharmony_ci    };
77