1c66ec88fSEmmanuel VadotMCP16502 PMIC 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel VadotRequired properties: 4c66ec88fSEmmanuel Vadot- compatible: "microchip,mcp16502" 5c66ec88fSEmmanuel Vadot- reg: I2C slave address 6c66ec88fSEmmanuel Vadot- lpm-gpios: GPIO for LPM pin. Note that this GPIO *must* remain high during 7*5def4c47SEmmanuel Vadot suspend-to-ram, keeping the PMIC into HIBERNATE mode; this 8*5def4c47SEmmanuel Vadot property is optional; 9c66ec88fSEmmanuel Vadot- regulators: A node that houses a sub-node for each regulator within 10c66ec88fSEmmanuel Vadot the device. Each sub-node is identified using the node's 11c66ec88fSEmmanuel Vadot name. The content of each sub-node is defined by the 12c66ec88fSEmmanuel Vadot standard binding for regulators; see regulator.txt. 13c66ec88fSEmmanuel Vadot 14*5def4c47SEmmanuel VadotRegulators of MCP16502 PMIC: 15c66ec88fSEmmanuel Vadot1) VDD_IO - Buck (1.2 - 3.7 V) 16c66ec88fSEmmanuel Vadot2) VDD_DDR - Buck (0.6 - 1.85 V) 17c66ec88fSEmmanuel Vadot3) VDD_CORE - Buck (0.6 - 1.85 V) 18c66ec88fSEmmanuel Vadot4) VDD_OTHER - BUCK (0.6 - 1.85 V) 19c66ec88fSEmmanuel Vadot5) LDO1 - LDO (1.2 - 3.7 V) 20c66ec88fSEmmanuel Vadot6) LDO2 - LDO (1.2 - 3.7 V) 21c66ec88fSEmmanuel Vadot 22c66ec88fSEmmanuel VadotRegulator modes: 23c66ec88fSEmmanuel Vadot2 - FPWM: higher precision, higher consumption 24c66ec88fSEmmanuel Vadot4 - AutoPFM: lower precision, lower consumption 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel VadotEach regulator is defined using the standard binding for regulators. 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel VadotExample: 29c66ec88fSEmmanuel Vadot 30c66ec88fSEmmanuel Vadotmcp16502@5b { 31c66ec88fSEmmanuel Vadot compatible = "microchip,mcp16502"; 32c66ec88fSEmmanuel Vadot reg = <0x5b>; 33c66ec88fSEmmanuel Vadot status = "okay"; 34c66ec88fSEmmanuel Vadot lpm-gpios = <&pioBU 7 GPIO_ACTIVE_HIGH>; 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot regulators { 37c66ec88fSEmmanuel Vadot VDD_IO { 38c66ec88fSEmmanuel Vadot regulator-name = "VDD_IO"; 39c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1200000>; 40c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3700000>; 41c66ec88fSEmmanuel Vadot regulator-initial-mode = <2>; 42c66ec88fSEmmanuel Vadot regulator-allowed-modes = <2>, <4>; 43c66ec88fSEmmanuel Vadot regulator-always-on; 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot regulator-state-standby { 46c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 47c66ec88fSEmmanuel Vadot regulator-mode = <4>; 48c66ec88fSEmmanuel Vadot }; 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot regulator-state-mem { 51c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 52c66ec88fSEmmanuel Vadot regulator-mode = <4>; 53c66ec88fSEmmanuel Vadot }; 54c66ec88fSEmmanuel Vadot }; 55c66ec88fSEmmanuel Vadot 56c66ec88fSEmmanuel Vadot VDD_DDR { 57c66ec88fSEmmanuel Vadot regulator-name = "VDD_DDR"; 58c66ec88fSEmmanuel Vadot regulator-min-microvolt = <600000>; 59c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1850000>; 60c66ec88fSEmmanuel Vadot regulator-initial-mode = <2>; 61c66ec88fSEmmanuel Vadot regulator-allowed-modes = <2>, <4>; 62c66ec88fSEmmanuel Vadot regulator-always-on; 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot regulator-state-standby { 65c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 66c66ec88fSEmmanuel Vadot regulator-mode = <4>; 67c66ec88fSEmmanuel Vadot }; 68c66ec88fSEmmanuel Vadot 69c66ec88fSEmmanuel Vadot regulator-state-mem { 70c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 71c66ec88fSEmmanuel Vadot regulator-mode = <4>; 72c66ec88fSEmmanuel Vadot }; 73c66ec88fSEmmanuel Vadot }; 74c66ec88fSEmmanuel Vadot 75c66ec88fSEmmanuel Vadot VDD_CORE { 76c66ec88fSEmmanuel Vadot regulator-name = "VDD_CORE"; 77c66ec88fSEmmanuel Vadot regulator-min-microvolt = <600000>; 78c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1850000>; 79c66ec88fSEmmanuel Vadot regulator-initial-mode = <2>; 80c66ec88fSEmmanuel Vadot regulator-allowed-modes = <2>, <4>; 81c66ec88fSEmmanuel Vadot regulator-always-on; 82c66ec88fSEmmanuel Vadot 83c66ec88fSEmmanuel Vadot regulator-state-standby { 84c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 85c66ec88fSEmmanuel Vadot regulator-mode = <4>; 86c66ec88fSEmmanuel Vadot }; 87c66ec88fSEmmanuel Vadot 88c66ec88fSEmmanuel Vadot regulator-state-mem { 89c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 90c66ec88fSEmmanuel Vadot regulator-mode = <4>; 91c66ec88fSEmmanuel Vadot }; 92c66ec88fSEmmanuel Vadot }; 93c66ec88fSEmmanuel Vadot 94c66ec88fSEmmanuel Vadot VDD_OTHER { 95c66ec88fSEmmanuel Vadot regulator-name = "VDD_OTHER"; 96c66ec88fSEmmanuel Vadot regulator-min-microvolt = <600000>; 97c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1850000>; 98c66ec88fSEmmanuel Vadot regulator-initial-mode = <2>; 99c66ec88fSEmmanuel Vadot regulator-allowed-modes = <2>, <4>; 100c66ec88fSEmmanuel Vadot regulator-always-on; 101c66ec88fSEmmanuel Vadot 102c66ec88fSEmmanuel Vadot regulator-state-standby { 103c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 104c66ec88fSEmmanuel Vadot regulator-mode = <4>; 105c66ec88fSEmmanuel Vadot }; 106c66ec88fSEmmanuel Vadot 107c66ec88fSEmmanuel Vadot regulator-state-mem { 108c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 109c66ec88fSEmmanuel Vadot regulator-mode = <4>; 110c66ec88fSEmmanuel Vadot }; 111c66ec88fSEmmanuel Vadot }; 112c66ec88fSEmmanuel Vadot 113c66ec88fSEmmanuel Vadot LDO1 { 114c66ec88fSEmmanuel Vadot regulator-name = "LDO1"; 115c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1200000>; 116c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3700000>; 117c66ec88fSEmmanuel Vadot regulator-always-on; 118c66ec88fSEmmanuel Vadot 119c66ec88fSEmmanuel Vadot regulator-state-standby { 120c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 121c66ec88fSEmmanuel Vadot }; 122c66ec88fSEmmanuel Vadot 123c66ec88fSEmmanuel Vadot regulator-state-mem { 124c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 125c66ec88fSEmmanuel Vadot }; 126c66ec88fSEmmanuel Vadot }; 127c66ec88fSEmmanuel Vadot 128c66ec88fSEmmanuel Vadot LDO2 { 129c66ec88fSEmmanuel Vadot regulator-name = "LDO2"; 130c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1200000>; 131c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3700000>; 132c66ec88fSEmmanuel Vadot regulator-always-on; 133c66ec88fSEmmanuel Vadot 134c66ec88fSEmmanuel Vadot regulator-state-standby { 135c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 136c66ec88fSEmmanuel Vadot }; 137c66ec88fSEmmanuel Vadot 138c66ec88fSEmmanuel Vadot regulator-state-mem { 139c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 140c66ec88fSEmmanuel Vadot }; 141c66ec88fSEmmanuel Vadot }; 142c66ec88fSEmmanuel Vadot 143c66ec88fSEmmanuel Vadot }; 144c66ec88fSEmmanuel Vadot}; 145