Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 684d5ce4 authored by Zhenhua HUANG's avatar Zhenhua HUANG Committed by Mark Brown
Browse files

regulator: ab8500: Introduce aux5, aux6 regulators for AB8540

parent 33aeb49e
Loading
Loading
Loading
Loading
+65 −0
Original line number Diff line number Diff line
@@ -149,6 +149,21 @@ static const unsigned int ldo_vaux3_ab8540_voltages[] = {
	3050000,
};

static const unsigned int ldo_vaux56_ab8540_voltages[] = {
	750000, 760000, 770000, 780000, 790000, 800000,
	810000, 820000, 830000, 840000, 850000, 860000,
	870000, 880000, 890000, 900000, 910000, 920000,
	930000, 940000, 950000, 960000, 970000, 980000,
	990000, 1000000, 1010000, 1020000, 1030000,
	1040000, 1050000, 1060000, 1070000, 1080000,
	1090000, 1100000, 1110000, 1120000, 1130000,
	1140000, 1150000, 1160000, 1170000, 1180000,
	1190000, 1200000, 1210000, 1220000, 1230000,
	1240000, 1250000, 1260000, 1270000, 1280000,
	1290000, 1300000, 1310000, 1320000, 1330000,
	1340000, 1350000, 1360000, 1800000, 2790000,
};

static const unsigned int ldo_vintcore_voltages[] = {
	1200000,
	1225000,
@@ -1569,6 +1584,54 @@ static struct ab8500_regulator_info
		.voltage_reg		= 0x2f,
		.voltage_mask		= 0x0f,
	},
	[AB8540_LDO_AUX5] = {
		.desc = {
			.name		= "LDO-AUX5",
			.ops		= &ab8500_regulator_volt_mode_ops,
			.type		= REGULATOR_VOLTAGE,
			.id		= AB8540_LDO_AUX5,
			.owner		= THIS_MODULE,
			.n_voltages	= ARRAY_SIZE(ldo_vaux56_ab8540_voltages),
		},
		.load_lp_uA		= 20000,
		/* values for Vaux5Regu register */
		.update_bank		= 0x04,
		.update_reg		= 0x32,
		.update_mask		= 0x03,
		.update_val		= 0x01,
		.update_val_idle	= 0x03,
		.update_val_normal	= 0x01,
		/* values for Vaux5SEL register */
		.voltage_bank		= 0x04,
		.voltage_reg		= 0x33,
		.voltage_mask		= 0x3f,
		.voltages		= ldo_vaux56_ab8540_voltages,
		.voltages_len		= ARRAY_SIZE(ldo_vaux56_ab8540_voltages),
	},
	[AB8540_LDO_AUX6] = {
		.desc = {
			.name		= "LDO-AUX6",
			.ops		= &ab8500_regulator_volt_mode_ops,
			.type		= REGULATOR_VOLTAGE,
			.id		= AB8540_LDO_AUX6,
			.owner		= THIS_MODULE,
			.n_voltages	= ARRAY_SIZE(ldo_vaux56_ab8540_voltages),
		},
		.load_lp_uA		= 20000,
		/* values for Vaux6Regu register */
		.update_bank		= 0x04,
		.update_reg		= 0x35,
		.update_mask		= 0x03,
		.update_val		= 0x01,
		.update_val_idle	= 0x03,
		.update_val_normal	= 0x01,
		/* values for Vaux6SEL register */
		.voltage_bank		= 0x04,
		.voltage_reg		= 0x36,
		.voltage_mask		= 0x3f,
		.voltages		= ldo_vaux56_ab8540_voltages,
		.voltages_len		= ARRAY_SIZE(ldo_vaux56_ab8540_voltages),
	},
	[AB8540_LDO_INTCORE] = {
		.desc = {
			.name		= "LDO-INTCORE",
@@ -2979,6 +3042,8 @@ static struct of_regulator_match ab8540_regulator_match[] = {
	{ .name	= "ab8500_ldo_aux2",    .driver_data = (void *) AB8540_LDO_AUX2, },
	{ .name	= "ab8500_ldo_aux3",    .driver_data = (void *) AB8540_LDO_AUX3, },
	{ .name	= "ab8500_ldo_aux4",    .driver_data = (void *) AB8540_LDO_AUX4, },
	{ .name	= "ab8500_ldo_aux5",    .driver_data = (void *) AB8540_LDO_AUX5, },
	{ .name	= "ab8500_ldo_aux6",    .driver_data = (void *) AB8540_LDO_AUX6, },
	{ .name	= "ab8500_ldo_intcore", .driver_data = (void *) AB8540_LDO_INTCORE, },
	{ .name	= "ab8500_ldo_tvout",   .driver_data = (void *) AB8540_LDO_TVOUT, },
	{ .name = "ab8500_ldo_audio",   .driver_data = (void *) AB8540_LDO_AUDIO, },
+2 −0
Original line number Diff line number Diff line
@@ -74,6 +74,8 @@ enum ab8540_regulator_id {
	AB8540_LDO_AUX2,
	AB8540_LDO_AUX3,
	AB8540_LDO_AUX4,
	AB8540_LDO_AUX5,
	AB8540_LDO_AUX6,
	AB8540_LDO_INTCORE,
	AB8540_LDO_TVOUT,
	AB8540_LDO_AUDIO,