blob: d027aabe453ba5d3a789244d37119768561e1dfd [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/maxim,max77686.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Maxim MAX77686 Power Management IC
8
9maintainers:
10 - Chanwoo Choi <cw00.choi@samsung.com>
11 - Krzysztof Kozlowski <krzk@kernel.org>
12
13description: |
14 This is a part of device tree bindings for Maxim MAX77686 Power Management
15 Integrated Circuit (PMIC).
16
17 The Maxim MAX77686 is a Power Management IC which includes voltage and
18 current regulators, RTC and clock outputs.
19
20 The MAX77686 provides three 32.768khz clock outputs that can be controlled
21 (gated/ungated) over I2C. The clock IDs are defined as preprocessor macros
22 in dt-bindings/clock/maxim,max77686.h.
23
24properties:
25 compatible:
26 const: maxim,max77686
27
28 '#clock-cells':
29 const: 1
30
31 interrupts:
32 maxItems: 1
33
34 reg:
35 maxItems: 1
36
37 voltage-regulators:
38 $ref: ../regulator/maxim,max77686.yaml
39 description:
40 List of child nodes that specify the regulators.
41
42 wakeup-source: true
43
44required:
45 - compatible
46 - '#clock-cells'
47 - reg
48
49additionalProperties: false
50
51examples:
52 - |
53 #include <dt-bindings/gpio/gpio.h>
54 #include <dt-bindings/interrupt-controller/irq.h>
55
56 i2c {
57 #address-cells = <1>;
58 #size-cells = <0>;
59
60 max77686: pmic@9 {
61 compatible = "maxim,max77686";
62 reg = <0x09>;
63
64 interrupt-parent = <&gpx0>;
65 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
66 pinctrl-0 = <&max77686_irq>;
67 pinctrl-names = "default";
68 wakeup-source;
69 #clock-cells = <1>;
70
71 voltage-regulators {
72 LDO1 {
73 regulator-name = "VALIVE_1.0V_AP";
74 regulator-min-microvolt = <1000000>;
75 regulator-max-microvolt = <1000000>;
76 regulator-always-on;
77 };
78
79 LDO2 {
80 regulator-name = "VM1M2_1.2V_AP";
81 regulator-min-microvolt = <1200000>;
82 regulator-max-microvolt = <1200000>;
83 regulator-always-on;
84 regulator-state-mem {
85 regulator-on-in-suspend;
86 };
87 };
88
89 // ...
90
91 LDO22 {
92 regulator-name = "VMEM_VDD_2.8V";
93 regulator-min-microvolt = <2800000>;
94 regulator-max-microvolt = <2800000>;
95 maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
96 };
97
98 // ...
99
100 BUCK1 {
101 regulator-name = "VDD_MIF";
102 regulator-min-microvolt = <850000>;
103 regulator-max-microvolt = <1100000>;
104 regulator-always-on;
105 regulator-boot-on;
106 regulator-state-mem {
107 regulator-off-in-suspend;
108 };
109 };
110
111 BUCK2 {
112 regulator-name = "VDD_ARM";
113 regulator-min-microvolt = <850000>;
114 regulator-max-microvolt = <1500000>;
115 regulator-always-on;
116 regulator-boot-on;
117 regulator-state-mem {
118 regulator-on-in-suspend;
119 };
120 };
121
122 // ...
123
124 BUCK9 {
125 regulator-name = "CAM_ISP_CORE_1.2V";
126 regulator-min-microvolt = <1000000>;
127 regulator-max-microvolt = <1200000>;
128 maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
129 };
130 };
131 };
132 };