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