Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

regulator: dt-bindings: add MCP16502 regulator bindings

This patch describes the compatible and the device tree
bindings necessary for the MCP16502 PMIC.

Signed-off-by: Andrei Stefanescu <andrei.stefanescu@microchip.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Andrei.Stefanescu@microchip.com and committed by
Mark Brown
96f3fb86 8a582fa9

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