> S2MPS11/S2MPS14 regulators support different modes of operation: > - Always off; > - On/Off controlled by pin/GPIO (PWREN/LDOEN/EMMCEN); > - Always on; > This is very similar to S5M8767 regulator driver which also supports > opmodes (although S5M8767 have also low-power mode). > > This patch adds parsing the operation mode from DTS by reading a > "op_mode" property from regulator child node. > > The op_mode is then used for enabling the S2MPS14 regulators. > On S2MPS11 the DTS "op_mode" property is parsed but not used for > enabling, as this was not tested. > > Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> > Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> > Cc: Mark Brown <broonie@xxxxxxxxxx> > Cc: Liam Girdwood <lgirdwood@xxxxxxxxx> > --- > drivers/regulator/s2mps11.c | 97 ++++++++++++++++++++++++++++++++++- > include/linux/mfd/samsung/s2mps14.h | 19 +++++++ > 2 files changed, 115 insertions(+), 1 deletion(-) <snip> > +++ b/include/linux/mfd/samsung/s2mps14.h > @@ -149,4 +149,23 @@ enum s2mps14_regulators { > #define S2MPS14_LDO_N_VOLTAGES (S2MPS14_LDO_VSEL_MASK + 1) > #define S2MPS14_BUCK_N_VOLTAGES (S2MPS14_BUCK_VSEL_MASK + 1) > > +#define S2MPS14_ENCTRL_SHIFT 6 > +#define S2MPS14_ENCTRL_MASK (0x3 << S2MPS14_ENCTRL_SHIFT) > + > +/* > + * Values of regulator operation modes match device tree bindings. > + */ > +enum s2mps14_regulator_opmode { > + S2MPS14_REGULATOR_OPMODE_OFF = 0, > + S2MPS14_REGULATOR_OPMODE_ON = 1, > + /* > + * Reserved for compatibility with S5M8767 where this > + * is a low power mode. > + */ > + S2MPS14_REGULATOR_OPMODE_RESERVED = 2, > + S2MPS14_REGULATOR_OPMODE_SUSPEND = 3, You don't need to number these like this. If you want to force the numbering to start at '0' initialise the top value, then the rest should be sequential. > + S2MPS14_REGULATOR_OPMODE_MAX, > +}; > + > #endif /* __LINUX_MFD_S2MPS14_H */ -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html