xref: /linux/Documentation/devicetree/bindings/power/supply/sgmicro,sgm41542.yaml (revision 2be02a7c996aa733bb36e29e07715621b0de9736)
1*15c53209SChris Morgan# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*15c53209SChris Morgan%YAML 1.2
3*15c53209SChris Morgan---
4*15c53209SChris Morgan$id: http://devicetree.org/schemas/power/supply/sgmicro,sgm41542.yaml#
5*15c53209SChris Morgan$schema: http://devicetree.org/meta-schemas/core.yaml#
6*15c53209SChris Morgan
7*15c53209SChris Morgantitle: SGM41542 Battery Charger
8*15c53209SChris Morgan
9*15c53209SChris Morgandescription:
10*15c53209SChris Morgan  The SGMicro SGM41542 is a single cell battery charger/boost controller.
11*15c53209SChris Morgan
12*15c53209SChris Morganmaintainers:
13*15c53209SChris Morgan  - Chris Morgan <macromorgan@hotmail.com>
14*15c53209SChris Morgan  - Xu Shengfei <xsf@rock-chips.com>
15*15c53209SChris Morgan
16*15c53209SChris MorganallOf:
17*15c53209SChris Morgan  - $ref: power-supply.yaml#
18*15c53209SChris Morgan
19*15c53209SChris Morganproperties:
20*15c53209SChris Morgan  compatible:
21*15c53209SChris Morgan    const: sgmicro,sgm41542
22*15c53209SChris Morgan
23*15c53209SChris Morgan  input-current-limit-microamp:
24*15c53209SChris Morgan    default: 2400000
25*15c53209SChris Morgan    minimum: 100000
26*15c53209SChris Morgan    maximum: 3800000
27*15c53209SChris Morgan
28*15c53209SChris Morgan  input-voltage-limit-microvolt:
29*15c53209SChris Morgan    default: 4500000
30*15c53209SChris Morgan    minimum: 3900000
31*15c53209SChris Morgan    maximum: 12000000
32*15c53209SChris Morgan
33*15c53209SChris Morgan  interrupts:
34*15c53209SChris Morgan    maxItems: 1
35*15c53209SChris Morgan
36*15c53209SChris Morgan  monitored-battery:
37*15c53209SChris Morgan    description: |
38*15c53209SChris Morgan        The charger uses the following battery properties
39*15c53209SChris Morgan        constant-charge-current-max-microamp (default 2040000)
40*15c53209SChris Morgan        constant-charge-voltage-max-microvolt (default 4208000)
41*15c53209SChris Morgan        charge-term-current-microamp (default 180000)
42*15c53209SChris Morgan        precharge-current-microamp (default 180000)
43*15c53209SChris Morgan
44*15c53209SChris Morgan  reg:
45*15c53209SChris Morgan    maxItems: 1
46*15c53209SChris Morgan
47*15c53209SChris Morgan  regulators:
48*15c53209SChris Morgan    type: object
49*15c53209SChris Morgan    properties:
50*15c53209SChris Morgan      otg-vbus:
51*15c53209SChris Morgan        type: object
52*15c53209SChris Morgan        description: OTG boost regulator
53*15c53209SChris Morgan        $ref: /schemas/regulator/regulator.yaml
54*15c53209SChris Morgan        unevaluatedProperties: false
55*15c53209SChris Morgan    additionalProperties: false
56*15c53209SChris Morgan
57*15c53209SChris Morganrequired:
58*15c53209SChris Morgan  - compatible
59*15c53209SChris Morgan  - reg
60*15c53209SChris Morgan
61*15c53209SChris MorganunevaluatedProperties: false
62*15c53209SChris Morgan
63*15c53209SChris Morganexamples:
64*15c53209SChris Morgan  - |
65*15c53209SChris Morgan    #include <dt-bindings/gpio/gpio.h>
66*15c53209SChris Morgan    #include <dt-bindings/interrupt-controller/irq.h>
67*15c53209SChris Morgan
68*15c53209SChris Morgan    battery: battery {
69*15c53209SChris Morgan      compatible = "simple-battery";
70*15c53209SChris Morgan      constant-charge-current-max-microamp = <10000000>;
71*15c53209SChris Morgan      constant-charge-voltage-max-microvolt = <4350000>;
72*15c53209SChris Morgan      precharge-current-microamp = <180000>;
73*15c53209SChris Morgan      charge-term-current-microamp = <300000>;
74*15c53209SChris Morgan    };
75*15c53209SChris Morgan
76*15c53209SChris Morgan    i2c {
77*15c53209SChris Morgan      #address-cells = <1>;
78*15c53209SChris Morgan      #size-cells = <0>;
79*15c53209SChris Morgan
80*15c53209SChris Morgan      charger@3b {
81*15c53209SChris Morgan        compatible = "sgmicro,sgm41542";
82*15c53209SChris Morgan        reg = <0x3b>;
83*15c53209SChris Morgan        input-current-limit-microamp = <3000000>;
84*15c53209SChris Morgan        input-voltage-limit-microvolt = <4500000>;
85*15c53209SChris Morgan        interrupt-parent = <&gpio0>;
86*15c53209SChris Morgan        interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
87*15c53209SChris Morgan        monitored-battery = <&battery>;
88*15c53209SChris Morgan
89*15c53209SChris Morgan        regulators {
90*15c53209SChris Morgan          otg-vbus {
91*15c53209SChris Morgan            regulator-max-microvolt = <5000000>;
92*15c53209SChris Morgan            regulator-min-microvolt = <5000000>;
93*15c53209SChris Morgan          };
94*15c53209SChris Morgan        };
95*15c53209SChris Morgan      };
96*15c53209SChris Morgan    };
97