196f3fb86SAndrei.Stefanescu@microchip.comMCP16502 PMIC 296f3fb86SAndrei.Stefanescu@microchip.com 396f3fb86SAndrei.Stefanescu@microchip.comRequired properties: 496f3fb86SAndrei.Stefanescu@microchip.com- compatible: "microchip,mcp16502" 596f3fb86SAndrei.Stefanescu@microchip.com- reg: I2C slave address 696f3fb86SAndrei.Stefanescu@microchip.com- lpm-gpios: GPIO for LPM pin. Note that this GPIO *must* remain high during 7*eea0b4e2SClaudiu Beznea suspend-to-ram, keeping the PMIC into HIBERNATE mode; this 8*eea0b4e2SClaudiu Beznea property is optional; 996f3fb86SAndrei.Stefanescu@microchip.com- regulators: A node that houses a sub-node for each regulator within 1096f3fb86SAndrei.Stefanescu@microchip.com the device. Each sub-node is identified using the node's 1196f3fb86SAndrei.Stefanescu@microchip.com name. The content of each sub-node is defined by the 1296f3fb86SAndrei.Stefanescu@microchip.com standard binding for regulators; see regulator.txt. 1396f3fb86SAndrei.Stefanescu@microchip.com 1433f369efSMichael KleinRegulators of MCP16502 PMIC: 1596f3fb86SAndrei.Stefanescu@microchip.com1) VDD_IO - Buck (1.2 - 3.7 V) 1696f3fb86SAndrei.Stefanescu@microchip.com2) VDD_DDR - Buck (0.6 - 1.85 V) 1796f3fb86SAndrei.Stefanescu@microchip.com3) VDD_CORE - Buck (0.6 - 1.85 V) 1896f3fb86SAndrei.Stefanescu@microchip.com4) VDD_OTHER - BUCK (0.6 - 1.85 V) 1996f3fb86SAndrei.Stefanescu@microchip.com5) LDO1 - LDO (1.2 - 3.7 V) 2096f3fb86SAndrei.Stefanescu@microchip.com6) LDO2 - LDO (1.2 - 3.7 V) 2196f3fb86SAndrei.Stefanescu@microchip.com 2296f3fb86SAndrei.Stefanescu@microchip.comRegulator modes: 2396f3fb86SAndrei.Stefanescu@microchip.com2 - FPWM: higher precision, higher consumption 2496f3fb86SAndrei.Stefanescu@microchip.com4 - AutoPFM: lower precision, lower consumption 2596f3fb86SAndrei.Stefanescu@microchip.com 2696f3fb86SAndrei.Stefanescu@microchip.comEach regulator is defined using the standard binding for regulators. 2796f3fb86SAndrei.Stefanescu@microchip.com 2896f3fb86SAndrei.Stefanescu@microchip.comExample: 2996f3fb86SAndrei.Stefanescu@microchip.com 3096f3fb86SAndrei.Stefanescu@microchip.commcp16502@5b { 3196f3fb86SAndrei.Stefanescu@microchip.com compatible = "microchip,mcp16502"; 3296f3fb86SAndrei.Stefanescu@microchip.com reg = <0x5b>; 3396f3fb86SAndrei.Stefanescu@microchip.com status = "okay"; 3496f3fb86SAndrei.Stefanescu@microchip.com lpm-gpios = <&pioBU 7 GPIO_ACTIVE_HIGH>; 3596f3fb86SAndrei.Stefanescu@microchip.com 3696f3fb86SAndrei.Stefanescu@microchip.com regulators { 3796f3fb86SAndrei.Stefanescu@microchip.com VDD_IO { 3896f3fb86SAndrei.Stefanescu@microchip.com regulator-name = "VDD_IO"; 3996f3fb86SAndrei.Stefanescu@microchip.com regulator-min-microvolt = <1200000>; 4096f3fb86SAndrei.Stefanescu@microchip.com regulator-max-microvolt = <3700000>; 4196f3fb86SAndrei.Stefanescu@microchip.com regulator-initial-mode = <2>; 4296f3fb86SAndrei.Stefanescu@microchip.com regulator-allowed-modes = <2>, <4>; 4396f3fb86SAndrei.Stefanescu@microchip.com regulator-always-on; 4496f3fb86SAndrei.Stefanescu@microchip.com 4596f3fb86SAndrei.Stefanescu@microchip.com regulator-state-standby { 4696f3fb86SAndrei.Stefanescu@microchip.com regulator-on-in-suspend; 4796f3fb86SAndrei.Stefanescu@microchip.com regulator-mode = <4>; 4896f3fb86SAndrei.Stefanescu@microchip.com }; 4996f3fb86SAndrei.Stefanescu@microchip.com 5096f3fb86SAndrei.Stefanescu@microchip.com regulator-state-mem { 5196f3fb86SAndrei.Stefanescu@microchip.com regulator-off-in-suspend; 5296f3fb86SAndrei.Stefanescu@microchip.com regulator-mode = <4>; 5396f3fb86SAndrei.Stefanescu@microchip.com }; 5496f3fb86SAndrei.Stefanescu@microchip.com }; 5596f3fb86SAndrei.Stefanescu@microchip.com 5696f3fb86SAndrei.Stefanescu@microchip.com VDD_DDR { 5796f3fb86SAndrei.Stefanescu@microchip.com regulator-name = "VDD_DDR"; 5896f3fb86SAndrei.Stefanescu@microchip.com regulator-min-microvolt = <600000>; 5996f3fb86SAndrei.Stefanescu@microchip.com regulator-max-microvolt = <1850000>; 6096f3fb86SAndrei.Stefanescu@microchip.com regulator-initial-mode = <2>; 6196f3fb86SAndrei.Stefanescu@microchip.com regulator-allowed-modes = <2>, <4>; 6296f3fb86SAndrei.Stefanescu@microchip.com regulator-always-on; 6396f3fb86SAndrei.Stefanescu@microchip.com 6496f3fb86SAndrei.Stefanescu@microchip.com regulator-state-standby { 6596f3fb86SAndrei.Stefanescu@microchip.com regulator-on-in-suspend; 6696f3fb86SAndrei.Stefanescu@microchip.com regulator-mode = <4>; 6796f3fb86SAndrei.Stefanescu@microchip.com }; 6896f3fb86SAndrei.Stefanescu@microchip.com 6996f3fb86SAndrei.Stefanescu@microchip.com regulator-state-mem { 7096f3fb86SAndrei.Stefanescu@microchip.com regulator-on-in-suspend; 7196f3fb86SAndrei.Stefanescu@microchip.com regulator-mode = <4>; 7296f3fb86SAndrei.Stefanescu@microchip.com }; 7396f3fb86SAndrei.Stefanescu@microchip.com }; 7496f3fb86SAndrei.Stefanescu@microchip.com 7596f3fb86SAndrei.Stefanescu@microchip.com VDD_CORE { 7696f3fb86SAndrei.Stefanescu@microchip.com regulator-name = "VDD_CORE"; 7796f3fb86SAndrei.Stefanescu@microchip.com regulator-min-microvolt = <600000>; 7896f3fb86SAndrei.Stefanescu@microchip.com regulator-max-microvolt = <1850000>; 7996f3fb86SAndrei.Stefanescu@microchip.com regulator-initial-mode = <2>; 8096f3fb86SAndrei.Stefanescu@microchip.com regulator-allowed-modes = <2>, <4>; 8196f3fb86SAndrei.Stefanescu@microchip.com regulator-always-on; 8296f3fb86SAndrei.Stefanescu@microchip.com 8396f3fb86SAndrei.Stefanescu@microchip.com regulator-state-standby { 8496f3fb86SAndrei.Stefanescu@microchip.com regulator-on-in-suspend; 8596f3fb86SAndrei.Stefanescu@microchip.com regulator-mode = <4>; 8696f3fb86SAndrei.Stefanescu@microchip.com }; 8796f3fb86SAndrei.Stefanescu@microchip.com 8896f3fb86SAndrei.Stefanescu@microchip.com regulator-state-mem { 8996f3fb86SAndrei.Stefanescu@microchip.com regulator-off-in-suspend; 9096f3fb86SAndrei.Stefanescu@microchip.com regulator-mode = <4>; 9196f3fb86SAndrei.Stefanescu@microchip.com }; 9296f3fb86SAndrei.Stefanescu@microchip.com }; 9396f3fb86SAndrei.Stefanescu@microchip.com 9496f3fb86SAndrei.Stefanescu@microchip.com VDD_OTHER { 9596f3fb86SAndrei.Stefanescu@microchip.com regulator-name = "VDD_OTHER"; 9696f3fb86SAndrei.Stefanescu@microchip.com regulator-min-microvolt = <600000>; 9796f3fb86SAndrei.Stefanescu@microchip.com regulator-max-microvolt = <1850000>; 9896f3fb86SAndrei.Stefanescu@microchip.com regulator-initial-mode = <2>; 9996f3fb86SAndrei.Stefanescu@microchip.com regulator-allowed-modes = <2>, <4>; 10096f3fb86SAndrei.Stefanescu@microchip.com regulator-always-on; 10196f3fb86SAndrei.Stefanescu@microchip.com 10296f3fb86SAndrei.Stefanescu@microchip.com regulator-state-standby { 10396f3fb86SAndrei.Stefanescu@microchip.com regulator-on-in-suspend; 10496f3fb86SAndrei.Stefanescu@microchip.com regulator-mode = <4>; 10596f3fb86SAndrei.Stefanescu@microchip.com }; 10696f3fb86SAndrei.Stefanescu@microchip.com 10796f3fb86SAndrei.Stefanescu@microchip.com regulator-state-mem { 10896f3fb86SAndrei.Stefanescu@microchip.com regulator-off-in-suspend; 10996f3fb86SAndrei.Stefanescu@microchip.com regulator-mode = <4>; 11096f3fb86SAndrei.Stefanescu@microchip.com }; 11196f3fb86SAndrei.Stefanescu@microchip.com }; 11296f3fb86SAndrei.Stefanescu@microchip.com 11396f3fb86SAndrei.Stefanescu@microchip.com LDO1 { 11496f3fb86SAndrei.Stefanescu@microchip.com regulator-name = "LDO1"; 11596f3fb86SAndrei.Stefanescu@microchip.com regulator-min-microvolt = <1200000>; 11696f3fb86SAndrei.Stefanescu@microchip.com regulator-max-microvolt = <3700000>; 11796f3fb86SAndrei.Stefanescu@microchip.com regulator-always-on; 11896f3fb86SAndrei.Stefanescu@microchip.com 11996f3fb86SAndrei.Stefanescu@microchip.com regulator-state-standby { 12096f3fb86SAndrei.Stefanescu@microchip.com regulator-on-in-suspend; 12196f3fb86SAndrei.Stefanescu@microchip.com }; 12296f3fb86SAndrei.Stefanescu@microchip.com 12396f3fb86SAndrei.Stefanescu@microchip.com regulator-state-mem { 12496f3fb86SAndrei.Stefanescu@microchip.com regulator-off-in-suspend; 12596f3fb86SAndrei.Stefanescu@microchip.com }; 12696f3fb86SAndrei.Stefanescu@microchip.com }; 12796f3fb86SAndrei.Stefanescu@microchip.com 12896f3fb86SAndrei.Stefanescu@microchip.com LDO2 { 12996f3fb86SAndrei.Stefanescu@microchip.com regulator-name = "LDO2"; 13096f3fb86SAndrei.Stefanescu@microchip.com regulator-min-microvolt = <1200000>; 13196f3fb86SAndrei.Stefanescu@microchip.com regulator-max-microvolt = <3700000>; 13296f3fb86SAndrei.Stefanescu@microchip.com regulator-always-on; 13396f3fb86SAndrei.Stefanescu@microchip.com 13496f3fb86SAndrei.Stefanescu@microchip.com regulator-state-standby { 13596f3fb86SAndrei.Stefanescu@microchip.com regulator-on-in-suspend; 13696f3fb86SAndrei.Stefanescu@microchip.com }; 13796f3fb86SAndrei.Stefanescu@microchip.com 13896f3fb86SAndrei.Stefanescu@microchip.com regulator-state-mem { 13996f3fb86SAndrei.Stefanescu@microchip.com regulator-off-in-suspend; 14096f3fb86SAndrei.Stefanescu@microchip.com }; 14196f3fb86SAndrei.Stefanescu@microchip.com }; 14296f3fb86SAndrei.Stefanescu@microchip.com 14396f3fb86SAndrei.Stefanescu@microchip.com }; 14496f3fb86SAndrei.Stefanescu@microchip.com}; 145