1# SPDX-License-Identifier: GPL-2.0
2# Copyright (C) 2021 Sebastian Reichel
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/power/supply/bq25890.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Bq25890, bq25892, bq25895 and bq25896 Li-Ion Charger
9
10maintainers:
11  - Sebastian Reichel <sre@kernel.org>
12
13allOf:
14  - $ref: power-supply.yaml#
15
16properties:
17  compatible:
18    oneOf:
19      - enum:
20          - ti,bq25890
21      - items:
22          - enum:
23              - ti,bq25892
24              - ti,bq25895
25              - ti,bq25896
26          - const: ti,bq25890
27
28  reg:
29    maxItems: 1
30
31  interrupts:
32    maxItems: 1
33
34  ti,battery-regulation-voltage:
35    $ref: /schemas/types.yaml#/definitions/uint32
36    description: maximum charging voltage (in uV)
37
38  ti,charge-current:
39    $ref: /schemas/types.yaml#/definitions/uint32
40    description: maximum charging current (in uA)
41
42  ti,termination-current:
43    $ref: /schemas/types.yaml#/definitions/uint32
44    description: |
45      charge will be terminated when current in constant-voltage phase
46      drops below this value (in uA)
47
48  ti,precharge-current:
49    $ref: /schemas/types.yaml#/definitions/uint32
50    description: maximum charge current during precharge phase (in uA)
51
52  ti,minimum-sys-voltage:
53    $ref: /schemas/types.yaml#/definitions/uint32
54    description: |
55      when battery is charging and it is below minimum system voltage,
56      the system will be regulated above minimum-sys-voltage setting (in uV)
57
58  ti,boost-voltage:
59    $ref: /schemas/types.yaml#/definitions/uint32
60    description: VBUS voltage level in boost mode (in uV)
61
62  ti,boost-max-current:
63    $ref: /schemas/types.yaml#/definitions/uint32
64    description: maximum allowed current draw in boost mode (in uA)
65
66  ti,boost-low-freq:
67    description: boost mode frequency will be 500kHz, otherwise 1.5MHz
68    type: boolean
69
70  ti,use-ilim-pin:
71    description: |
72      ILIM resistor will be used and the input current will be the lower
73      between the resistor setting and the IINLIM register setting
74    type: boolean
75
76  ti,thermal-regulation-threshold:
77    $ref: /schemas/types.yaml#/definitions/uint32
78    description: |
79      temperature above which the charge current is lowered, to avoid overheating
80      (in degrees Celsius). If omitted, the default setting will be used (120 degrees)
81
82  ti,ibatcomp-micro-ohms:
83    description: value of a resistor in series with the battery (in Micro Ohms)
84
85  ti,ibatcomp-clamp-microvolt:
86    description: max. charging voltage adjustment due to expected voltage drop on in-series resistor
87
88required:
89  - compatible
90  - reg
91  - interrupts
92  - ti,battery-regulation-voltage
93  - ti,charge-current
94  - ti,termination-current
95  - ti,precharge-current
96  - ti,minimum-sys-voltage
97  - ti,boost-voltage
98  - ti,boost-max-current
99
100unevaluatedProperties: false
101
102examples:
103  - |
104    #include <dt-bindings/interrupt-controller/irq.h>
105    i2c {
106      #address-cells = <1>;
107      #size-cells = <0>;
108
109      charger@6a {
110        compatible = "ti,bq25890";
111        reg = <0x6a>;
112
113        interrupt-parent = <&gpio1>;
114        interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
115
116        ti,battery-regulation-voltage = <4200000>;
117        ti,charge-current = <1000000>;
118        ti,termination-current = <50000>;
119        ti,precharge-current = <128000>;
120        ti,minimum-sys-voltage = <3600000>;
121        ti,boost-voltage = <5000000>;
122        ti,boost-max-current = <1000000>;
123
124        ti,use-ilim-pin;
125        ti,thermal-regulation-threshold = <120>;
126      };
127    };
128