Message ID | 20190515100848.19560-4-j-keerthy@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mfd: lp87565: Add support for 4-phase lp87561 combination | expand |
On Wed, May 15, 2019 at 03:38:48PM +0530, Keerthy wrote: > @@ -172,6 +178,9 @@ static int lp87565_regulator_probe(struct platform_device *pdev) > if (lp87565->dev_type == LP87565_DEVICE_TYPE_LP87565_Q1) { > min_idx = LP87565_BUCK_10; > max_idx = LP87565_BUCK_23; > + } else if (lp87565->dev_type == LP87565_DEVICE_TYPE_LP87561_Q1) { > + min_idx = LP87565_BUCK_3210; > + max_idx = LP87565_BUCK_3210; This if/else chain should be a switch statement.
On 15/05/19 4:38 PM, Mark Brown wrote: > On Wed, May 15, 2019 at 03:38:48PM +0530, Keerthy wrote: > >> @@ -172,6 +178,9 @@ static int lp87565_regulator_probe(struct platform_device *pdev) >> if (lp87565->dev_type == LP87565_DEVICE_TYPE_LP87565_Q1) { >> min_idx = LP87565_BUCK_10; >> max_idx = LP87565_BUCK_23; >> + } else if (lp87565->dev_type == LP87565_DEVICE_TYPE_LP87561_Q1) { >> + min_idx = LP87565_BUCK_3210; >> + max_idx = LP87565_BUCK_3210; > > This if/else chain should be a switch statement. Okay. I will convert that in v2. Thanks, Keerthy >
diff --git a/drivers/regulator/lp87565-regulator.c b/drivers/regulator/lp87565-regulator.c index 81eb4b890c0c..8255650df1cd 100644 --- a/drivers/regulator/lp87565-regulator.c +++ b/drivers/regulator/lp87565-regulator.c @@ -153,6 +153,12 @@ static const struct lp87565_regulator regulators[] = { LP87565_REG_BUCK2_CTRL_1, LP87565_BUCK_CTRL_1_EN, 3230, buck0_1_2_3_ranges, LP87565_REG_BUCK2_CTRL_2), + LP87565_REGULATOR("BUCK3210", LP87565_BUCK_3210, "buck3210", + lp87565_buck_ops, 256, LP87565_REG_BUCK0_VOUT, + LP87565_BUCK_VSET, LP87565_REG_BUCK0_CTRL_1, + LP87565_BUCK_CTRL_1_EN | + LP87565_BUCK_CTRL_1_FPWM_MP_0_2, 3230, + buck0_1_2_3_ranges, LP87565_REG_BUCK0_CTRL_2), }; static int lp87565_regulator_probe(struct platform_device *pdev) @@ -172,6 +178,9 @@ static int lp87565_regulator_probe(struct platform_device *pdev) if (lp87565->dev_type == LP87565_DEVICE_TYPE_LP87565_Q1) { min_idx = LP87565_BUCK_10; max_idx = LP87565_BUCK_23; + } else if (lp87565->dev_type == LP87565_DEVICE_TYPE_LP87561_Q1) { + min_idx = LP87565_BUCK_3210; + max_idx = LP87565_BUCK_3210; } for (i = min_idx; i <= max_idx; i++) {
The LP8756x family has a single output 4-phase regulator configuration. Add support for the same. The control lies in the master buck which is buck0 for 4-phase configuration. Enable/disable/voltage set happen via buck0 registers. Data Sheet: https://www.ti.com/lit/ds/symlink/lp87561-q1.pdf Signed-off-by: Keerthy <j-keerthy@ti.com> --- drivers/regulator/lp87565-regulator.c | 9 +++++++++ 1 file changed, 9 insertions(+)