0001 # SPDX-License-Identifier: GPL-2.0-only
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mfd/maxim,max77802.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Maxim MAX77802 Power Management IC
0008
0009 maintainers:
0010 - Javier Martinez Canillas <javier@dowhile0.org>
0011 - Krzysztof Kozlowski <krzk@kernel.org>
0012
0013 description: |
0014 This is a part of device tree bindings for Maxim MAX77802 Power Management
0015 Integrated Circuit (PMIC).
0016
0017 The Maxim MAX77802 is a Power Management IC which includes voltage and
0018 current regulators (10 high efficiency Buck regulators and 32 Low-DropOut
0019 (LDO)), RTC and clock outputs.
0020
0021 The MAX77802 provides two 32.768khz clock outputs that can be controlled
0022 (gated/ungated) over I2C. The clock IDs are defined as preprocessor macros
0023 in dt-bindings/clock/maxim,max77802.h.
0024
0025 properties:
0026 compatible:
0027 const: maxim,max77802
0028
0029 '#clock-cells':
0030 const: 1
0031
0032 interrupts:
0033 maxItems: 1
0034
0035 reg:
0036 maxItems: 1
0037
0038 regulators:
0039 $ref: /schemas/regulator/maxim,max77802.yaml
0040 description:
0041 List of child nodes that specify the regulators.
0042
0043 inb1-supply:
0044 description: Power supply for buck1
0045 inb2-supply:
0046 description: Power supply for buck2
0047 inb3-supply:
0048 description: Power supply for buck3
0049 inb4-supply:
0050 description: Power supply for buck4
0051 inb5-supply:
0052 description: Power supply for buck5
0053 inb6-supply:
0054 description: Power supply for buck6
0055 inb7-supply:
0056 description: Power supply for buck7
0057 inb8-supply:
0058 description: Power supply for buck8
0059 inb9-supply:
0060 description: Power supply for buck9
0061 inb10-supply:
0062 description: Power supply for buck10
0063
0064 inl1-supply:
0065 description: Power supply for LDO8, LDO15
0066 inl2-supply:
0067 description: Power supply for LDO17, LDO27, LDO30, LDO35
0068 inl3-supply:
0069 description: Power supply for LDO3, LDO5, LDO7, LDO7
0070 inl4-supply:
0071 description: Power supply for LDO10, LDO11, LDO13, LDO14
0072 inl5-supply:
0073 description: Power supply for LDO9, LDO19
0074 inl6-supply:
0075 description: Power supply for LDO4, LDO21, LDO24, LDO33
0076 inl7-supply:
0077 description: Power supply for LDO18, LDO20, LDO28, LDO29
0078 inl9-supply:
0079 description: Power supply for LDO12, LDO23, LDO25, LDO26, LDO32, LDO34
0080 inl10-supply:
0081 description: Power supply for LDO1, LDO2
0082
0083 wakeup-source: true
0084
0085 required:
0086 - compatible
0087 - '#clock-cells'
0088 - reg
0089
0090 additionalProperties: false
0091
0092 examples:
0093 - |
0094 #include <dt-bindings/interrupt-controller/irq.h>
0095 #include <dt-bindings/regulator/maxim,max77802.h>
0096
0097 i2c {
0098 #address-cells = <1>;
0099 #size-cells = <0>;
0100
0101 pmic@9 {
0102 compatible = "maxim,max77802";
0103 interrupt-parent = <&gpx3>;
0104 interrupts = <1 IRQ_TYPE_NONE>;
0105 pinctrl-names = "default";
0106 pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
0107 <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
0108 wakeup-source;
0109 reg = <0x9>;
0110 #clock-cells = <1>;
0111
0112 inb1-supply = <&tps65090_dcdc2>;
0113 inb2-supply = <&tps65090_dcdc1>;
0114 inb3-supply = <&tps65090_dcdc2>;
0115 inb4-supply = <&tps65090_dcdc2>;
0116 inb5-supply = <&tps65090_dcdc1>;
0117 inb6-supply = <&tps65090_dcdc2>;
0118 inb7-supply = <&tps65090_dcdc1>;
0119 inb8-supply = <&tps65090_dcdc1>;
0120 inb9-supply = <&tps65090_dcdc1>;
0121 inb10-supply = <&tps65090_dcdc1>;
0122
0123 inl1-supply = <&buck5_reg>;
0124 inl2-supply = <&buck7_reg>;
0125 inl3-supply = <&buck9_reg>;
0126 inl4-supply = <&buck9_reg>;
0127 inl5-supply = <&buck9_reg>;
0128 inl6-supply = <&tps65090_dcdc2>;
0129 inl7-supply = <&buck9_reg>;
0130 inl9-supply = <&tps65090_dcdc2>;
0131 inl10-supply = <&buck7_reg>;
0132
0133 regulators {
0134 BUCK1 {
0135 regulator-name = "vdd_mif";
0136 regulator-min-microvolt = <800000>;
0137 regulator-max-microvolt = <1300000>;
0138 regulator-always-on;
0139 regulator-boot-on;
0140 regulator-ramp-delay = <12500>;
0141 regulator-state-mem {
0142 regulator-off-in-suspend;
0143 };
0144 };
0145
0146 BUCK2 {
0147 regulator-name = "vdd_arm";
0148 regulator-min-microvolt = <800000>;
0149 regulator-max-microvolt = <1500000>;
0150 regulator-always-on;
0151 regulator-boot-on;
0152 regulator-ramp-delay = <12500>;
0153 regulator-coupled-with = <&buck3_reg>;
0154 regulator-coupled-max-spread = <300000>;
0155 regulator-state-mem {
0156 regulator-off-in-suspend;
0157 };
0158 };
0159
0160 // ...
0161
0162 BUCK10 {
0163 regulator-name = "vdd_1v8";
0164 regulator-min-microvolt = <1800000>;
0165 regulator-max-microvolt = <1800000>;
0166 regulator-always-on;
0167 regulator-boot-on;
0168 regulator-state-mem {
0169 regulator-on-in-suspend;
0170 };
0171 };
0172
0173 LDO1 {
0174 regulator-name = "vdd_1v0";
0175 regulator-min-microvolt = <1000000>;
0176 regulator-max-microvolt = <1000000>;
0177 regulator-always-on;
0178 regulator-initial-mode = <MAX77802_OPMODE_NORMAL>;
0179 regulator-state-mem {
0180 regulator-on-in-suspend;
0181 regulator-mode = <MAX77802_OPMODE_LP>;
0182 };
0183 };
0184
0185 // ...
0186
0187 LDO35 {
0188 regulator-name = "ldo_35";
0189 regulator-min-microvolt = <1200000>;
0190 regulator-max-microvolt = <1200000>;
0191 };
0192 };
0193 };
0194 };