Merge tag 'dt-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / power / supply / bq24257.yaml
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/bq24257.yaml#"
6 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
7
8 title: Binding for bq24250, bq24251 and bq24257 Li-Ion Charger
9
10 maintainers:
11   - Sebastian Reichel <sre@kernel.org>
12
13 allOf:
14   - $ref: power-supply.yaml#
15
16 properties:
17   compatible:
18     enum:
19       - ti,bq24250
20       - ti,bq24251
21       - ti,bq24257
22
23   reg:
24     maxItems: 1
25
26   interrupts:
27     maxItems: 1
28
29   ti,battery-regulation-voltage:
30     $ref: /schemas/types.yaml#/definitions/uint32
31     description: maximum charging voltage in uV
32
33   ti,charge-current:
34     $ref: /schemas/types.yaml#/definitions/uint32
35     description: maximum charging current in uA
36
37   ti,termination-current:
38     $ref: /schemas/types.yaml#/definitions/uint32
39     description: |
40       charge will be terminated when current in constant-voltage phase
41       drops below this value (in uA)
42
43   pg-gpios:
44     description: |
45       GPIO used for connecting the bq2425x device PG (Power Good) pin.
46       This pin is not available on all devices however it should be used if
47       possible as this is the recommended way to obtain the charger's input PG
48       state. If this pin is not specified a software-based approach for PG
49       detection is used.
50     maxItems: 1
51
52   ti,current-limit:
53     $ref: /schemas/types.yaml#/definitions/uint32
54     description: |
55       The maximum current to be drawn from the charger's input (in uA).
56       If this property is not specified, the input limit current is set
57       automatically using USB D+/D- signal based charger type detection.
58       If the hardware does not support the D+/D- based detection, a default
59       of 500,000 is used (=500mA) instead.
60
61   ti,ovp-voltage:
62     $ref: /schemas/types.yaml#/definitions/uint32
63     description: |
64       Configures the over voltage protection voltage (in uV).
65       If not specified a default of 6,5000,000 (=6.5V) is used.
66
67   ti,in-dpm-voltage:
68     $ref: /schemas/types.yaml#/definitions/uint32
69     description: |
70       Configures the threshold input voltage for the dynamic power path management (in uV).
71       If not specified a default of 4,360,000 (=4.36V) is used.
72
73 required:
74   - compatible
75   - reg
76   - interrupts
77   - ti,battery-regulation-voltage
78   - ti,charge-current
79   - ti,termination-current
80
81 additionalProperties: false
82
83 examples:
84   - |
85     #include <dt-bindings/gpio/gpio.h>
86     #include <dt-bindings/interrupt-controller/irq.h>
87     i2c0 {
88       #address-cells = <1>;
89       #size-cells = <0>;
90
91       charger@6a {
92         compatible = "ti,bq24257";
93         reg = <0x6a>;
94         interrupt-parent = <&gpio1>;
95         interrupts = <16 IRQ_TYPE_EDGE_BOTH>;
96
97         pg-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
98
99         ti,battery-regulation-voltage = <4200000>;
100         ti,charge-current = <1000000>;
101         ti,termination-current = <50000>;
102       };
103     };
104   - |
105     #include <dt-bindings/gpio/gpio.h>
106     #include <dt-bindings/interrupt-controller/irq.h>
107     i2c0 {
108       #address-cells = <1>;
109       #size-cells = <0>;
110
111       charger@6a {
112         compatible = "ti,bq24250";
113         reg = <0x6a>;
114         interrupt-parent = <&gpio1>;
115         interrupts = <16 IRQ_TYPE_EDGE_BOTH>;
116
117         ti,battery-regulation-voltage = <4200000>;
118         ti,charge-current = <500000>;
119         ti,termination-current = <50000>;
120         ti,current-limit = <900000>;
121         ti,ovp-voltage = <9500000>;
122         ti,in-dpm-voltage = <4440000>;
123       };
124     };