Documentation / devicetree / bindings / mfd / maxim,max77686.yaml


Based on kernel version 6.10. Page generated on 2024-07-16 09:00 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/maxim,max77686.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Maxim MAX77686 Power Management IC

maintainers:
  - Chanwoo Choi <cw00.choi@samsung.com>
  - Krzysztof Kozlowski <krzk@kernel.org>

description: |
  This is a part of device tree bindings for Maxim MAX77686 Power Management
  Integrated Circuit (PMIC).
 
  The Maxim MAX77686 is a Power Management IC which includes voltage and
  current regulators, RTC and clock outputs.
 
  The MAX77686 provides three 32.768khz clock outputs that can be controlled
  (gated/ungated) over I2C.  The clock IDs are defined as preprocessor macros
  in dt-bindings/clock/maxim,max77686.h.

properties:
  compatible:
    const: maxim,max77686
 
  '#clock-cells':
    const: 1

  interrupts:
    maxItems: 1

  reg:
    maxItems: 1

  voltage-regulators:
    $ref: /schemas/regulator/maxim,max77686.yaml
    description:
      List of child nodes that specify the regulators.

  wakeup-source: true

required:
  - compatible
  - '#clock-cells'
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
 
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
 
        max77686: pmic@9 {
            compatible = "maxim,max77686";
            reg = <0x09>;
 
            interrupt-parent = <&gpx0>;
            interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
            pinctrl-0 = <&max77686_irq>;
            pinctrl-names = "default";
            wakeup-source;
            #clock-cells = <1>;
 
            voltage-regulators {
                LDO1 {
                    regulator-name = "VALIVE_1.0V_AP";
                    regulator-min-microvolt = <1000000>;
                    regulator-max-microvolt = <1000000>;
                    regulator-always-on;
                };
 
                LDO2 {
                    regulator-name = "VM1M2_1.2V_AP";
                    regulator-min-microvolt = <1200000>;
                    regulator-max-microvolt = <1200000>;
                    regulator-always-on;
                    regulator-state-mem {
                        regulator-on-in-suspend;
                    };
                };
 
                // ...
 
                LDO22 {
                    regulator-name = "VMEM_VDD_2.8V";
                    regulator-min-microvolt = <2800000>;
                    regulator-max-microvolt = <2800000>;
                    maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
                };
 
                // ...
 
                BUCK1 {
                    regulator-name = "VDD_MIF";
                    regulator-min-microvolt = <850000>;
                    regulator-max-microvolt = <1100000>;
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };
 
                BUCK2 {
                    regulator-name = "VDD_ARM";
                    regulator-min-microvolt = <850000>;
                    regulator-max-microvolt = <1500000>;
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-state-mem {
                        regulator-on-in-suspend;
                    };
                };
 
                // ...
 
                BUCK9 {
                    regulator-name = "CAM_ISP_CORE_1.2V";
                    regulator-min-microvolt = <1000000>;
                    regulator-max-microvolt = <1200000>;
                    maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
                };
            };
        };
    };