| 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; this |
| property is optional; |
| - 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. |
| |
| Regulators 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; |
| }; |
| }; |
| |
| }; |
| }; |