blob: 4181174fcf58969beafed3e329a29732317b981c [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/max77650.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MAX77650 ultra low-power PMIC from Maxim Integrated.
8
9maintainers:
10 - Bartosz Golaszewski <bgolaszewski@baylibre.com>
11
12description: |
13 MAX77650 is an ultra-low power PMIC providing battery charging and power
14 supply for low-power IoT and wearable applications.
15
16 The GPIO-controller module is represented as part of the top-level PMIC
17 node. The device exposes a single GPIO line.
18
19 For device-tree bindings of other sub-modules (regulator, power supply,
20 LEDs and onkey) refer to the binding documents under the respective
21 sub-system directories.
22
23properties:
24 compatible:
25 const: maxim,max77650
26
27 reg:
28 description:
29 I2C device address.
30 maxItems: 1
31
32 interrupts:
33 maxItems: 1
34
35 interrupt-controller: true
36
37 "#interrupt-cells":
38 const: 2
39 description:
40 The first cell is the IRQ number, the second cell is the trigger type.
41
42 gpio-controller: true
43
44 "#gpio-cells":
45 const: 2
46 description:
47 The first cell is the pin number and the second cell is used to specify
48 the gpio active state.
49
50 gpio-line-names:
51 maxItems: 1
52 description:
53 Single string containing the name of the GPIO line.
54
55 regulators:
56 $ref: ../regulator/max77650-regulator.yaml
57
58 charger:
59 $ref: ../power/supply/max77650-charger.yaml
60
61 leds:
62 $ref: ../leds/leds-max77650.yaml
63
64 onkey:
65 $ref: ../input/max77650-onkey.yaml
66
67required:
68 - compatible
69 - reg
70 - interrupts
71 - interrupt-controller
72 - "#interrupt-cells"
73 - gpio-controller
74 - "#gpio-cells"
75
76additionalProperties: false
77
78examples:
79 - |
80 #include <dt-bindings/interrupt-controller/irq.h>
81 #include <dt-bindings/input/linux-event-codes.h>
82 i2c {
83 #address-cells = <1>;
84 #size-cells = <0>;
85
86 pmic@48 {
87 compatible = "maxim,max77650";
88 reg = <0x48>;
89
90 interrupt-controller;
91 interrupt-parent = <&gpio2>;
92 #interrupt-cells = <2>;
93 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
94
95 gpio-controller;
96 #gpio-cells = <2>;
97 gpio-line-names = "max77650-charger";
98
99 regulators {
100 compatible = "maxim,max77650-regulator";
101
102 max77650_ldo: regulator-ldo {
103 regulator-name = "max77650-ldo";
104 regulator-min-microvolt = <1350000>;
105 regulator-max-microvolt = <2937500>;
106 };
107
108 max77650_sbb0: regulator-sbb0 {
109 regulator-name = "max77650-sbb0";
110 regulator-min-microvolt = <800000>;
111 regulator-max-microvolt = <1587500>;
112 };
113 };
114
115 charger {
116 compatible = "maxim,max77650-charger";
117 input-voltage-min-microvolt = <4200000>;
118 input-current-limit-microamp = <285000>;
119 };
120
121 leds {
122 compatible = "maxim,max77650-led";
123 #address-cells = <1>;
124 #size-cells = <0>;
125
126 led@0 {
127 reg = <0>;
128 label = "blue:usr0";
129 };
130
131 led@1 {
132 reg = <1>;
133 label = "red:usr1";
134 linux,default-trigger = "heartbeat";
135 };
136
137 led@2 {
138 reg = <2>;
139 label = "green:usr2";
140 };
141 };
142
143 onkey {
144 compatible = "maxim,max77650-onkey";
145 linux,code = <KEY_END>;
146 maxim,onkey-slide;
147 };
148 };
149 };