/* s5m87xx.h * * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. * http://www.samsung.com * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef __LINUX_MFD_S5M_PMIC_H #define __LINUX_MFD_S5M_PMIC_H #include /* S5M8767 regulator ids */ enum s5m8767_regulators { S5M8767_LDO1, S5M8767_LDO2, S5M8767_LDO3, S5M8767_LDO4, S5M8767_LDO5, S5M8767_LDO6, S5M8767_LDO7, S5M8767_LDO8, S5M8767_LDO9, S5M8767_LDO10, S5M8767_LDO11, S5M8767_LDO12, S5M8767_LDO13, S5M8767_LDO14, S5M8767_LDO15, S5M8767_LDO16, S5M8767_LDO17, S5M8767_LDO18, S5M8767_LDO19, S5M8767_LDO20, S5M8767_LDO21, S5M8767_LDO22, S5M8767_LDO23, S5M8767_LDO24, S5M8767_LDO25, S5M8767_LDO26, S5M8767_LDO27, S5M8767_LDO28, S5M8767_BUCK1, S5M8767_BUCK2, S5M8767_BUCK3, S5M8767_BUCK4, S5M8767_BUCK5, S5M8767_BUCK6, S5M8767_BUCK7, S5M8767_BUCK8, S5M8767_BUCK9, S5M8767_AP_EN32KHZ, S5M8767_CP_EN32KHZ, S5M8767_REG_MAX, }; #define S5M8767_ENCTRL_SHIFT 6 /* S5M8763 regulator ids */ enum s5m8763_regulators { S5M8763_LDO1, S5M8763_LDO2, S5M8763_LDO3, S5M8763_LDO4, S5M8763_LDO5, S5M8763_LDO6, S5M8763_LDO7, S5M8763_LDO8, S5M8763_LDO9, S5M8763_LDO10, S5M8763_LDO11, S5M8763_LDO12, S5M8763_LDO13, S5M8763_LDO14, S5M8763_LDO15, S5M8763_LDO16, S5M8763_BUCK1, S5M8763_BUCK2, S5M8763_BUCK3, S5M8763_BUCK4, S5M8763_AP_EN32KHZ, S5M8763_CP_EN32KHZ, S5M8763_ENCHGVI, S5M8763_ESAFEUSB1, S5M8763_ESAFEUSB2, }; /** * s5m87xx_regulator_data - regulator data * @id: regulator id * @initdata: regulator init data (contraints, supplies, ...) */ struct s5m_regulator_data { int id; struct regulator_init_data *initdata; }; /* * s5m_opmode_data - regulator operation mode data * @id: regulator id * @mode: regulator operation mode */ struct s5m_opmode_data { int id; int mode; }; /* * s5m regulator operation mode * S5M_OPMODE_OFF Regulator always OFF * S5M_OPMODE_ON Regulator always ON * S5M_OPMODE_LOWPOWER Regulator is on in low-power mode * S5M_OPMODE_SUSPEND Regulator is changed by PWREN pin * If PWREN is high, regulator is on * If PWREN is low, regulator is off */ enum s5m_opmode { S5M_OPMODE_OFF, S5M_OPMODE_ON, S5M_OPMODE_LOWPOWER, S5M_OPMODE_SUSPEND, }; #endif /* __LINUX_MFD_S5M_PMIC_H */