144 lines
3.2 KiB
Plaintext
144 lines
3.2 KiB
Plaintext
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.
|
|
|
|
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;
|
|
};
|
|
};
|
|
|
|
};
|
|
};
|