diff mbox series

[v2,4/4] regulator: mp5416: add support for MP5496

Message ID 20220604145816.47576-4-robimarko@gmail.com
State Accepted
Commit fcdaf74a0abb6a4410b69dd80b525562457daafd
Headers show
Series [v2,1/4] regulator: dt-bindings: mps,mp5416: add MP5496 compatible | expand

Commit Message

Robert Marko June 4, 2022, 2:58 p.m. UTC
MP5496 is the updated version of MP5416 with the only difference being
that now all Buck regulators have the same 0.6-2.1875V range with a 12.5mV
step.

Signed-off-by: Robert Marko <robimarko@gmail.com>
---
 drivers/regulator/mp5416.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

Saravanan Sekar June 5, 2022, 10:10 a.m. UTC | #1
On 04/06/22 16:58, Robert Marko wrote:
> MP5496 is the updated version of MP5416 with the only difference being
> that now all Buck regulators have the same 0.6-2.1875V range with a 12.5mV
> step.
> 
> Signed-off-by: Robert Marko <robimarko@gmail.com>
> ---
>   drivers/regulator/mp5416.c | 13 +++++++++++++
>   1 file changed, 13 insertions(+)
> 
> diff --git a/drivers/regulator/mp5416.c b/drivers/regulator/mp5416.c
> index 011a825570ea..71e20e8d78ac 100644
> --- a/drivers/regulator/mp5416.c
> +++ b/drivers/regulator/mp5416.c
> @@ -175,6 +175,17 @@ static struct regulator_desc mp5416_regulators_desc[MP5416_MAX_REGULATORS] = {
>   	MP5416LDO("ldo4", 4, BIT(1)),
>   };
>   
> +static struct regulator_desc mp5496_regulators_desc[MP5416_MAX_REGULATORS] = {
> +	MP5416BUCK("buck1", 1, mp5416_I_limits1, MP5416_REG_CTL1, BIT(0), 1),
> +	MP5416BUCK("buck2", 2, mp5416_I_limits2, MP5416_REG_CTL1, BIT(1), 1),
> +	MP5416BUCK("buck3", 3, mp5416_I_limits1, MP5416_REG_CTL1, BIT(2), 1),
> +	MP5416BUCK("buck4", 4, mp5416_I_limits2, MP5416_REG_CTL2, BIT(5), 1),
> +	MP5416LDO("ldo1", 1, BIT(4)),
> +	MP5416LDO("ldo2", 2, BIT(3)),
> +	MP5416LDO("ldo3", 3, BIT(2)),
> +	MP5416LDO("ldo4", 4, BIT(1)),
> +};
> +
>   static int mp5416_i2c_probe(struct i2c_client *client)
>   {
>   	struct device *dev = &client->dev;
> @@ -212,12 +223,14 @@ static int mp5416_i2c_probe(struct i2c_client *client)
>   
>   static const struct of_device_id mp5416_of_match[] = {
>   	{ .compatible = "mps,mp5416", .data = &mp5416_regulators_desc },
> +	{ .compatible = "mps,mp5496", .data = &mp5496_regulators_desc },
>   	{},
>   };
>   MODULE_DEVICE_TABLE(of, mp5416_of_match);
>   
>   static const struct i2c_device_id mp5416_id[] = {
>   	{ "mp5416", },
> +	{ "mp5496", },
>   	{ },
>   };
>   MODULE_DEVICE_TABLE(i2c, mp5416_id);

Acked-by: Saravanan Sekar <sravanhome@gmail.com>
diff mbox series

Patch

diff --git a/drivers/regulator/mp5416.c b/drivers/regulator/mp5416.c
index 011a825570ea..71e20e8d78ac 100644
--- a/drivers/regulator/mp5416.c
+++ b/drivers/regulator/mp5416.c
@@ -175,6 +175,17 @@  static struct regulator_desc mp5416_regulators_desc[MP5416_MAX_REGULATORS] = {
 	MP5416LDO("ldo4", 4, BIT(1)),
 };
 
+static struct regulator_desc mp5496_regulators_desc[MP5416_MAX_REGULATORS] = {
+	MP5416BUCK("buck1", 1, mp5416_I_limits1, MP5416_REG_CTL1, BIT(0), 1),
+	MP5416BUCK("buck2", 2, mp5416_I_limits2, MP5416_REG_CTL1, BIT(1), 1),
+	MP5416BUCK("buck3", 3, mp5416_I_limits1, MP5416_REG_CTL1, BIT(2), 1),
+	MP5416BUCK("buck4", 4, mp5416_I_limits2, MP5416_REG_CTL2, BIT(5), 1),
+	MP5416LDO("ldo1", 1, BIT(4)),
+	MP5416LDO("ldo2", 2, BIT(3)),
+	MP5416LDO("ldo3", 3, BIT(2)),
+	MP5416LDO("ldo4", 4, BIT(1)),
+};
+
 static int mp5416_i2c_probe(struct i2c_client *client)
 {
 	struct device *dev = &client->dev;
@@ -212,12 +223,14 @@  static int mp5416_i2c_probe(struct i2c_client *client)
 
 static const struct of_device_id mp5416_of_match[] = {
 	{ .compatible = "mps,mp5416", .data = &mp5416_regulators_desc },
+	{ .compatible = "mps,mp5496", .data = &mp5496_regulators_desc },
 	{},
 };
 MODULE_DEVICE_TABLE(of, mp5416_of_match);
 
 static const struct i2c_device_id mp5416_id[] = {
 	{ "mp5416", },
+	{ "mp5496", },
 	{ },
 };
 MODULE_DEVICE_TABLE(i2c, mp5416_id);