コード例 #1
0
ファイル: axp20-regu.c プロジェクト: GREYFOXRGR/BPI-M3-bsp
	.is_enabled	= axp_ldoio0_is_enabled,
	.set_suspend_enable		= axp_ldoio0_enable,
	.set_suspend_disable	= axp_ldoio0_disable,
	.set_suspend_voltage	= axp_set_suspend_voltage,
};

#define AXP20_LDO(_id, min, max, step1, vreg, shift, nbits, ereg, ebit, switch_vol, step2,new_level, mode_addr, freq_addr)	\
	 AXP_LDO(AXP20, _id, min, max, step1, vreg, shift, nbits, ereg, ebit, switch_vol, step2, new_level, mode_addr, freq_addr)
 
#define AXP20_DCDC(_id, min, max, step1, vreg, shift, nbits, ereg, ebit, switch_vol, step2, new_level, mode_addr, freq_addr)	\
	 AXP_DCDC(AXP20, _id, min, max, step1, vreg, shift, nbits, ereg, ebit, switch_vol, step2, new_level, mode_addr, freq_addr)
 
static struct axp_regulator_info axp20_regulator_info[] = {
	AXP20_DCDC(2,	 700,	 	2275,	 25,	 BUCK2,  0,	 6,	 BUCK2EN,4, 0, 0, 0, 0, 0),
	AXP20_DCDC(3,	 700,	 	3500,	 25,	 BUCK3,  0,	 7,	 BUCK3EN,1, 0, 0, 0, 0, 0),
	AXP20_LDO(1,	 3300,		3300,	0,	 LDO1,	 0,	 0,	 LDO1EN, 0, 0, 0, 0, 0, 0),	   //ldo1 for rtc
	AXP20_LDO(2,	 1800,	 	3300,	 100,	 LDO2,	 4,	 4,	 LDO2EN, 2, 0, 0, 0, 0, 0),	   //ldo2 for aldo1
	AXP20_LDO(3,	 700,	 	3500,	 25,	 LDO3,	 0,	 7,	 LDO3EN, 6, 0, 0, 0, 0, 0),	   //ldo3 for aldo2
	AXP20_LDO(4,	 1250,	 	3300,	 0,	 LDO4,	 0,	 4,	 LDO4EN, 3, 0, 0, 0, 0, 0),	   //ldo4 for aldo3
	AXP20_LDO(IO0,	 1800,	 	3300,	 100,	 LDOIO0, 4,	 4,	 LDOIOEN,0, 0, 0, 0, 0, 0),	   //ldo5 for dldo1
	
};

static struct axp_reg_init axp_regl_init_data[] = {
	[axp20_vcc_dcdc2] = {
		{
			.constraints = {
				.name = "axp20_dcdc2",
				.min_uV = 700000,
				.max_uV = 2275000,
				.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | REGULATOR_CHANGE_STATUS,
コード例 #2
0
ファイル: axp20-regu.c プロジェクト: zetalabs/linux-3.4-sunxi
	.disable	= axp_ldoio0_disable,
	.is_enabled	= axp_ldoio0_is_enabled,
	.set_suspend_enable		= axp_ldoio0_enable,
	.set_suspend_disable	= axp_ldoio0_disable,
	.set_suspend_voltage	= axp_set_suspend_voltage,
};


#define AXP20_LDO(_id, min, max, step, vreg, shift, nbits, ereg, ebit)	\
	AXP_LDO(AXP20, _id, min, max, step, vreg, shift, nbits, ereg, ebit)

#define AXP20_BUCK(_id, min, max, step, vreg, shift, nbits, ereg, ebit)	\
	AXP_BUCK(AXP20, _id, min, max, step, vreg, shift, nbits, ereg, ebit)

static struct axp_regulator_info axp_regulator_info[] = {
	AXP20_LDO(	1,	AXP20LDO1,	AXP20LDO1,	0,		LDO1,	0,	0,	LDO1EN,	0),//ldo1 for rtc
	AXP20_LDO(	2,	1800,		3300,		100,	LDO2,	4,	4,	LDO2EN,	2),//ldo2 for analog1 
	AXP20_LDO(	3,	700,		3500,		25,		LDO3,	0,	7,	LDO3EN,	6),//ldo3 for digital
	AXP20_LDO(	4,	1250,		3300,		130,	LDO4,	0,	4,	LDO4EN,	3),//ldo4 for analog2
	AXP20_BUCK(	2,	700,		2275,		25,		BUCK2,	0,	6,	BUCK2EN,4),//buck2 for core
	AXP20_BUCK(	3,	700,		3500,		25,		BUCK3,	0,	7,	BUCK3EN,1),//buck3 for memery
	AXP20_LDO(	IO0,1800,		3300,		100,	LDOIO0,	4,	4,	LDOIOEN,0),//ldoio0 for mic
};

static ssize_t workmode_show(struct device *dev,
		struct device_attribute *attr, char *buf)
{
	struct regulator_dev *rdev = dev_get_drvdata(dev);
	struct axp_regulator_info *info = rdev_get_drvdata(rdev);
	struct device *axp_dev = to_axp_dev(rdev);
	int ret;