regulator: sy8824x: add SY20276 support
authorJisheng Zhang <Jisheng.Zhang@synaptics.com>
Tue, 27 Aug 2019 08:48:36 +0000 (08:48 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 27 Aug 2019 19:46:41 +0000 (20:46 +0100)
The differences between SY8824C and SY20276 are different vsel_min,
vsel_step, vsel_count and regs for mode/enable.

Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
Link: https://lore.kernel.org/r/20190827163721.1947f7a0@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/sy8824x.c

index b1438d94eee2e4c152c46bd7eb396d4ab88f6f74..9410c34708706cb1be3d1516d37ad76b0ae668a0 100644 (file)
@@ -171,6 +171,15 @@ static const struct sy8824_config sy8824e_cfg = {
        .vsel_count = 64,
 };
 
+static const struct sy8824_config sy20276_cfg = {
+       .vol_reg = 0x00,
+       .mode_reg = 0x01,
+       .enable_reg = 0x01,
+       .vsel_min = 600000,
+       .vsel_step = 10000,
+       .vsel_count = 128,
+};
+
 static const struct of_device_id sy8824_dt_ids[] = {
        {
                .compatible = "silergy,sy8824c",
@@ -180,6 +189,10 @@ static const struct of_device_id sy8824_dt_ids[] = {
                .compatible = "silergy,sy8824e",
                .data = &sy8824e_cfg
        },
+       {
+               .compatible = "silergy,sy20276",
+               .data = &sy20276_cfg
+       },
        { }
 };
 MODULE_DEVICE_TABLE(of, sy8824_dt_ids);