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/bq24190.yaml#"
6$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7
8title: Binding for TI BQ2419x Li-Ion Battery Charger
9
10maintainers:
11  - Sebastian Reichel <sre@kernel.org>
12
13allOf:
14  - $ref: power-supply.yaml#
15
16properties:
17  compatible:
18    enum:
19      - ti,bq24190
20      - ti,bq24192
21      - ti,bq24192i
22      - ti,bq24196
23
24  reg:
25    maxItems: 1
26
27  interrupts:
28    maxItems: 1
29
30  usb-otg-vbus:
31    type: object
32    description: |
33      Regulator that is used to control the VBUS voltage direction for
34      either USB host mode or for charging on the OTG port
35
36  ti,system-minimum-microvolt:
37    description: |
38      when power is connected and the battery is below minimum system voltage,
39      the system will be regulated above this setting.
40
41  omit-battery-class:
42    type: boolean
43    description: |
44      If this property is set, the operating system does not try to create a
45      battery device.
46
47  monitored-battery:
48    $ref: /schemas/types.yaml#/definitions/phandle
49    description: |
50      phandle to a "simple-battery" compatible node.
51
52      This property must be a phandle to a node using the format described
53      in battery.yaml, with the following properties being required:
54      - precharge-current-microamp: maximum charge current during precharge phase
55                                    (typically 20% of battery capacity).
56      - charge-term-current-microamp: a charge cycle terminates when the battery voltage is
57                                      above recharge threshold, and the current is below this
58                                      setting (typically 10% of battery capacity).
59
60required:
61  - compatible
62  - reg
63  - interrupts
64
65additionalProperties: false
66
67examples:
68  - |
69    #include <dt-bindings/gpio/gpio.h>
70    #include <dt-bindings/interrupt-controller/irq.h>
71
72    bat: battery {
73      compatible = "simple-battery";
74      precharge-current-microamp = <256000>;
75      charge-term-current-microamp = <128000>;
76    };
77
78    i2c0 {
79      #address-cells = <1>;
80      #size-cells = <0>;
81
82      charger@6a {
83        compatible = "ti,bq24190";
84        reg = <0x6a>;
85        interrupt-parent = <&gpiochip>;
86        interrupts = <10 IRQ_TYPE_EDGE_FALLING>;
87        monitored-battery = <&bat>;
88        ti,system-minimum-microvolt = <3200000>;
89
90        usb_otg_vbus: usb-otg-vbus { };
91      };
92    };
93