GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / mfd / maxim,max77686.yaml
1 # 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
7 title: Maxim MAX77686 Power Management IC
8
9 maintainers:
10   - Chanwoo Choi <cw00.choi@samsung.com>
11   - Krzysztof Kozlowski <krzk@kernel.org>
12
13 description: |
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
24 properties:
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
44 required:
45   - compatible
46   - '#clock-cells'
47   - reg
48
49 additionalProperties: false
50
51 examples:
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     };