This patch add variables for opmode of s5m series. S5M series have 4 operation modes. Off mode is always regulator off mode. On mode is always regulator on mode. Lowpower mode is that regualtor operate in low-power. Suspend mode is that regulator operation depends on AP suspend mode. Signed-off-by: Sangbeom Kim <sbkim73@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
130 lines
2.4 KiB
C
130 lines
2.4 KiB
C
/* 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 <linux/regulator/machine.h>
|
|
|
|
/* 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 */
|