xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/richtek,rt5033.yaml (revision a0ca4af9455b844c5e094fc1b09b1390ffa979fc)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/richtek,rt5033.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Richtek RT5033 Power Management Integrated Circuit
8
9maintainers:
10  - Jakob Hauser <jahau@rocketmail.com>
11
12description:
13  RT5033 is a multifunction device which includes battery charger, fuel gauge,
14  flash LED current source, LDO and synchronous Buck converter for portable
15  applications. It is interfaced to host controller using I2C interface. The
16  battery fuel gauge uses a separate I2C bus.
17
18properties:
19  compatible:
20    const: richtek,rt5033
21
22  reg:
23    maxItems: 1
24
25  interrupts:
26    maxItems: 1
27
28  regulators:
29    description:
30      The regulators of RT5033 have to be instantiated under a sub-node named
31      "regulators". For SAFE_LDO voltage there is only one value of 4.9 V. LDO
32      voltage ranges from 1.2 V to 3.0 V in 0.1 V steps. BUCK voltage ranges
33      from 1.0 V to 3.0 V in 0.1 V steps.
34    type: object
35    patternProperties:
36      "^(SAFE_LDO|LDO|BUCK)$":
37        type: object
38        $ref: /schemas/regulator/regulator.yaml#
39        unevaluatedProperties: false
40    additionalProperties: false
41
42  charger:
43    type: object
44    $ref: /schemas/power/supply/richtek,rt5033-charger.yaml#
45
46required:
47  - compatible
48  - reg
49  - interrupts
50
51additionalProperties: false
52
53examples:
54  - |
55    #include <dt-bindings/interrupt-controller/irq.h>
56
57    battery: battery {
58        compatible = "simple-battery";
59        precharge-current-microamp = <450000>;
60        constant-charge-current-max-microamp = <1000000>;
61        charge-term-current-microamp = <150000>;
62        precharge-upper-limit-microvolt = <3500000>;
63        constant-charge-voltage-max-microvolt = <4350000>;
64    };
65
66    extcon {
67        usb_con: connector {
68            compatible = "usb-b-connector";
69            label = "micro-USB";
70            type = "micro";
71        };
72    };
73
74    i2c {
75        #address-cells = <1>;
76        #size-cells = <0>;
77
78        i2c@0 {
79            #address-cells = <1>;
80            #size-cells = <0>;
81            reg = <0>;
82
83            fuel-gauge@35 {
84                compatible = "richtek,rt5033-battery";
85                reg = <0x35>;
86
87                interrupt-parent = <&msmgpio>;
88                interrupts = <121 IRQ_TYPE_EDGE_FALLING>;
89
90                pinctrl-names = "default";
91                pinctrl-0 = <&fg_alert_default>;
92
93                power-supplies = <&rt5033_charger>;
94            };
95        };
96
97        i2c@1 {
98            #address-cells = <1>;
99            #size-cells = <0>;
100            reg = <1>;
101
102            pmic@34 {
103                compatible = "richtek,rt5033";
104                reg = <0x34>;
105
106                interrupt-parent = <&msmgpio>;
107                interrupts = <62 IRQ_TYPE_EDGE_FALLING>;
108
109                pinctrl-names = "default";
110                pinctrl-0 = <&pmic_int_default>;
111
112                regulators {
113                    safe_ldo_reg: SAFE_LDO {
114                        regulator-name = "SAFE_LDO";
115                        regulator-min-microvolt = <4900000>;
116                        regulator-max-microvolt = <4900000>;
117                        regulator-always-on;
118                    };
119                    ldo_reg: LDO {
120                        regulator-name = "LDO";
121                        regulator-min-microvolt = <2800000>;
122                        regulator-max-microvolt = <2800000>;
123                    };
124                    buck_reg: BUCK {
125                        regulator-name = "BUCK";
126                        regulator-min-microvolt = <1200000>;
127                        regulator-max-microvolt = <1200000>;
128                    };
129                };
130
131                rt5033_charger: charger {
132                    compatible = "richtek,rt5033-charger";
133                    monitored-battery = <&battery>;
134                    richtek,usb-connector = <&usb_con>;
135                };
136            };
137        };
138    };
139