MCP16502 PMIC Required properties: - compatible: "microchip,mcp16502" - reg: I2C slave address - lpm-gpios: GPIO for LPM pin. Note that this GPIO *must* remain high during suspend-to-ram, keeping the PMIC into HIBERNATE mode. - regulators: A node that houses a sub-node for each regulator within the device. Each sub-node is identified using the node's name. The content of each sub-node is defined by the standard binding for regulators; see regulator.txt. Regualtors of MCP16502 PMIC: 1) VDD_IO - Buck (1.2 - 3.7 V) 2) VDD_DDR - Buck (0.6 - 1.85 V) 3) VDD_CORE - Buck (0.6 - 1.85 V) 4) VDD_OTHER - BUCK (0.6 - 1.85 V) 5) LDO1 - LDO (1.2 - 3.7 V) 6) LDO2 - LDO (1.2 - 3.7 V) Regulator modes: 2 - FPWM: higher precision, higher consumption 4 - AutoPFM: lower precision, lower consumption Each regulator is defined using the standard binding for regulators. Example: mcp16502@5b { compatible = "microchip,mcp16502"; reg = <0x5b>; status = "okay"; lpm-gpios = <&pioBU 7 GPIO_ACTIVE_HIGH>; regulators { VDD_IO { regulator-name = "VDD_IO"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3700000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-always-on; regulator-state-standby { regulator-on-in-suspend; regulator-mode = <4>; }; regulator-state-mem { regulator-off-in-suspend; regulator-mode = <4>; }; }; VDD_DDR { regulator-name = "VDD_DDR"; regulator-min-microvolt = <600000>; regulator-max-microvolt = <1850000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-always-on; regulator-state-standby { regulator-on-in-suspend; regulator-mode = <4>; }; regulator-state-mem { regulator-on-in-suspend; regulator-mode = <4>; }; }; VDD_CORE { regulator-name = "VDD_CORE"; regulator-min-microvolt = <600000>; regulator-max-microvolt = <1850000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-always-on; regulator-state-standby { regulator-on-in-suspend; regulator-mode = <4>; }; regulator-state-mem { regulator-off-in-suspend; regulator-mode = <4>; }; }; VDD_OTHER { regulator-name = "VDD_OTHER"; regulator-min-microvolt = <600000>; regulator-max-microvolt = <1850000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-always-on; regulator-state-standby { regulator-on-in-suspend; regulator-mode = <4>; }; regulator-state-mem { regulator-off-in-suspend; regulator-mode = <4>; }; }; LDO1 { regulator-name = "LDO1"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3700000>; regulator-always-on; regulator-state-standby { regulator-on-in-suspend; }; regulator-state-mem { regulator-off-in-suspend; }; }; LDO2 { regulator-name = "LDO2"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3700000>; regulator-always-on; regulator-state-standby { regulator-on-in-suspend; }; regulator-state-mem { regulator-off-in-suspend; }; }; }; };