summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/power/supply/bq24257.yaml
blob: c7406bef0fa8fc23b1fb63129c9622ffdd9cb2ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2021 Sebastian Reichel
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/supply/bq24257.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Binding for bq24250, bq24251 and bq24257 Li-Ion Charger

maintainers:
  - Sebastian Reichel <sre@kernel.org>

allOf:
  - $ref: power-supply.yaml#

properties:
  compatible:
    enum:
      - ti,bq24250
      - ti,bq24251
      - ti,bq24257

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  ti,battery-regulation-voltage:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: maximum charging voltage in uV

  ti,charge-current:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: maximum charging current in uA

  ti,termination-current:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: |
      charge will be terminated when current in constant-voltage phase
      drops below this value (in uA)

  pg-gpios:
    description: |
      GPIO used for connecting the bq2425x device PG (Power Good) pin.
      This pin is not available on all devices however it should be used if
      possible as this is the recommended way to obtain the charger's input PG
      state. If this pin is not specified a software-based approach for PG
      detection is used.
    maxItems: 1

  ti,current-limit:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: |
      The maximum current to be drawn from the charger's input (in uA).
      If this property is not specified, the input limit current is set
      automatically using USB D+/D- signal based charger type detection.
      If the hardware does not support the D+/D- based detection, a default
      of 500,000 is used (=500mA) instead.

  ti,ovp-voltage:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: |
      Configures the over voltage protection voltage (in uV).
      If not specified a default of 6,5000,000 (=6.5V) is used.

  ti,in-dpm-voltage:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: |
      Configures the threshold input voltage for the dynamic power path management (in uV).
      If not specified a default of 4,360,000 (=4.36V) is used.

required:
  - compatible
  - reg
  - interrupts
  - ti,battery-regulation-voltage
  - ti,charge-current
  - ti,termination-current

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c0 {
      #address-cells = <1>;
      #size-cells = <0>;

      charger@6a {
        compatible = "ti,bq24257";
        reg = <0x6a>;
        interrupt-parent = <&gpio1>;
        interrupts = <16 IRQ_TYPE_EDGE_BOTH>;

        pg-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;

        ti,battery-regulation-voltage = <4200000>;
        ti,charge-current = <1000000>;
        ti,termination-current = <50000>;
      };
    };
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c0 {
      #address-cells = <1>;
      #size-cells = <0>;

      charger@6a {
        compatible = "ti,bq24250";
        reg = <0x6a>;
        interrupt-parent = <&gpio1>;
        interrupts = <16 IRQ_TYPE_EDGE_BOTH>;

        ti,battery-regulation-voltage = <4200000>;
        ti,charge-current = <500000>;
        ti,termination-current = <50000>;
        ti,current-limit = <900000>;
        ti,ovp-voltage = <9500000>;
        ti,in-dpm-voltage = <4440000>;
      };
    };