1013db96dSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2013db96dSKrzysztof Kozlowski%YAML 1.2
3013db96dSKrzysztof Kozlowski---
4013db96dSKrzysztof Kozlowski$id: http://devicetree.org/schemas/mfd/maxim,max77686.yaml#
5013db96dSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6013db96dSKrzysztof Kozlowski
7013db96dSKrzysztof Kozlowskititle: Maxim MAX77686 Power Management IC
8013db96dSKrzysztof Kozlowski
9013db96dSKrzysztof Kozlowskimaintainers:
10013db96dSKrzysztof Kozlowski  - Chanwoo Choi <cw00.choi@samsung.com>
11*8a1e6bb3SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzk@kernel.org>
12013db96dSKrzysztof Kozlowski
13013db96dSKrzysztof Kozlowskidescription: |
14013db96dSKrzysztof Kozlowski  This is a part of device tree bindings for Maxim MAX77686 Power Management
15013db96dSKrzysztof Kozlowski  Integrated Circuit (PMIC).
16013db96dSKrzysztof Kozlowski
17013db96dSKrzysztof Kozlowski  The Maxim MAX77686 is a Power Management IC which includes voltage and
18013db96dSKrzysztof Kozlowski  current regulators, RTC and clock outputs.
19013db96dSKrzysztof Kozlowski
20013db96dSKrzysztof Kozlowski  The MAX77686 provides three 32.768khz clock outputs that can be controlled
21013db96dSKrzysztof Kozlowski  (gated/ungated) over I2C.  The clock IDs are defined as preprocessor macros
22013db96dSKrzysztof Kozlowski  in dt-bindings/clock/maxim,max77686.h.
23013db96dSKrzysztof Kozlowski
24013db96dSKrzysztof Kozlowskiproperties:
25013db96dSKrzysztof Kozlowski  compatible:
26013db96dSKrzysztof Kozlowski    const: maxim,max77686
27013db96dSKrzysztof Kozlowski
28013db96dSKrzysztof Kozlowski  '#clock-cells':
29013db96dSKrzysztof Kozlowski    const: 1
30013db96dSKrzysztof Kozlowski
31013db96dSKrzysztof Kozlowski  interrupts:
32013db96dSKrzysztof Kozlowski    maxItems: 1
33013db96dSKrzysztof Kozlowski
34013db96dSKrzysztof Kozlowski  reg:
35013db96dSKrzysztof Kozlowski    maxItems: 1
36013db96dSKrzysztof Kozlowski
37013db96dSKrzysztof Kozlowski  voltage-regulators:
38013db96dSKrzysztof Kozlowski    $ref: ../regulator/maxim,max77686.yaml
39013db96dSKrzysztof Kozlowski    description:
40013db96dSKrzysztof Kozlowski      List of child nodes that specify the regulators.
41013db96dSKrzysztof Kozlowski
42013db96dSKrzysztof Kozlowski  wakeup-source: true
43013db96dSKrzysztof Kozlowski
44013db96dSKrzysztof Kozlowskirequired:
45013db96dSKrzysztof Kozlowski  - compatible
46013db96dSKrzysztof Kozlowski  - '#clock-cells'
47013db96dSKrzysztof Kozlowski  - reg
48013db96dSKrzysztof Kozlowski
49013db96dSKrzysztof KozlowskiadditionalProperties: false
50013db96dSKrzysztof Kozlowski
51013db96dSKrzysztof Kozlowskiexamples:
52013db96dSKrzysztof Kozlowski  - |
53013db96dSKrzysztof Kozlowski    #include <dt-bindings/gpio/gpio.h>
54013db96dSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
55013db96dSKrzysztof Kozlowski
56013db96dSKrzysztof Kozlowski    i2c {
57013db96dSKrzysztof Kozlowski        #address-cells = <1>;
58013db96dSKrzysztof Kozlowski        #size-cells = <0>;
59013db96dSKrzysztof Kozlowski
60013db96dSKrzysztof Kozlowski        max77686: pmic@9 {
61013db96dSKrzysztof Kozlowski            compatible = "maxim,max77686";
62013db96dSKrzysztof Kozlowski            reg = <0x09>;
63013db96dSKrzysztof Kozlowski
64013db96dSKrzysztof Kozlowski            interrupt-parent = <&gpx0>;
65013db96dSKrzysztof Kozlowski            interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
66013db96dSKrzysztof Kozlowski            pinctrl-0 = <&max77686_irq>;
67013db96dSKrzysztof Kozlowski            pinctrl-names = "default";
68013db96dSKrzysztof Kozlowski            wakeup-source;
69013db96dSKrzysztof Kozlowski            #clock-cells = <1>;
70013db96dSKrzysztof Kozlowski
71013db96dSKrzysztof Kozlowski            voltage-regulators {
72013db96dSKrzysztof Kozlowski                LDO1 {
73013db96dSKrzysztof Kozlowski                    regulator-name = "VALIVE_1.0V_AP";
74013db96dSKrzysztof Kozlowski                    regulator-min-microvolt = <1000000>;
75013db96dSKrzysztof Kozlowski                    regulator-max-microvolt = <1000000>;
76013db96dSKrzysztof Kozlowski                    regulator-always-on;
77013db96dSKrzysztof Kozlowski                };
78013db96dSKrzysztof Kozlowski
79013db96dSKrzysztof Kozlowski                LDO2 {
80013db96dSKrzysztof Kozlowski                    regulator-name = "VM1M2_1.2V_AP";
81013db96dSKrzysztof Kozlowski                    regulator-min-microvolt = <1200000>;
82013db96dSKrzysztof Kozlowski                    regulator-max-microvolt = <1200000>;
83013db96dSKrzysztof Kozlowski                    regulator-always-on;
84013db96dSKrzysztof Kozlowski                    regulator-state-mem {
85013db96dSKrzysztof Kozlowski                        regulator-on-in-suspend;
86013db96dSKrzysztof Kozlowski                    };
87013db96dSKrzysztof Kozlowski                };
88013db96dSKrzysztof Kozlowski
89013db96dSKrzysztof Kozlowski                // ...
90013db96dSKrzysztof Kozlowski
91013db96dSKrzysztof Kozlowski                LDO22 {
92013db96dSKrzysztof Kozlowski                    regulator-name = "VMEM_VDD_2.8V";
93013db96dSKrzysztof Kozlowski                    regulator-min-microvolt = <2800000>;
94013db96dSKrzysztof Kozlowski                    regulator-max-microvolt = <2800000>;
95013db96dSKrzysztof Kozlowski                    maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
96013db96dSKrzysztof Kozlowski                };
97013db96dSKrzysztof Kozlowski
98013db96dSKrzysztof Kozlowski                // ...
99013db96dSKrzysztof Kozlowski
100013db96dSKrzysztof Kozlowski                BUCK1 {
101013db96dSKrzysztof Kozlowski                    regulator-name = "VDD_MIF";
102013db96dSKrzysztof Kozlowski                    regulator-min-microvolt = <850000>;
103013db96dSKrzysztof Kozlowski                    regulator-max-microvolt = <1100000>;
104013db96dSKrzysztof Kozlowski                    regulator-always-on;
105013db96dSKrzysztof Kozlowski                    regulator-boot-on;
106013db96dSKrzysztof Kozlowski                    regulator-state-mem {
107013db96dSKrzysztof Kozlowski                        regulator-off-in-suspend;
108013db96dSKrzysztof Kozlowski                    };
109013db96dSKrzysztof Kozlowski                };
110013db96dSKrzysztof Kozlowski
111013db96dSKrzysztof Kozlowski                BUCK2 {
112013db96dSKrzysztof Kozlowski                    regulator-name = "VDD_ARM";
113013db96dSKrzysztof Kozlowski                    regulator-min-microvolt = <850000>;
114013db96dSKrzysztof Kozlowski                    regulator-max-microvolt = <1500000>;
115013db96dSKrzysztof Kozlowski                    regulator-always-on;
116013db96dSKrzysztof Kozlowski                    regulator-boot-on;
117013db96dSKrzysztof Kozlowski                    regulator-state-mem {
118013db96dSKrzysztof Kozlowski                        regulator-on-in-suspend;
119013db96dSKrzysztof Kozlowski                    };
120013db96dSKrzysztof Kozlowski                };
121013db96dSKrzysztof Kozlowski
122013db96dSKrzysztof Kozlowski                // ...
123013db96dSKrzysztof Kozlowski
124013db96dSKrzysztof Kozlowski                BUCK9 {
125013db96dSKrzysztof Kozlowski                    regulator-name = "CAM_ISP_CORE_1.2V";
126013db96dSKrzysztof Kozlowski                    regulator-min-microvolt = <1000000>;
127013db96dSKrzysztof Kozlowski                    regulator-max-microvolt = <1200000>;
128013db96dSKrzysztof Kozlowski                    maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
129013db96dSKrzysztof Kozlowski                };
130013db96dSKrzysztof Kozlowski            };
131013db96dSKrzysztof Kozlowski        };
132013db96dSKrzysztof Kozlowski    };
133