arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / Documentation / devicetree / bindings / mfd / richtek,rt5033.yaml
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
7 title: Richtek RT5033 Power Management Integrated Circuit
8
9 maintainers:
10   - Jakob Hauser <jahau@rocketmail.com>
11
12 description:
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
18 properties:
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
46 required:
47   - compatible
48   - reg
49   - interrupts
50
51 additionalProperties: false
52
53 examples:
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     };