1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/microchip,mcp16502.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: MCP16502 - High-Performance PMIC 8 9maintainers: 10 - Andrei Simion <andrei.simion@microchip.com> 11 12description: 13 The MCP16502 is an optimally integrated PMIC compatible 14 with Microchip's eMPUs(Embedded Microprocessor Units), 15 requiring Dynamic Voltage Scaling (DVS) with the use 16 of High-Performance mode (HPM). 17 18properties: 19 compatible: 20 const: microchip,mcp16502 21 22 lpm-gpios: 23 maxItems: 1 24 description: GPIO for LPM pin. 25 Note that this GPIO must remain high during 26 suspend-to-ram, keeping the PMIC into HIBERNATE mode. 27 28 reg: 29 maxItems: 1 30 31 regulators: 32 type: object 33 additionalProperties: false 34 description: List of regulators and its properties. 35 36 patternProperties: 37 "^(VDD_(IO|CORE|DDR|OTHER)|LDO[1-2])$": 38 type: object 39 $ref: regulator.yaml# 40 unevaluatedProperties: false 41 42 properties: 43 regulator-initial-mode: 44 enum: [2, 4] 45 default: 2 46 description: Initial operating mode 47 48 regulator-allowed-modes: 49 items: 50 enum: [2, 4] 51 description: Supported modes 52 2 - FPWM higher precision, higher consumption 53 4 - AutoPFM lower precision, lower consumption 54 55required: 56 - compatible 57 - reg 58 - regulators 59 60additionalProperties: false 61 62examples: 63 - | 64 i2c { 65 #address-cells = <1>; 66 #size-cells = <0>; 67 68 pmic@5b { 69 compatible = "microchip,mcp16502"; 70 reg = <0x5b>; 71 72 regulators { 73 VDD_IO { 74 regulator-name = "VDD_IO"; 75 regulator-min-microvolt = <3300000>; 76 regulator-max-microvolt = <3300000>; 77 regulator-initial-mode = <2>; 78 regulator-allowed-modes = <2>, <4>; 79 regulator-always-on; 80 81 regulator-state-standby { 82 regulator-on-in-suspend; 83 regulator-mode = <4>; 84 }; 85 86 regulator-state-mem { 87 regulator-off-in-suspend; 88 regulator-mode = <4>; 89 }; 90 }; 91 92 VDD_DDR { 93 regulator-name = "VDD_DDR"; 94 regulator-min-microvolt = <1350000>; 95 regulator-max-microvolt = <1350000>; 96 regulator-initial-mode = <2>; 97 regulator-allowed-modes = <2>, <4>; 98 regulator-always-on; 99 100 regulator-state-standby { 101 regulator-on-in-suspend; 102 regulator-mode = <4>; 103 }; 104 105 regulator-state-mem { 106 regulator-on-in-suspend; 107 regulator-mode = <4>; 108 }; 109 }; 110 111 VDD_CORE { 112 regulator-name = "VDD_CORE"; 113 regulator-min-microvolt = <1150000>; 114 regulator-max-microvolt = <1150000>; 115 regulator-initial-mode = <2>; 116 regulator-allowed-modes = <2>, <4>; 117 regulator-always-on; 118 119 regulator-state-standby { 120 regulator-on-in-suspend; 121 regulator-mode = <4>; 122 }; 123 124 regulator-state-mem { 125 regulator-off-in-suspend; 126 regulator-mode = <4>; 127 }; 128 }; 129 130 VDD_OTHER { 131 regulator-name = "VDD_OTHER"; 132 regulator-min-microvolt = <1050000>; 133 regulator-max-microvolt = <1250000>; 134 regulator-initial-mode = <2>; 135 regulator-allowed-modes = <2>, <4>; 136 regulator-always-on; 137 138 regulator-state-standby { 139 regulator-on-in-suspend; 140 regulator-mode = <4>; 141 }; 142 143 regulator-state-mem { 144 regulator-off-in-suspend; 145 regulator-mode = <4>; 146 }; 147 }; 148 149 LDO1 { 150 regulator-name = "LDO1"; 151 regulator-min-microvolt = <1800000>; 152 regulator-max-microvolt = <1800000>; 153 regulator-always-on; 154 155 regulator-state-standby { 156 regulator-on-in-suspend; 157 }; 158 159 regulator-state-mem { 160 regulator-off-in-suspend; 161 }; 162 }; 163 164 LDO2 { 165 regulator-name = "LDO2"; 166 regulator-min-microvolt = <1200000>; 167 regulator-max-microvolt = <3700000>; 168 regulator-always-on; 169 170 regulator-state-standby { 171 regulator-on-in-suspend; 172 }; 173 174 regulator-state-mem { 175 regulator-off-in-suspend; 176 }; 177 }; 178 }; 179 }; 180 }; 181