0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mfd/maxim,max77686.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Maxim MAX77686 Power Management IC
0008
0009 maintainers:
0010 - Chanwoo Choi <cw00.choi@samsung.com>
0011 - Krzysztof Kozlowski <krzk@kernel.org>
0012
0013 description: |
0014 This is a part of device tree bindings for Maxim MAX77686 Power Management
0015 Integrated Circuit (PMIC).
0016
0017 The Maxim MAX77686 is a Power Management IC which includes voltage and
0018 current regulators, RTC and clock outputs.
0019
0020 The MAX77686 provides three 32.768khz clock outputs that can be controlled
0021 (gated/ungated) over I2C. The clock IDs are defined as preprocessor macros
0022 in dt-bindings/clock/maxim,max77686.h.
0023
0024 properties:
0025 compatible:
0026 const: maxim,max77686
0027
0028 '#clock-cells':
0029 const: 1
0030
0031 interrupts:
0032 maxItems: 1
0033
0034 reg:
0035 maxItems: 1
0036
0037 voltage-regulators:
0038 $ref: ../regulator/maxim,max77686.yaml
0039 description:
0040 List of child nodes that specify the regulators.
0041
0042 wakeup-source: true
0043
0044 required:
0045 - compatible
0046 - '#clock-cells'
0047 - reg
0048
0049 additionalProperties: false
0050
0051 examples:
0052 - |
0053 #include <dt-bindings/gpio/gpio.h>
0054 #include <dt-bindings/interrupt-controller/irq.h>
0055
0056 i2c {
0057 #address-cells = <1>;
0058 #size-cells = <0>;
0059
0060 max77686: pmic@9 {
0061 compatible = "maxim,max77686";
0062 reg = <0x09>;
0063
0064 interrupt-parent = <&gpx0>;
0065 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
0066 pinctrl-0 = <&max77686_irq>;
0067 pinctrl-names = "default";
0068 wakeup-source;
0069 #clock-cells = <1>;
0070
0071 voltage-regulators {
0072 LDO1 {
0073 regulator-name = "VALIVE_1.0V_AP";
0074 regulator-min-microvolt = <1000000>;
0075 regulator-max-microvolt = <1000000>;
0076 regulator-always-on;
0077 };
0078
0079 LDO2 {
0080 regulator-name = "VM1M2_1.2V_AP";
0081 regulator-min-microvolt = <1200000>;
0082 regulator-max-microvolt = <1200000>;
0083 regulator-always-on;
0084 regulator-state-mem {
0085 regulator-on-in-suspend;
0086 };
0087 };
0088
0089 // ...
0090
0091 LDO22 {
0092 regulator-name = "VMEM_VDD_2.8V";
0093 regulator-min-microvolt = <2800000>;
0094 regulator-max-microvolt = <2800000>;
0095 maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
0096 };
0097
0098 // ...
0099
0100 BUCK1 {
0101 regulator-name = "VDD_MIF";
0102 regulator-min-microvolt = <850000>;
0103 regulator-max-microvolt = <1100000>;
0104 regulator-always-on;
0105 regulator-boot-on;
0106 regulator-state-mem {
0107 regulator-off-in-suspend;
0108 };
0109 };
0110
0111 BUCK2 {
0112 regulator-name = "VDD_ARM";
0113 regulator-min-microvolt = <850000>;
0114 regulator-max-microvolt = <1500000>;
0115 regulator-always-on;
0116 regulator-boot-on;
0117 regulator-state-mem {
0118 regulator-on-in-suspend;
0119 };
0120 };
0121
0122 // ...
0123
0124 BUCK9 {
0125 regulator-name = "CAM_ISP_CORE_1.2V";
0126 regulator-min-microvolt = <1000000>;
0127 regulator-max-microvolt = <1200000>;
0128 maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
0129 };
0130 };
0131 };
0132 };