Unverified Commit d440c4ef authored by Mark Brown's avatar Mark Brown
Browse files

Merge branch 'regulator-5.3' into regulator-linus

parents f74c2bb9 3829100a
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -169,16 +169,16 @@ static int act8945a_set_mode(struct regulator_dev *rdev, unsigned int mode)
		reg = ACT8945A_DCDC3_CTRL;
		break;
	case ACT8945A_ID_LDO1:
		reg = ACT8945A_LDO1_SUS;
		reg = ACT8945A_LDO1_CTRL;
		break;
	case ACT8945A_ID_LDO2:
		reg = ACT8945A_LDO2_SUS;
		reg = ACT8945A_LDO2_CTRL;
		break;
	case ACT8945A_ID_LDO3:
		reg = ACT8945A_LDO3_SUS;
		reg = ACT8945A_LDO3_CTRL;
		break;
	case ACT8945A_ID_LDO4:
		reg = ACT8945A_LDO4_SUS;
		reg = ACT8945A_LDO4_CTRL;
		break;
	default:
		return -EINVAL;
+2 −2
Original line number Diff line number Diff line
@@ -205,7 +205,7 @@ static int slg51000_of_parse_cb(struct device_node *np,
	ena_gpiod = devm_gpiod_get_from_of_node(chip->dev, np,
						"enable-gpios", 0,
						gflags, "gpio-en-ldo");
	if (ena_gpiod) {
	if (!IS_ERR(ena_gpiod)) {
		config->ena_gpiod = ena_gpiod;
		devm_gpiod_unhinge(chip->dev, config->ena_gpiod);
	}
@@ -459,7 +459,7 @@ static int slg51000_i2c_probe(struct i2c_client *client,
					       GPIOD_OUT_HIGH
					       | GPIOD_FLAGS_BIT_NONEXCLUSIVE,
					       "slg51000-cs");
	if (cs_gpiod) {
	if (!IS_ERR(cs_gpiod)) {
		dev_info(dev, "Found chip selector property\n");
		chip->cs_gpiod = cs_gpiod;
	}
+20 −3
Original line number Diff line number Diff line
@@ -359,6 +359,17 @@ static const u16 VINTANA2_VSEL_table[] = {
	2500, 2750,
};

/* 600mV to 1450mV in 12.5 mV steps */
static const struct regulator_linear_range VDD1_ranges[] = {
	REGULATOR_LINEAR_RANGE(600000, 0, 68, 12500)
};

/* 600mV to 1450mV in 12.5 mV steps, everything above = 1500mV */
static const struct regulator_linear_range VDD2_ranges[] = {
	REGULATOR_LINEAR_RANGE(600000, 0, 68, 12500),
	REGULATOR_LINEAR_RANGE(1500000, 69, 69, 12500)
};

static int twl4030ldo_list_voltage(struct regulator_dev *rdev, unsigned index)
{
	struct twlreg_info	*info = rdev_get_drvdata(rdev);
@@ -427,6 +438,8 @@ static int twl4030smps_get_voltage(struct regulator_dev *rdev)
}

static const struct regulator_ops twl4030smps_ops = {
	.list_voltage   = regulator_list_voltage_linear_range,

	.set_voltage	= twl4030smps_set_voltage,
	.get_voltage	= twl4030smps_get_voltage,
};
@@ -466,7 +479,8 @@ static const struct twlreg_info TWL4030_INFO_##label = { \
		}, \
	}

#define TWL4030_ADJUSTABLE_SMPS(label, offset, num, turnon_delay, remap_conf) \
#define TWL4030_ADJUSTABLE_SMPS(label, offset, num, turnon_delay, remap_conf, \
		n_volt) \
static const struct twlreg_info TWL4030_INFO_##label = { \
	.base = offset, \
	.id = num, \
@@ -479,6 +493,9 @@ static const struct twlreg_info TWL4030_INFO_##label = { \
		.owner = THIS_MODULE, \
		.enable_time = turnon_delay, \
		.of_map_mode = twl4030reg_map_mode, \
		.n_voltages = n_volt, \
		.n_linear_ranges = ARRAY_SIZE(label ## _ranges), \
		.linear_ranges = label ## _ranges, \
		}, \
	}

@@ -518,8 +535,8 @@ TWL4030_ADJUSTABLE_LDO(VSIM, 0x37, 9, 100, 0x00);
TWL4030_ADJUSTABLE_LDO(VDAC, 0x3b, 10, 100, 0x08);
TWL4030_ADJUSTABLE_LDO(VINTANA2, 0x43, 12, 100, 0x08);
TWL4030_ADJUSTABLE_LDO(VIO, 0x4b, 14, 1000, 0x08);
TWL4030_ADJUSTABLE_SMPS(VDD1, 0x55, 15, 1000, 0x08);
TWL4030_ADJUSTABLE_SMPS(VDD2, 0x63, 16, 1000, 0x08);
TWL4030_ADJUSTABLE_SMPS(VDD1, 0x55, 15, 1000, 0x08, 68);
TWL4030_ADJUSTABLE_SMPS(VDD2, 0x63, 16, 1000, 0x08, 69);
/* VUSBCP is managed *only* by the USB subchip */
TWL4030_FIXED_LDO(VINTANA1, 0x3f, 1500, 11, 100, 0x08);
TWL4030_FIXED_LDO(VINTDIG, 0x47, 1500, 13, 100, 0x08);