diff mbox series

[3/3] regulator: lp87565: Add 4-phase lp87561 regulator support

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

Commit Message

J, KEERTHY May 15, 2019, 10:08 a.m. UTC
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(+)

Comments

Mark Brown May 15, 2019, 11:08 a.m. UTC | #1
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.
J, KEERTHY May 15, 2019, 11:13 a.m. UTC | #2
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 mbox series

Patch

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++) {