diff for duplicates of <20150526161024.GQ11677@x1> diff --git a/a/1.txt b/N1/1.txt index 745320f..295d299 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,35 +1,39 @@ On Tue, 19 May 2015, S Twiss wrote: > From: S Twiss <stwiss.opensource@diasemi.com> -> +>=20 > Add MFD core driver support for DA9062 -> -> +>=20 +>=20 > Signed-off-by: Steve Twiss <stwiss.opensource@diasemi.com> -> +>=20 > --- > Changes in V3: > - Removed references to the RTC and OnKey in the mfd_cell definition. -> +>=20 > Changes in V2: -> - Copyright headers GPL v2 (and later) match correct 'GPL' in MODULE_LICENSE -> - Ensure DA9062 core is tristate in Kconfig so it can be built as a module -> - Move VDD_WARN code and resource into the core instead of regulator driver -> -> This patch applies against linux-next and v4.1-rc3 -> -> -> +> - Copyright headers GPL v2 (and later) match correct 'GPL' in MODULE_LIC= +ENSE +> - Ensure DA9062 core is tristate in Kconfig so it can be built as a modu= +le +> - Move VDD_WARN code and resource into the core instead of regulator dri= +ver +>=20 +> This patch applies against linux-next and v4.1-rc3=20 +>=20 +>=20 +>=20 > drivers/mfd/Kconfig | 12 + > drivers/mfd/Makefile | 3 +- > drivers/mfd/da9062-core.c | 611 +++++++++++++++++++ > include/linux/mfd/da9062/core.h | 62 ++ -> include/linux/mfd/da9062/registers.h | 1108 ++++++++++++++++++++++++++++++++++ +> include/linux/mfd/da9062/registers.h | 1108 ++++++++++++++++++++++++++++= +++++++ > 5 files changed, 1795 insertions(+), 1 deletion(-) > create mode 100644 drivers/mfd/da9062-core.c > create mode 100644 include/linux/mfd/da9062/core.h > create mode 100644 include/linux/mfd/da9062/registers.h -> +>=20 > diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig > index d5ad04d..44fb2b9 100644 > --- a/drivers/mfd/Kconfig @@ -37,13 +41,13 @@ On Tue, 19 May 2015, S Twiss wrote: > @@ -183,6 +183,18 @@ config MFD_DA9055 > This driver can be built as a module. If built as a module it will be > called "da9055" -> +> =20 > +config MFD_DA9062 > + tristate "Dialog Semiconductor DA9062 PMIC Support" > + select MFD_CORE > + select REGMAP_I2C > + select REGMAP_IRQ -> + depends on I2C=y +> + depends on I2C=3Dy > + help > + Say yes here for support for the Dialog Semiconductor DA9062 PMIC. > + This includes the I2C driver and core APIs. @@ -57,19 +61,19 @@ On Tue, 19 May 2015, S Twiss wrote: > index 0e5cfeb..d94e562 100644 > --- a/drivers/mfd/Makefile > +++ b/drivers/mfd/Makefile -> @@ -110,10 +110,11 @@ obj-$(CONFIG_MFD_LP8788) += lp8788.o lp8788-irq.o -> -> da9055-objs := da9055-core.o da9055-i2c.o -> obj-$(CONFIG_MFD_DA9055) += da9055.o +> @@ -110,10 +110,11 @@ obj-$(CONFIG_MFD_LP8788) +=3D lp8788.o lp8788-irq.o +> =20 +> da9055-objs :=3D da9055-core.o da9055-i2c.o +> obj-$(CONFIG_MFD_DA9055) +=3D da9055.o > - -> +obj-$(CONFIG_MFD_DA9062) += da9062-core.o -> da9063-objs := da9063-core.o da9063-irq.o da9063-i2c.o -> obj-$(CONFIG_MFD_DA9063) += da9063.o -> obj-$(CONFIG_MFD_DA9150) += da9150-core.o -> + -> obj-$(CONFIG_MFD_MAX14577) += max14577.o -> obj-$(CONFIG_MFD_MAX77686) += max77686.o -> obj-$(CONFIG_MFD_MAX77693) += max77693.o +> +obj-$(CONFIG_MFD_DA9062) +=3D da9062-core.o +> da9063-objs :=3D da9063-core.o da9063-irq.o da9063-i2c.o +> obj-$(CONFIG_MFD_DA9063) +=3D da9063.o +> obj-$(CONFIG_MFD_DA9150) +=3D da9150-core.o +> + +> obj-$(CONFIG_MFD_MAX14577) +=3D max14577.o +> obj-$(CONFIG_MFD_MAX77686) +=3D max77686.o +> obj-$(CONFIG_MFD_MAX77693) +=3D max77693.o > diff --git a/drivers/mfd/da9062-core.c b/drivers/mfd/da9062-core.c > new file mode 100644 > index 0000000..5aea082 @@ -139,84 +143,84 @@ Not sure what this means? > +#define DA9062_REG_EVENT_B_OFFSET 1 > +#define DA9062_REG_EVENT_C_OFFSET 2 > + -> +static struct regmap_irq da9062_irqs[] = { +> +static struct regmap_irq da9062_irqs[] =3D { > + /* EVENT A */ -> + [DA9062_IRQ_ONKEY] = { -> + .reg_offset = DA9062_REG_EVENT_A_OFFSET, -> + .mask = DA9062AA_M_NONKEY_MASK, +> + [DA9062_IRQ_ONKEY] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_A_OFFSET, +> + .mask =3D DA9062AA_M_NONKEY_MASK, > + }, -> + [DA9062_IRQ_ALARM] = { -> + .reg_offset = DA9062_REG_EVENT_A_OFFSET, -> + .mask = DA9062AA_M_ALARM_MASK, +> + [DA9062_IRQ_ALARM] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_A_OFFSET, +> + .mask =3D DA9062AA_M_ALARM_MASK, > + }, -> + [DA9062_IRQ_TICK] = { -> + .reg_offset = DA9062_REG_EVENT_A_OFFSET, -> + .mask = DA9062AA_M_TICK_MASK, +> + [DA9062_IRQ_TICK] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_A_OFFSET, +> + .mask =3D DA9062AA_M_TICK_MASK, > + }, -> + [DA9062_IRQ_WDG_WARN] = { -> + .reg_offset = DA9062_REG_EVENT_A_OFFSET, -> + .mask = DA9062AA_M_WDG_WARN_MASK, +> + [DA9062_IRQ_WDG_WARN] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_A_OFFSET, +> + .mask =3D DA9062AA_M_WDG_WARN_MASK, > + }, -> + [DA9062_IRQ_SEQ_RDY] = { -> + .reg_offset = DA9062_REG_EVENT_A_OFFSET, -> + .mask = DA9062AA_M_SEQ_RDY_MASK, +> + [DA9062_IRQ_SEQ_RDY] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_A_OFFSET, +> + .mask =3D DA9062AA_M_SEQ_RDY_MASK, > + }, > + /* EVENT B */ -> + [DA9062_IRQ_TEMP] = { -> + .reg_offset = DA9062_REG_EVENT_B_OFFSET, -> + .mask = DA9062AA_M_TEMP_MASK, +> + [DA9062_IRQ_TEMP] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_B_OFFSET, +> + .mask =3D DA9062AA_M_TEMP_MASK, > + }, -> + [DA9062_IRQ_LDO_LIM] = { -> + .reg_offset = DA9062_REG_EVENT_B_OFFSET, -> + .mask = DA9062AA_M_LDO_LIM_MASK, +> + [DA9062_IRQ_LDO_LIM] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_B_OFFSET, +> + .mask =3D DA9062AA_M_LDO_LIM_MASK, > + }, -> + [DA9062_IRQ_DVC_RDY] = { -> + .reg_offset = DA9062_REG_EVENT_B_OFFSET, -> + .mask = DA9062AA_M_DVC_RDY_MASK, +> + [DA9062_IRQ_DVC_RDY] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_B_OFFSET, +> + .mask =3D DA9062AA_M_DVC_RDY_MASK, > + }, -> + [DA9062_IRQ_VDD_WARN] = { -> + .reg_offset = DA9062_REG_EVENT_B_OFFSET, -> + .mask = DA9062AA_M_VDD_WARN_MASK, +> + [DA9062_IRQ_VDD_WARN] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_B_OFFSET, +> + .mask =3D DA9062AA_M_VDD_WARN_MASK, > + }, > + /* EVENT C */ -> + [DA9062_IRQ_GPI0] = { -> + .reg_offset = DA9062_REG_EVENT_C_OFFSET, -> + .mask = DA9062AA_M_GPI0_MASK, +> + [DA9062_IRQ_GPI0] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_C_OFFSET, +> + .mask =3D DA9062AA_M_GPI0_MASK, > + }, -> + [DA9062_IRQ_GPI1] = { -> + .reg_offset = DA9062_REG_EVENT_C_OFFSET, -> + .mask = DA9062AA_M_GPI1_MASK, +> + [DA9062_IRQ_GPI1] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_C_OFFSET, +> + .mask =3D DA9062AA_M_GPI1_MASK, > + }, -> + [DA9062_IRQ_GPI2] = { -> + .reg_offset = DA9062_REG_EVENT_C_OFFSET, -> + .mask = DA9062AA_M_GPI2_MASK, +> + [DA9062_IRQ_GPI2] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_C_OFFSET, +> + .mask =3D DA9062AA_M_GPI2_MASK, > + }, -> + [DA9062_IRQ_GPI3] = { -> + .reg_offset = DA9062_REG_EVENT_C_OFFSET, -> + .mask = DA9062AA_M_GPI3_MASK, +> + [DA9062_IRQ_GPI3] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_C_OFFSET, +> + .mask =3D DA9062AA_M_GPI3_MASK, > + }, -> + [DA9062_IRQ_GPI4] = { -> + .reg_offset = DA9062_REG_EVENT_C_OFFSET, -> + .mask = DA9062AA_M_GPI4_MASK, +> + [DA9062_IRQ_GPI4] =3D { +> + .reg_offset =3D DA9062_REG_EVENT_C_OFFSET, +> + .mask =3D DA9062AA_M_GPI4_MASK, > + }, > +}; > + -> +static struct regmap_irq_chip da9062_irq_chip = { +> +static struct regmap_irq_chip da9062_irq_chip =3D { > + /* IRQ */ Not required I think. -> + .name = "da9062-irq", -> + .irqs = da9062_irqs, -> + .num_irqs = DA9062_NUM_IRQ, +> + .name =3D "da9062-irq", +> + .irqs =3D da9062_irqs, +> + .num_irqs =3D DA9062_NUM_IRQ, > + /* STATUS and EVENT */ This is a standard struct, no need for additional comments. -> + .num_regs = 3, -> + .status_base = DA9062AA_EVENT_A, -> + .mask_base = DA9062AA_IRQ_MASK_A, -> + .ack_base = DA9062AA_EVENT_A, +> + .num_regs =3D 3, +> + .status_base =3D DA9062AA_EVENT_A, +> + .mask_base =3D DA9062AA_IRQ_MASK_A, +> + .ack_base =3D DA9062AA_EVENT_A, > +}; > + > +int da9062_irq_init(struct da9062 *chip) @@ -231,7 +235,7 @@ Check this once, in probe(), then rid this check. > + return -EINVAL; > + } > + -> + ret = regmap_add_irq_chip(chip->regmap, chip->chip_irq, +> + ret =3D regmap_add_irq_chip(chip->regmap, chip->chip_irq, > + IRQF_TRIGGER_LOW | IRQF_ONESHOT | IRQF_SHARED, > + chip->irq_base, &da9062_irq_chip, > + &chip->regmap_irq); @@ -260,75 +264,75 @@ Again, this is abstraction for the sake of abstraction. Doesn't add anything. This whole driver is the core driver. -> +static struct resource da9062_core_resources[] = { +> +static struct resource da9062_core_resources[] =3D { const? > + { -> + .name = "VDD_WARN", -> + .start = DA9062_IRQ_VDD_WARN, -> + .end = DA9062_IRQ_VDD_WARN, -> + .flags = IORESOURCE_IRQ, +> + .name =3D "VDD_WARN", +> + .start =3D DA9062_IRQ_VDD_WARN, +> + .end =3D DA9062_IRQ_VDD_WARN, +> + .flags =3D IORESOURCE_IRQ, > + }, > +}; > + -> +static struct resource da9062_regulators_resources[] = { +> +static struct resource da9062_regulators_resources[] =3D { > + { -> + .name = "LDO_LIM", -> + .start = DA9062_IRQ_LDO_LIM, -> + .end = DA9062_IRQ_LDO_LIM, -> + .flags = IORESOURCE_IRQ, +> + .name =3D "LDO_LIM", +> + .start =3D DA9062_IRQ_LDO_LIM, +> + .end =3D DA9062_IRQ_LDO_LIM, +> + .flags =3D IORESOURCE_IRQ, > + }, > +}; > + -> +static struct resource da9062_thermal_resources[] = { +> +static struct resource da9062_thermal_resources[] =3D { > + { -> + .name = "THERMAL", -> + .start = DA9062_IRQ_TEMP, -> + .end = DA9062_IRQ_TEMP, -> + .flags = IORESOURCE_IRQ, +> + .name =3D "THERMAL", +> + .start =3D DA9062_IRQ_TEMP, +> + .end =3D DA9062_IRQ_TEMP, +> + .flags =3D IORESOURCE_IRQ, > + }, > +}; > + -> +static struct resource da9062_wdt_resources[] = { +> +static struct resource da9062_wdt_resources[] =3D { > + { -> + .name = "WDG_WARN", -> + .start = DA9062_IRQ_WDG_WARN, -> + .end = DA9062_IRQ_WDG_WARN, -> + .flags = IORESOURCE_IRQ, +> + .name =3D "WDG_WARN", +> + .start =3D DA9062_IRQ_WDG_WARN, +> + .end =3D DA9062_IRQ_WDG_WARN, +> + .flags =3D IORESOURCE_IRQ, > + }, > +}; Convert all of these to oneliners using DEFINE_RES_* macros. -> +static const struct mfd_cell da9062_devs[] = { +> +static const struct mfd_cell da9062_devs[] =3D { > + { -> + .name = "da9062-core", -> + .num_resources = ARRAY_SIZE(da9062_core_resources), -> + .resources = da9062_core_resources, +> + .name =3D "da9062-core", +> + .num_resources =3D ARRAY_SIZE(da9062_core_resources), +> + .resources =3D da9062_core_resources, > + }, > + { -> + .name = "da9062-regulators", -> + .num_resources = ARRAY_SIZE(da9062_regulators_resources), -> + .resources = da9062_regulators_resources, +> + .name =3D "da9062-regulators", +> + .num_resources =3D ARRAY_SIZE(da9062_regulators_resources), +> + .resources =3D da9062_regulators_resources, > + }, > + { -> + .name = "da9062-watchdog", -> + .num_resources = ARRAY_SIZE(da9062_wdt_resources), -> + .resources = da9062_wdt_resources, -> + .of_compatible = "dlg,da9062-wdt", +> + .name =3D "da9062-watchdog", +> + .num_resources =3D ARRAY_SIZE(da9062_wdt_resources), +> + .resources =3D da9062_wdt_resources, +> + .of_compatible =3D "dlg,da9062-wdt", > + }, > + { -> + .name = "da9062-thermal", -> + .num_resources = ARRAY_SIZE(da9062_thermal_resources), -> + .resources = da9062_thermal_resources, -> + .of_compatible = "dlg,da9062-thermal", +> + .name =3D "da9062-thermal", +> + .num_resources =3D ARRAY_SIZE(da9062_thermal_resources), +> + .resources =3D da9062_thermal_resources, +> + .of_compatible =3D "dlg,da9062-thermal", > + }, > +}; > + > +static irqreturn_t da9062_vdd_warn_event(int irq, void *data) > +{ -> + struct da9062 *hw = data; +> + struct da9062 *hw =3D data; > + > + dev_err(hw->dev, "VDD warning indicator\n"); @@ -339,18 +343,18 @@ Is it an error? Doesn't look like it. > + > +static int da9062_clear_fault_log(struct da9062 *chip) > +{ -> + int ret = 0; +> + int ret =3D 0; No need to pre-initialise. -> + int fault_log = 0; +> + int fault_log =3D 0; As above. -> + ret = regmap_read(chip->regmap, DA9062AA_FAULT_LOG, &fault_log); +> + ret =3D regmap_read(chip->regmap, DA9062AA_FAULT_LOG, &fault_log); > + if (ret < 0) { > + dev_err(chip->dev, "Cannot read FAULT_LOG.\n"); -> + ret = -EIO; +> + ret =3D -EIO; Just return and rid the else. @@ -374,7 +378,7 @@ Just return and rid the else. > + dev_dbg(chip->dev, "Fault log entry detected: WAIT_SHUT\n"); > + } > + -> + ret = regmap_write(chip->regmap, DA9062AA_FAULT_LOG, +> + ret =3D regmap_write(chip->regmap, DA9062AA_FAULT_LOG, > + fault_log); > + if (ret < 0) > + dev_err(chip->dev, @@ -394,32 +398,32 @@ No need to pass irq, as it's part of chip. Put ret on its own line. -> + ret = da9062_clear_fault_log(chip); +> + ret =3D da9062_clear_fault_log(chip); > + if (ret < 0) > + dev_err(chip->dev, "Cannot clear fault log\n"); If this is an error, you must return. If it's just a warning then use dev_warn(). -> + chip->irq_base = -1; +> + chip->irq_base =3D -1; Why are you pre-initialising? -> + chip->chip_irq = irq; +> + chip->chip_irq =3D irq; You already assigned irq to chip_irq. -> + ret = regmap_read(chip->regmap, DA9062AA_DEVICE_ID, &device_id); +> + ret =3D regmap_read(chip->regmap, DA9062AA_DEVICE_ID, &device_id); > + if (ret < 0) { > + dev_err(chip->dev, "Cannot read chip ID.\n"); > + return -EIO; > + } -> + if (device_id != DA9062_PMIC_DEVICE_ID) { +> + if (device_id !=3D DA9062_PMIC_DEVICE_ID) { > + dev_err(chip->dev, "Invalid device ID: 0x%02x\n", device_id); > + return -ENODEV; > + } > + -> + ret = regmap_read(chip->regmap, DA9062AA_VARIANT_ID, &variant_id); +> + ret =3D regmap_read(chip->regmap, DA9062AA_VARIANT_ID, &variant_id); > + if (ret < 0) { > + dev_err(chip->dev, "Cannot read chip variant id.\n"); > + return -EIO; @@ -431,7 +435,7 @@ You already assigned irq to chip_irq. Probably best to put this at the end. -> + variant_mrc = (variant_id & DA9062AA_MRC_MASK) >> DA9062AA_MRC_SHIFT; +> + variant_mrc =3D (variant_id & DA9062AA_MRC_MASK) >> DA9062AA_MRC_SHIFT; > + > + if (variant_mrc < DA9062_PMIC_VARIANT_MRC_AA) { > + dev_err(chip->dev, @@ -439,13 +443,13 @@ Probably best to put this at the end. > + return -ENODEV; > + } > + -> + chip->device_id = device_id; -> + chip->variant_mrc = variant_mrc; +> + chip->device_id =3D device_id; +> + chip->variant_mrc =3D variant_mrc; I'd put all of the device/variant stuff it its own function, then move everything else into probe() and remove da9062_device_init(). -> + ret = da9062_irq_init(chip); +> + ret =3D da9062_irq_init(chip); > + if (ret) { > + dev_err(chip->dev, "Cannot initialize interrupts.\n"); > + return ret; @@ -453,9 +457,9 @@ everything else into probe() and remove da9062_device_init(). Remove this function and call regmap_add_irq_chip() from here. -> + chip->irq_base = regmap_irq_chip_get_base(chip->regmap_irq); +> + chip->irq_base =3D regmap_irq_chip_get_base(chip->regmap_irq); > + -> + ret = mfd_add_devices(chip->dev, -1, da9062_devs, +> + ret =3D mfd_add_devices(chip->dev, -1, da9062_devs, Use PLATFORM_DEVID_NONE instead. @@ -475,22 +479,22 @@ probe(). > + } > + > + /* VDD WARN event support */ -> + irq_vdd_warn = regmap_irq_get_virq(chip->regmap_irq, +> + irq_vdd_warn =3D regmap_irq_get_virq(chip->regmap_irq, > + DA9062_IRQ_VDD_WARN); > + if (irq_vdd_warn < 0) { > + dev_err(chip->dev, "Failed to get IRQ.\n"); > + return irq_vdd_warn; > + } -> + chip->irq_vdd_warn = irq_vdd_warn; +> + chip->irq_vdd_warn =3D irq_vdd_warn; > + -> + ret = devm_request_threaded_irq(chip->dev, irq_vdd_warn, +> + ret =3D devm_request_threaded_irq(chip->dev, irq_vdd_warn, > + NULL, da9062_vdd_warn_event, > + IRQF_TRIGGER_LOW | IRQF_ONESHOT, > + "VDD_WARN", chip); > + if (ret) { > + dev_warn(chip->dev, > + "Failed to request VDD_WARN IRQ.\n"); -> + chip->irq_vdd_warn = -ENXIO; +> + chip->irq_vdd_warn =3D -ENXIO; > + } This looks like a lot of code, which doesn't really do anything. What @@ -512,206 +516,206 @@ remove()? Remove these. -> +static const struct regmap_range da9062_aa_readable_ranges[] = { +> +static const struct regmap_range da9062_aa_readable_ranges[] =3D { > + { -> + .range_min = DA9062AA_PAGE_CON, -> + .range_max = DA9062AA_STATUS_B, +> + .range_min =3D DA9062AA_PAGE_CON, +> + .range_max =3D DA9062AA_STATUS_B, > + }, { -> + .range_min = DA9062AA_STATUS_D, -> + .range_max = DA9062AA_EVENT_C, +> + .range_min =3D DA9062AA_STATUS_D, +> + .range_max =3D DA9062AA_EVENT_C, > + }, { -> + .range_min = DA9062AA_IRQ_MASK_A, -> + .range_max = DA9062AA_IRQ_MASK_C, +> + .range_min =3D DA9062AA_IRQ_MASK_A, +> + .range_max =3D DA9062AA_IRQ_MASK_C, > + }, { -> + .range_min = DA9062AA_CONTROL_A, -> + .range_max = DA9062AA_GPIO_4, +> + .range_min =3D DA9062AA_CONTROL_A, +> + .range_max =3D DA9062AA_GPIO_4, > + }, { -> + .range_min = DA9062AA_GPIO_WKUP_MODE, -> + .range_max = DA9062AA_BUCK4_CONT, +> + .range_min =3D DA9062AA_GPIO_WKUP_MODE, +> + .range_max =3D DA9062AA_BUCK4_CONT, > + }, { -> + .range_min = DA9062AA_BUCK3_CONT, -> + .range_max = DA9062AA_BUCK3_CONT, +> + .range_min =3D DA9062AA_BUCK3_CONT, +> + .range_max =3D DA9062AA_BUCK3_CONT, > + }, { -> + .range_min = DA9062AA_LDO1_CONT, -> + .range_max = DA9062AA_LDO4_CONT, +> + .range_min =3D DA9062AA_LDO1_CONT, +> + .range_max =3D DA9062AA_LDO4_CONT, > + }, { -> + .range_min = DA9062AA_DVC_1, -> + .range_max = DA9062AA_DVC_1, +> + .range_min =3D DA9062AA_DVC_1, +> + .range_max =3D DA9062AA_DVC_1, > + }, { -> + .range_min = DA9062AA_COUNT_S, -> + .range_max = DA9062AA_SECOND_D, +> + .range_min =3D DA9062AA_COUNT_S, +> + .range_max =3D DA9062AA_SECOND_D, > + }, { -> + .range_min = DA9062AA_SEQ, -> + .range_max = DA9062AA_ID_4_3, +> + .range_min =3D DA9062AA_SEQ, +> + .range_max =3D DA9062AA_ID_4_3, > + }, { -> + .range_min = DA9062AA_ID_12_11, -> + .range_max = DA9062AA_ID_16_15, +> + .range_min =3D DA9062AA_ID_12_11, +> + .range_max =3D DA9062AA_ID_16_15, > + }, { -> + .range_min = DA9062AA_ID_22_21, -> + .range_max = DA9062AA_ID_32_31, +> + .range_min =3D DA9062AA_ID_22_21, +> + .range_max =3D DA9062AA_ID_32_31, > + }, { -> + .range_min = DA9062AA_SEQ_A, -> + .range_max = DA9062AA_BUCK3_CFG, +> + .range_min =3D DA9062AA_SEQ_A, +> + .range_max =3D DA9062AA_BUCK3_CFG, > + }, { -> + .range_min = DA9062AA_VBUCK2_A, -> + .range_max = DA9062AA_VBUCK4_A, +> + .range_min =3D DA9062AA_VBUCK2_A, +> + .range_max =3D DA9062AA_VBUCK4_A, > + }, { -> + .range_min = DA9062AA_VBUCK3_A, -> + .range_max = DA9062AA_VBUCK3_A, +> + .range_min =3D DA9062AA_VBUCK3_A, +> + .range_max =3D DA9062AA_VBUCK3_A, > + }, { -> + .range_min = DA9062AA_VLDO1_A, -> + .range_max = DA9062AA_VLDO4_A, +> + .range_min =3D DA9062AA_VLDO1_A, +> + .range_max =3D DA9062AA_VLDO4_A, > + }, { -> + .range_min = DA9062AA_VBUCK2_B, -> + .range_max = DA9062AA_VBUCK4_B, +> + .range_min =3D DA9062AA_VBUCK2_B, +> + .range_max =3D DA9062AA_VBUCK4_B, > + }, { -> + .range_min = DA9062AA_VBUCK3_B, -> + .range_max = DA9062AA_VBUCK3_B, +> + .range_min =3D DA9062AA_VBUCK3_B, +> + .range_max =3D DA9062AA_VBUCK3_B, > + }, { -> + .range_min = DA9062AA_VLDO1_B, -> + .range_max = DA9062AA_VLDO4_B, +> + .range_min =3D DA9062AA_VLDO1_B, +> + .range_max =3D DA9062AA_VLDO4_B, > + }, { -> + .range_min = DA9062AA_BBAT_CONT, -> + .range_max = DA9062AA_BBAT_CONT, +> + .range_min =3D DA9062AA_BBAT_CONT, +> + .range_max =3D DA9062AA_BBAT_CONT, > + }, { -> + .range_min = DA9062AA_INTERFACE, -> + .range_max = DA9062AA_CONFIG_E, +> + .range_min =3D DA9062AA_INTERFACE, +> + .range_max =3D DA9062AA_CONFIG_E, > + }, { -> + .range_min = DA9062AA_CONFIG_G, -> + .range_max = DA9062AA_CONFIG_K, +> + .range_min =3D DA9062AA_CONFIG_G, +> + .range_max =3D DA9062AA_CONFIG_K, > + }, { -> + .range_min = DA9062AA_CONFIG_M, -> + .range_max = DA9062AA_CONFIG_M, +> + .range_min =3D DA9062AA_CONFIG_M, +> + .range_max =3D DA9062AA_CONFIG_M, > + }, { -> + .range_min = DA9062AA_TRIM_CLDR, -> + .range_max = DA9062AA_GP_ID_19, +> + .range_min =3D DA9062AA_TRIM_CLDR, +> + .range_max =3D DA9062AA_GP_ID_19, > + }, { -> + .range_min = DA9062AA_DEVICE_ID, -> + .range_max = DA9062AA_CONFIG_ID, +> + .range_min =3D DA9062AA_DEVICE_ID, +> + .range_max =3D DA9062AA_CONFIG_ID, > + }, > +}; > + -> +static const struct regmap_range da9062_aa_writeable_ranges[] = { +> +static const struct regmap_range da9062_aa_writeable_ranges[] =3D { > + { -> + .range_min = DA9062AA_PAGE_CON, -> + .range_max = DA9062AA_PAGE_CON, +> + .range_min =3D DA9062AA_PAGE_CON, +> + .range_max =3D DA9062AA_PAGE_CON, > + }, { -> + .range_min = DA9062AA_FAULT_LOG, -> + .range_max = DA9062AA_EVENT_C, +> + .range_min =3D DA9062AA_FAULT_LOG, +> + .range_max =3D DA9062AA_EVENT_C, > + }, { -> + .range_min = DA9062AA_IRQ_MASK_A, -> + .range_max = DA9062AA_IRQ_MASK_C, +> + .range_min =3D DA9062AA_IRQ_MASK_A, +> + .range_max =3D DA9062AA_IRQ_MASK_C, > + }, { -> + .range_min = DA9062AA_CONTROL_A, -> + .range_max = DA9062AA_GPIO_4, +> + .range_min =3D DA9062AA_CONTROL_A, +> + .range_max =3D DA9062AA_GPIO_4, > + }, { -> + .range_min = DA9062AA_GPIO_WKUP_MODE, -> + .range_max = DA9062AA_BUCK4_CONT, +> + .range_min =3D DA9062AA_GPIO_WKUP_MODE, +> + .range_max =3D DA9062AA_BUCK4_CONT, > + }, { -> + .range_min = DA9062AA_BUCK3_CONT, -> + .range_max = DA9062AA_BUCK3_CONT, +> + .range_min =3D DA9062AA_BUCK3_CONT, +> + .range_max =3D DA9062AA_BUCK3_CONT, > + }, { -> + .range_min = DA9062AA_LDO1_CONT, -> + .range_max = DA9062AA_LDO4_CONT, +> + .range_min =3D DA9062AA_LDO1_CONT, +> + .range_max =3D DA9062AA_LDO4_CONT, > + }, { -> + .range_min = DA9062AA_DVC_1, -> + .range_max = DA9062AA_DVC_1, +> + .range_min =3D DA9062AA_DVC_1, +> + .range_max =3D DA9062AA_DVC_1, > + }, { -> + .range_min = DA9062AA_COUNT_S, -> + .range_max = DA9062AA_ALARM_Y, +> + .range_min =3D DA9062AA_COUNT_S, +> + .range_max =3D DA9062AA_ALARM_Y, > + }, { -> + .range_min = DA9062AA_SEQ, -> + .range_max = DA9062AA_ID_4_3, +> + .range_min =3D DA9062AA_SEQ, +> + .range_max =3D DA9062AA_ID_4_3, > + }, { -> + .range_min = DA9062AA_ID_12_11, -> + .range_max = DA9062AA_ID_16_15, +> + .range_min =3D DA9062AA_ID_12_11, +> + .range_max =3D DA9062AA_ID_16_15, > + }, { -> + .range_min = DA9062AA_ID_22_21, -> + .range_max = DA9062AA_ID_32_31, +> + .range_min =3D DA9062AA_ID_22_21, +> + .range_max =3D DA9062AA_ID_32_31, > + }, { -> + .range_min = DA9062AA_SEQ_A, -> + .range_max = DA9062AA_BUCK3_CFG, +> + .range_min =3D DA9062AA_SEQ_A, +> + .range_max =3D DA9062AA_BUCK3_CFG, > + }, { -> + .range_min = DA9062AA_VBUCK2_A, -> + .range_max = DA9062AA_VBUCK4_A, +> + .range_min =3D DA9062AA_VBUCK2_A, +> + .range_max =3D DA9062AA_VBUCK4_A, > + }, { -> + .range_min = DA9062AA_VBUCK3_A, -> + .range_max = DA9062AA_VBUCK3_A, +> + .range_min =3D DA9062AA_VBUCK3_A, +> + .range_max =3D DA9062AA_VBUCK3_A, > + }, { -> + .range_min = DA9062AA_VLDO1_A, -> + .range_max = DA9062AA_VLDO4_A, +> + .range_min =3D DA9062AA_VLDO1_A, +> + .range_max =3D DA9062AA_VLDO4_A, > + }, { -> + .range_min = DA9062AA_VBUCK2_B, -> + .range_max = DA9062AA_VBUCK4_B, +> + .range_min =3D DA9062AA_VBUCK2_B, +> + .range_max =3D DA9062AA_VBUCK4_B, > + }, { -> + .range_min = DA9062AA_VBUCK3_B, -> + .range_max = DA9062AA_VBUCK3_B, +> + .range_min =3D DA9062AA_VBUCK3_B, +> + .range_max =3D DA9062AA_VBUCK3_B, > + }, { -> + .range_min = DA9062AA_VLDO1_B, -> + .range_max = DA9062AA_VLDO4_B, +> + .range_min =3D DA9062AA_VLDO1_B, +> + .range_max =3D DA9062AA_VLDO4_B, > + }, { -> + .range_min = DA9062AA_BBAT_CONT, -> + .range_max = DA9062AA_BBAT_CONT, +> + .range_min =3D DA9062AA_BBAT_CONT, +> + .range_max =3D DA9062AA_BBAT_CONT, > + }, { -> + .range_min = DA9062AA_GP_ID_0, -> + .range_max = DA9062AA_GP_ID_19, +> + .range_min =3D DA9062AA_GP_ID_0, +> + .range_max =3D DA9062AA_GP_ID_19, > + }, > +}; > + -> +static const struct regmap_range da9062_aa_volatile_ranges[] = { +> +static const struct regmap_range da9062_aa_volatile_ranges[] =3D { > + { -> + .range_min = DA9062AA_PAGE_CON, -> + .range_max = DA9062AA_STATUS_B, +> + .range_min =3D DA9062AA_PAGE_CON, +> + .range_max =3D DA9062AA_STATUS_B, > + }, { -> + .range_min = DA9062AA_STATUS_D, -> + .range_max = DA9062AA_EVENT_C, +> + .range_min =3D DA9062AA_STATUS_D, +> + .range_max =3D DA9062AA_EVENT_C, > + }, { -> + .range_min = DA9062AA_CONTROL_F, -> + .range_max = DA9062AA_CONTROL_F, +> + .range_min =3D DA9062AA_CONTROL_F, +> + .range_max =3D DA9062AA_CONTROL_F, > + }, { -> + .range_min = DA9062AA_COUNT_S, -> + .range_max = DA9062AA_SECOND_D, +> + .range_min =3D DA9062AA_COUNT_S, +> + .range_max =3D DA9062AA_SECOND_D, > + }, > +}; > + -> +static const struct regmap_access_table da9062_aa_readable_table = { -> + .yes_ranges = da9062_aa_readable_ranges, -> + .n_yes_ranges = ARRAY_SIZE(da9062_aa_readable_ranges), +> +static const struct regmap_access_table da9062_aa_readable_table =3D { +> + .yes_ranges =3D da9062_aa_readable_ranges, +> + .n_yes_ranges =3D ARRAY_SIZE(da9062_aa_readable_ranges), > +}; > + -> +static const struct regmap_access_table da9062_aa_writeable_table = { -> + .yes_ranges = da9062_aa_writeable_ranges, -> + .n_yes_ranges = ARRAY_SIZE(da9062_aa_writeable_ranges), +> +static const struct regmap_access_table da9062_aa_writeable_table =3D { +> + .yes_ranges =3D da9062_aa_writeable_ranges, +> + .n_yes_ranges =3D ARRAY_SIZE(da9062_aa_writeable_ranges), > +}; > + -> +static const struct regmap_access_table da9062_aa_volatile_table = { -> + .yes_ranges = da9062_aa_volatile_ranges, -> + .n_yes_ranges = ARRAY_SIZE(da9062_aa_volatile_ranges), +> +static const struct regmap_access_table da9062_aa_volatile_table =3D { +> + .yes_ranges =3D da9062_aa_volatile_ranges, +> + .n_yes_ranges =3D ARRAY_SIZE(da9062_aa_volatile_ranges), > +}; > + -> +static const struct regmap_range_cfg da9062_range_cfg[] = { +> +static const struct regmap_range_cfg da9062_range_cfg[] =3D { > + { -> + .range_min = DA9062AA_PAGE_CON, -> + .range_max = DA9062AA_CONFIG_ID, -> + .selector_reg = DA9062AA_PAGE_CON, -> + .selector_mask = 1 << DA9062_I2C_PAGE_SEL_SHIFT, -> + .selector_shift = DA9062_I2C_PAGE_SEL_SHIFT, -> + .window_start = 0, -> + .window_len = 256, +> + .range_min =3D DA9062AA_PAGE_CON, +> + .range_max =3D DA9062AA_CONFIG_ID, +> + .selector_reg =3D DA9062AA_PAGE_CON, +> + .selector_mask =3D 1 << DA9062_I2C_PAGE_SEL_SHIFT, +> + .selector_shift =3D DA9062_I2C_PAGE_SEL_SHIFT, +> + .window_start =3D 0, +> + .window_len =3D 256, > + } > +}; > + -> +static struct regmap_config da9062_regmap_config = { -> + .reg_bits = 8, -> + .val_bits = 8, -> + .ranges = da9062_range_cfg, -> + .num_ranges = ARRAY_SIZE(da9062_range_cfg), -> + .max_register = DA9062AA_CONFIG_ID, -> + .cache_type = REGCACHE_RBTREE, +> +static struct regmap_config da9062_regmap_config =3D { +> + .reg_bits =3D 8, +> + .val_bits =3D 8, +> + .ranges =3D da9062_range_cfg, +> + .num_ranges =3D ARRAY_SIZE(da9062_range_cfg), +> + .max_register =3D DA9062AA_CONFIG_ID, +> + .cache_type =3D REGCACHE_RBTREE, > +}; > + -> +static const struct of_device_id da9062_dt_ids[] = { -> + { .compatible = "dlg,da9062", }, +> +static const struct of_device_id da9062_dt_ids[] =3D { +> + { .compatible =3D "dlg,da9062", }, > + { } > +}; > +MODULE_DEVICE_TABLE(of, da9062_dt_ids); @@ -724,33 +728,33 @@ Move this just above where it's to be used i.e. down to the bottom. > + struct da9062 *chip; > + int ret; > + -> + chip = devm_kzalloc(&i2c->dev, sizeof(struct da9062), GFP_KERNEL); +> + chip =3D devm_kzalloc(&i2c->dev, sizeof(struct da9062), GFP_KERNEL); sizeof(*chip) -> + if (chip == NULL) +> + if (chip =3D=3D NULL) if (!chip) > + return -ENOMEM; > + > + i2c_set_clientdata(i2c, chip); -> + chip->dev = &i2c->dev; -> + chip->chip_irq = i2c->irq; +> + chip->dev =3D &i2c->dev; +> + chip->chip_irq =3D i2c->irq; Check this once here, then you don't have to worry about it again. s/chip_irq/irq/ -> + da9062_regmap_config.rd_table = &da9062_aa_readable_table; -> + da9062_regmap_config.wr_table = &da9062_aa_writeable_table; -> + da9062_regmap_config.volatile_table = &da9062_aa_volatile_table; +> + da9062_regmap_config.rd_table =3D &da9062_aa_readable_table; +> + da9062_regmap_config.wr_table =3D &da9062_aa_writeable_table; +> + da9062_regmap_config.volatile_table =3D &da9062_aa_volatile_table; Why are you doing this here instead of inside 'struct regmap_config da9062_regmap_config' above? -> + chip->regmap = devm_regmap_init_i2c(i2c, &da9062_regmap_config); +> + chip->regmap =3D devm_regmap_init_i2c(i2c, &da9062_regmap_config); > + if (IS_ERR(chip->regmap)) { -> + ret = PTR_ERR(chip->regmap); +> + ret =3D PTR_ERR(chip->regmap); > + dev_err(chip->dev, "Failed to allocate register map: %d\n", > + ret); > + return ret; @@ -761,7 +765,7 @@ Why are you doing this here instead of inside > + > +static int da9062_i2c_remove(struct i2c_client *i2c) > +{ -> + struct da9062 *chip = i2c_get_clientdata(i2c); +> + struct da9062 *chip =3D i2c_get_clientdata(i2c); > + > + da9062_device_exit(chip); @@ -770,7 +774,7 @@ Remove this. > + return 0; > +} > + -> +static const struct i2c_device_id da9062_i2c_id[] = { +> +static const struct i2c_device_id da9062_i2c_id[] =3D { > + {"da9062", 0}, White space discipline. @@ -779,14 +783,14 @@ White space discipline. > +}; > +MODULE_DEVICE_TABLE(i2c, da9062_i2c_id); > + -> +static struct i2c_driver da9062_i2c_driver = { -> + .driver = { -> + .name = "da9062", -> + .of_match_table = of_match_ptr(da9062_dt_ids), +> +static struct i2c_driver da9062_i2c_driver =3D { +> + .driver =3D { +> + .name =3D "da9062", +> + .of_match_table =3D of_match_ptr(da9062_dt_ids), > + }, -> + .probe = da9062_i2c_probe, -> + .remove = da9062_i2c_remove, -> + .id_table = da9062_i2c_id, +> + .probe =3D da9062_i2c_probe, +> + .remove =3D da9062_i2c_remove, +> + .id_table =3D da9062_i2c_id, > +}; > + > +module_i2c_driver(da9062_i2c_driver); @@ -804,7 +808,8 @@ s/CORE/Core/ Full names please. > +MODULE_LICENSE("GPL"); -> diff --git a/include/linux/mfd/da9062/core.h b/include/linux/mfd/da9062/core.h +> diff --git a/include/linux/mfd/da9062/core.h b/include/linux/mfd/da9062/c= +ore.h > new file mode 100644 > index 0000000..0b17891 > --- /dev/null @@ -879,7 +884,8 @@ Are all of these used by child devices? Why are these required? > +#endif /* __MFD_DA9062_CORE_H__ */ -> diff --git a/include/linux/mfd/da9062/registers.h b/include/linux/mfd/da9062/registers.h +> diff --git a/include/linux/mfd/da9062/registers.h b/include/linux/mfd/da9= +062/registers.h > new file mode 100644 > index 0000000..d07c2bc > --- /dev/null @@ -1048,7 +1054,7 @@ Really? ;) > + * Bit fields > + */ > + -> +/* DA9062AA_PAGE_CON = 0x000 */ +> +/* DA9062AA_PAGE_CON =3D 0x000 */ > +#define DA9062AA_PAGE_SHIFT 0 > +#define DA9062AA_PAGE_MASK (0x3f << 0) > +#define DA9062AA_WRITE_MODE_SHIFT 6 @@ -1059,13 +1065,13 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_REVERT_SHIFT 7 > +#define DA9062AA_REVERT_MASK (0x01 << 7) > + -> +/* DA9062AA_STATUS_A = 0x001 */ +> +/* DA9062AA_STATUS_A =3D 0x001 */ > +#define DA9062AA_NONKEY_SHIFT 0 > +#define DA9062AA_NONKEY_MASK (0x01 << 0) > +#define DA9062AA_DVC_BUSY_SHIFT 2 > +#define DA9062AA_DVC_BUSY_MASK (0x01 << 2) > + -> +/* DA9062AA_STATUS_B = 0x002 */ +> +/* DA9062AA_STATUS_B =3D 0x002 */ > +#define DA9062AA_GPI0_SHIFT 0 > +#define DA9062AA_GPI0_MASK (0x01 << 0) > +#define DA9062AA_GPI1_SHIFT 1 @@ -1077,7 +1083,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_GPI4_SHIFT 4 > +#define DA9062AA_GPI4_MASK (0x01 << 4) > + -> +/* DA9062AA_STATUS_D = 0x004 */ +> +/* DA9062AA_STATUS_D =3D 0x004 */ > +#define DA9062AA_LDO1_ILIM_SHIFT 0 > +#define DA9062AA_LDO1_ILIM_MASK (0x01 << 0) > +#define DA9062AA_LDO2_ILIM_SHIFT 1 @@ -1087,7 +1093,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_LDO4_ILIM_SHIFT 3 > +#define DA9062AA_LDO4_ILIM_MASK (0x01 << 3) > + -> +/* DA9062AA_FAULT_LOG = 0x005 */ +> +/* DA9062AA_FAULT_LOG =3D 0x005 */ > +#define DA9062AA_TWD_ERROR_SHIFT 0 > +#define DA9062AA_TWD_ERROR_MASK (0x01 << 0) > +#define DA9062AA_POR_SHIFT 1 @@ -1105,7 +1111,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_WAIT_SHUT_SHIFT 7 > +#define DA9062AA_WAIT_SHUT_MASK (0x01 << 7) > + -> +/* DA9062AA_EVENT_A = 0x006 */ +> +/* DA9062AA_EVENT_A =3D 0x006 */ > +#define DA9062AA_E_NONKEY_SHIFT 0 > +#define DA9062AA_E_NONKEY_MASK (0x01 << 0) > +#define DA9062AA_E_ALARM_SHIFT 1 @@ -1121,7 +1127,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_EVENTS_C_SHIFT 6 > +#define DA9062AA_EVENTS_C_MASK (0x01 << 6) > + -> +/* DA9062AA_EVENT_B = 0x007 */ +> +/* DA9062AA_EVENT_B =3D 0x007 */ > +#define DA9062AA_E_TEMP_SHIFT 1 > +#define DA9062AA_E_TEMP_MASK (0x01 << 1) > +#define DA9062AA_E_LDO_LIM_SHIFT 3 @@ -1131,7 +1137,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_E_VDD_WARN_SHIFT 7 > +#define DA9062AA_E_VDD_WARN_MASK (0x01 << 7) > + -> +/* DA9062AA_EVENT_C = 0x008 */ +> +/* DA9062AA_EVENT_C =3D 0x008 */ > +#define DA9062AA_E_GPI0_SHIFT 0 > +#define DA9062AA_E_GPI0_MASK (0x01 << 0) > +#define DA9062AA_E_GPI1_SHIFT 1 @@ -1143,7 +1149,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_E_GPI4_SHIFT 4 > +#define DA9062AA_E_GPI4_MASK (0x01 << 4) > + -> +/* DA9062AA_IRQ_MASK_A = 0x00A */ +> +/* DA9062AA_IRQ_MASK_A =3D 0x00A */ > +#define DA9062AA_M_NONKEY_SHIFT 0 > +#define DA9062AA_M_NONKEY_MASK (0x01 << 0) > +#define DA9062AA_M_ALARM_SHIFT 1 @@ -1155,7 +1161,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_M_SEQ_RDY_SHIFT 4 > +#define DA9062AA_M_SEQ_RDY_MASK (0x01 << 4) > + -> +/* DA9062AA_IRQ_MASK_B = 0x00B */ +> +/* DA9062AA_IRQ_MASK_B =3D 0x00B */ > +#define DA9062AA_M_TEMP_SHIFT 1 > +#define DA9062AA_M_TEMP_MASK (0x01 << 1) > +#define DA9062AA_M_LDO_LIM_SHIFT 3 @@ -1165,7 +1171,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_M_VDD_WARN_SHIFT 7 > +#define DA9062AA_M_VDD_WARN_MASK (0x01 << 7) > + -> +/* DA9062AA_IRQ_MASK_C = 0x00C */ +> +/* DA9062AA_IRQ_MASK_C =3D 0x00C */ > +#define DA9062AA_M_GPI0_SHIFT 0 > +#define DA9062AA_M_GPI0_MASK (0x01 << 0) > +#define DA9062AA_M_GPI1_SHIFT 1 @@ -1177,7 +1183,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_M_GPI4_SHIFT 4 > +#define DA9062AA_M_GPI4_MASK (0x01 << 4) > + -> +/* DA9062AA_CONTROL_A = 0x00E */ +> +/* DA9062AA_CONTROL_A =3D 0x00E */ > +#define DA9062AA_SYSTEM_EN_SHIFT 0 > +#define DA9062AA_SYSTEM_EN_MASK (0x01 << 0) > +#define DA9062AA_POWER_EN_SHIFT 1 @@ -1193,7 +1199,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_M_POWER1_EN_SHIFT 6 > +#define DA9062AA_M_POWER1_EN_MASK (0x01 << 6) > + -> +/* DA9062AA_CONTROL_B = 0x00F */ +> +/* DA9062AA_CONTROL_B =3D 0x00F */ > +#define DA9062AA_WATCHDOG_PD_SHIFT 1 > +#define DA9062AA_WATCHDOG_PD_MASK (0x01 << 1) > +#define DA9062AA_FREEZE_EN_SHIFT 2 @@ -1207,7 +1213,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_BUCK_SLOWSTART_SHIFT 7 > +#define DA9062AA_BUCK_SLOWSTART_MASK (0x01 << 7) > + -> +/* DA9062AA_CONTROL_C = 0x010 */ +> +/* DA9062AA_CONTROL_C =3D 0x010 */ > +#define DA9062AA_DEBOUNCING_SHIFT 0 > +#define DA9062AA_DEBOUNCING_MASK (0x07 << 0) > +#define DA9062AA_AUTO_BOOT_SHIFT 3 @@ -1219,11 +1225,11 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_DEF_SUPPLY_SHIFT 7 > +#define DA9062AA_DEF_SUPPLY_MASK (0x01 << 7) > + -> +/* DA9062AA_CONTROL_D = 0x011 */ +> +/* DA9062AA_CONTROL_D =3D 0x011 */ > +#define DA9062AA_TWDSCALE_SHIFT 0 > +#define DA9062AA_TWDSCALE_MASK (0x07 << 0) > + -> +/* DA9062AA_CONTROL_E = 0x012 */ +> +/* DA9062AA_CONTROL_E =3D 0x012 */ > +#define DA9062AA_RTC_MODE_PD_SHIFT 0 > +#define DA9062AA_RTC_MODE_PD_MASK (0x01 << 0) > +#define DA9062AA_RTC_MODE_SD_SHIFT 1 @@ -1233,7 +1239,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_V_LOCK_SHIFT 7 > +#define DA9062AA_V_LOCK_MASK (0x01 << 7) > + -> +/* DA9062AA_CONTROL_F = 0x013 */ +> +/* DA9062AA_CONTROL_F =3D 0x013 */ > +#define DA9062AA_WATCHDOG_SHIFT 0 > +#define DA9062AA_WATCHDOG_MASK (0x01 << 0) > +#define DA9062AA_SHUTDOWN_SHIFT 1 @@ -1241,7 +1247,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_WAKE_UP_SHIFT 2 > +#define DA9062AA_WAKE_UP_MASK (0x01 << 2) > + -> +/* DA9062AA_PD_DIS = 0x014 */ +> +/* DA9062AA_PD_DIS =3D 0x014 */ > +#define DA9062AA_GPI_DIS_SHIFT 0 > +#define DA9062AA_GPI_DIS_MASK (0x01 << 0) > +#define DA9062AA_PMIF_DIS_SHIFT 2 @@ -1255,7 +1261,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_PMCONT_DIS_SHIFT 7 > +#define DA9062AA_PMCONT_DIS_MASK (0x01 << 7) > + -> +/* DA9062AA_GPIO_0_1 = 0x015 */ +> +/* DA9062AA_GPIO_0_1 =3D 0x015 */ > +#define DA9062AA_GPIO0_PIN_SHIFT 0 > +#define DA9062AA_GPIO0_PIN_MASK (0x03 << 0) > +#define DA9062AA_GPIO0_TYPE_SHIFT 2 @@ -1269,7 +1275,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_GPIO1_WEN_SHIFT 7 > +#define DA9062AA_GPIO1_WEN_MASK (0x01 << 7) > + -> +/* DA9062AA_GPIO_2_3 = 0x016 */ +> +/* DA9062AA_GPIO_2_3 =3D 0x016 */ > +#define DA9062AA_GPIO2_PIN_SHIFT 0 > +#define DA9062AA_GPIO2_PIN_MASK (0x03 << 0) > +#define DA9062AA_GPIO2_TYPE_SHIFT 2 @@ -1283,7 +1289,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_GPIO3_WEN_SHIFT 7 > +#define DA9062AA_GPIO3_WEN_MASK (0x01 << 7) > + -> +/* DA9062AA_GPIO_4 = 0x017 */ +> +/* DA9062AA_GPIO_4 =3D 0x017 */ > +#define DA9062AA_GPIO4_PIN_SHIFT 0 > +#define DA9062AA_GPIO4_PIN_MASK (0x03 << 0) > +#define DA9062AA_GPIO4_TYPE_SHIFT 2 @@ -1291,7 +1297,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_GPIO4_WEN_SHIFT 3 > +#define DA9062AA_GPIO4_WEN_MASK (0x01 << 3) > + -> +/* DA9062AA_GPIO_WKUP_MODE = 0x01C */ +> +/* DA9062AA_GPIO_WKUP_MODE =3D 0x01C */ > +#define DA9062AA_GPIO0_WKUP_MODE_SHIFT 0 > +#define DA9062AA_GPIO0_WKUP_MODE_MASK (0x01 << 0) > +#define DA9062AA_GPIO1_WKUP_MODE_SHIFT 1 @@ -1303,7 +1309,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_GPIO4_WKUP_MODE_SHIFT 4 > +#define DA9062AA_GPIO4_WKUP_MODE_MASK (0x01 << 4) > + -> +/* DA9062AA_GPIO_MODE0_4 = 0x01D */ +> +/* DA9062AA_GPIO_MODE0_4 =3D 0x01D */ > +#define DA9062AA_GPIO0_MODE_SHIFT 0 > +#define DA9062AA_GPIO0_MODE_MASK (0x01 << 0) > +#define DA9062AA_GPIO1_MODE_SHIFT 1 @@ -1315,7 +1321,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_GPIO4_MODE_SHIFT 4 > +#define DA9062AA_GPIO4_MODE_MASK (0x01 << 4) > + -> +/* DA9062AA_GPIO_OUT0_2 = 0x01E */ +> +/* DA9062AA_GPIO_OUT0_2 =3D 0x01E */ > +#define DA9062AA_GPIO0_OUT_SHIFT 0 > +#define DA9062AA_GPIO0_OUT_MASK (0x07 << 0) > +#define DA9062AA_GPIO1_OUT_SHIFT 3 @@ -1323,13 +1329,13 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_GPIO2_OUT_SHIFT 6 > +#define DA9062AA_GPIO2_OUT_MASK (0x03 << 6) > + -> +/* DA9062AA_GPIO_OUT3_4 = 0x01F */ +> +/* DA9062AA_GPIO_OUT3_4 =3D 0x01F */ > +#define DA9062AA_GPIO3_OUT_SHIFT 0 > +#define DA9062AA_GPIO3_OUT_MASK (0x07 << 0) > +#define DA9062AA_GPIO4_OUT_SHIFT 3 > +#define DA9062AA_GPIO4_OUT_MASK (0x03 << 3) > + -> +/* DA9062AA_BUCK2_CONT = 0x020 */ +> +/* DA9062AA_BUCK2_CONT =3D 0x020 */ > +#define DA9062AA_BUCK2_EN_SHIFT 0 > +#define DA9062AA_BUCK2_EN_MASK (0x01 << 0) > +#define DA9062AA_BUCK2_GPI_SHIFT 1 @@ -1339,7 +1345,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_VBUCK2_GPI_SHIFT 5 > +#define DA9062AA_VBUCK2_GPI_MASK (0x03 << 5) > + -> +/* DA9062AA_BUCK1_CONT = 0x021 */ +> +/* DA9062AA_BUCK1_CONT =3D 0x021 */ > +#define DA9062AA_BUCK1_EN_SHIFT 0 > +#define DA9062AA_BUCK1_EN_MASK (0x01 << 0) > +#define DA9062AA_BUCK1_GPI_SHIFT 1 @@ -1349,7 +1355,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_VBUCK1_GPI_SHIFT 5 > +#define DA9062AA_VBUCK1_GPI_MASK (0x03 << 5) > + -> +/* DA9062AA_BUCK4_CONT = 0x022 */ +> +/* DA9062AA_BUCK4_CONT =3D 0x022 */ > +#define DA9062AA_BUCK4_EN_SHIFT 0 > +#define DA9062AA_BUCK4_EN_MASK (0x01 << 0) > +#define DA9062AA_BUCK4_GPI_SHIFT 1 @@ -1359,7 +1365,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_VBUCK4_GPI_SHIFT 5 > +#define DA9062AA_VBUCK4_GPI_MASK (0x03 << 5) > + -> +/* DA9062AA_BUCK3_CONT = 0x024 */ +> +/* DA9062AA_BUCK3_CONT =3D 0x024 */ > +#define DA9062AA_BUCK3_EN_SHIFT 0 > +#define DA9062AA_BUCK3_EN_MASK (0x01 << 0) > +#define DA9062AA_BUCK3_GPI_SHIFT 1 @@ -1369,7 +1375,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_VBUCK3_GPI_SHIFT 5 > +#define DA9062AA_VBUCK3_GPI_MASK (0x03 << 5) > + -> +/* DA9062AA_LDO1_CONT = 0x026 */ +> +/* DA9062AA_LDO1_CONT =3D 0x026 */ > +#define DA9062AA_LDO1_EN_SHIFT 0 > +#define DA9062AA_LDO1_EN_MASK (0x01 << 0) > +#define DA9062AA_LDO1_GPI_SHIFT 1 @@ -1381,7 +1387,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_LDO1_CONF_SHIFT 7 > +#define DA9062AA_LDO1_CONF_MASK (0x01 << 7) > + -> +/* DA9062AA_LDO2_CONT = 0x027 */ +> +/* DA9062AA_LDO2_CONT =3D 0x027 */ > +#define DA9062AA_LDO2_EN_SHIFT 0 > +#define DA9062AA_LDO2_EN_MASK (0x01 << 0) > +#define DA9062AA_LDO2_GPI_SHIFT 1 @@ -1393,7 +1399,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_LDO2_CONF_SHIFT 7 > +#define DA9062AA_LDO2_CONF_MASK (0x01 << 7) > + -> +/* DA9062AA_LDO3_CONT = 0x028 */ +> +/* DA9062AA_LDO3_CONT =3D 0x028 */ > +#define DA9062AA_LDO3_EN_SHIFT 0 > +#define DA9062AA_LDO3_EN_MASK (0x01 << 0) > +#define DA9062AA_LDO3_GPI_SHIFT 1 @@ -1405,7 +1411,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_LDO3_CONF_SHIFT 7 > +#define DA9062AA_LDO3_CONF_MASK (0x01 << 7) > + -> +/* DA9062AA_LDO4_CONT = 0x029 */ +> +/* DA9062AA_LDO4_CONT =3D 0x029 */ > +#define DA9062AA_LDO4_EN_SHIFT 0 > +#define DA9062AA_LDO4_EN_MASK (0x01 << 0) > +#define DA9062AA_LDO4_GPI_SHIFT 1 @@ -1417,7 +1423,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_LDO4_CONF_SHIFT 7 > +#define DA9062AA_LDO4_CONF_MASK (0x01 << 7) > + -> +/* DA9062AA_DVC_1 = 0x032 */ +> +/* DA9062AA_DVC_1 =3D 0x032 */ > +#define DA9062AA_VBUCK1_SEL_SHIFT 0 > +#define DA9062AA_VBUCK1_SEL_MASK (0x01 << 0) > +#define DA9062AA_VBUCK2_SEL_SHIFT 1 @@ -1435,53 +1441,53 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_VLDO4_SEL_SHIFT 7 > +#define DA9062AA_VLDO4_SEL_MASK (0x01 << 7) > + -> +/* DA9062AA_COUNT_S = 0x040 */ +> +/* DA9062AA_COUNT_S =3D 0x040 */ > +#define DA9062AA_COUNT_SEC_SHIFT 0 > +#define DA9062AA_COUNT_SEC_MASK (0x3f << 0) > +#define DA9062AA_RTC_READ_SHIFT 7 > +#define DA9062AA_RTC_READ_MASK (0x01 << 7) > + -> +/* DA9062AA_COUNT_MI = 0x041 */ +> +/* DA9062AA_COUNT_MI =3D 0x041 */ > +#define DA9062AA_COUNT_MIN_SHIFT 0 > +#define DA9062AA_COUNT_MIN_MASK (0x3f << 0) > + -> +/* DA9062AA_COUNT_H = 0x042 */ +> +/* DA9062AA_COUNT_H =3D 0x042 */ > +#define DA9062AA_COUNT_HOUR_SHIFT 0 > +#define DA9062AA_COUNT_HOUR_MASK (0x1f << 0) > + -> +/* DA9062AA_COUNT_D = 0x043 */ +> +/* DA9062AA_COUNT_D =3D 0x043 */ > +#define DA9062AA_COUNT_DAY_SHIFT 0 > +#define DA9062AA_COUNT_DAY_MASK (0x1f << 0) > + -> +/* DA9062AA_COUNT_MO = 0x044 */ +> +/* DA9062AA_COUNT_MO =3D 0x044 */ > +#define DA9062AA_COUNT_MONTH_SHIFT 0 > +#define DA9062AA_COUNT_MONTH_MASK (0x0f << 0) > + -> +/* DA9062AA_COUNT_Y = 0x045 */ +> +/* DA9062AA_COUNT_Y =3D 0x045 */ > +#define DA9062AA_COUNT_YEAR_SHIFT 0 > +#define DA9062AA_COUNT_YEAR_MASK (0x3f << 0) > +#define DA9062AA_MONITOR_SHIFT 6 > +#define DA9062AA_MONITOR_MASK (0x01 << 6) > + -> +/* DA9062AA_ALARM_S = 0x046 */ +> +/* DA9062AA_ALARM_S =3D 0x046 */ > +#define DA9062AA_ALARM_SEC_SHIFT 0 > +#define DA9062AA_ALARM_SEC_MASK (0x3f << 0) > +#define DA9062AA_ALARM_STATUS_SHIFT 6 > +#define DA9062AA_ALARM_STATUS_MASK (0x03 << 6) > + -> +/* DA9062AA_ALARM_MI = 0x047 */ +> +/* DA9062AA_ALARM_MI =3D 0x047 */ > +#define DA9062AA_ALARM_MIN_SHIFT 0 > +#define DA9062AA_ALARM_MIN_MASK (0x3f << 0) > + -> +/* DA9062AA_ALARM_H = 0x048 */ +> +/* DA9062AA_ALARM_H =3D 0x048 */ > +#define DA9062AA_ALARM_HOUR_SHIFT 0 > +#define DA9062AA_ALARM_HOUR_MASK (0x1f << 0) > + -> +/* DA9062AA_ALARM_D = 0x049 */ +> +/* DA9062AA_ALARM_D =3D 0x049 */ > +#define DA9062AA_ALARM_DAY_SHIFT 0 > +#define DA9062AA_ALARM_DAY_MASK (0x1f << 0) > + -> +/* DA9062AA_ALARM_MO = 0x04A */ +> +/* DA9062AA_ALARM_MO =3D 0x04A */ > +#define DA9062AA_ALARM_MONTH_SHIFT 0 > +#define DA9062AA_ALARM_MONTH_MASK (0x0f << 0) > +#define DA9062AA_TICK_TYPE_SHIFT 4 @@ -1489,7 +1495,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_TICK_WAKE_SHIFT 5 > +#define DA9062AA_TICK_WAKE_MASK (0x01 << 5) > + -> +/* DA9062AA_ALARM_Y = 0x04B */ +> +/* DA9062AA_ALARM_Y =3D 0x04B */ > +#define DA9062AA_ALARM_YEAR_SHIFT 0 > +#define DA9062AA_ALARM_YEAR_MASK (0x3f << 0) > +#define DA9062AA_ALARM_ON_SHIFT 6 @@ -1497,111 +1503,111 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_TICK_ON_SHIFT 7 > +#define DA9062AA_TICK_ON_MASK (0x01 << 7) > + -> +/* DA9062AA_SECOND_A = 0x04C */ +> +/* DA9062AA_SECOND_A =3D 0x04C */ > +#define DA9062AA_SECONDS_A_SHIFT 0 > +#define DA9062AA_SECONDS_A_MASK (0xff << 0) > + -> +/* DA9062AA_SECOND_B = 0x04D */ +> +/* DA9062AA_SECOND_B =3D 0x04D */ > +#define DA9062AA_SECONDS_B_SHIFT 0 > +#define DA9062AA_SECONDS_B_MASK (0xff << 0) > + -> +/* DA9062AA_SECOND_C = 0x04E */ +> +/* DA9062AA_SECOND_C =3D 0x04E */ > +#define DA9062AA_SECONDS_C_SHIFT 0 > +#define DA9062AA_SECONDS_C_MASK (0xff << 0) > + -> +/* DA9062AA_SECOND_D = 0x04F */ +> +/* DA9062AA_SECOND_D =3D 0x04F */ > +#define DA9062AA_SECONDS_D_SHIFT 0 > +#define DA9062AA_SECONDS_D_MASK (0xff << 0) > + -> +/* DA9062AA_SEQ = 0x081 */ +> +/* DA9062AA_SEQ =3D 0x081 */ > +#define DA9062AA_SEQ_POINTER_SHIFT 0 > +#define DA9062AA_SEQ_POINTER_MASK (0x0f << 0) > +#define DA9062AA_NXT_SEQ_START_SHIFT 4 > +#define DA9062AA_NXT_SEQ_START_MASK (0x0f << 4) > + -> +/* DA9062AA_SEQ_TIMER = 0x082 */ +> +/* DA9062AA_SEQ_TIMER =3D 0x082 */ > +#define DA9062AA_SEQ_TIME_SHIFT 0 > +#define DA9062AA_SEQ_TIME_MASK (0x0f << 0) > +#define DA9062AA_SEQ_DUMMY_SHIFT 4 > +#define DA9062AA_SEQ_DUMMY_MASK (0x0f << 4) > + -> +/* DA9062AA_ID_2_1 = 0x083 */ +> +/* DA9062AA_ID_2_1 =3D 0x083 */ > +#define DA9062AA_LDO1_STEP_SHIFT 0 > +#define DA9062AA_LDO1_STEP_MASK (0x0f << 0) > +#define DA9062AA_LDO2_STEP_SHIFT 4 > +#define DA9062AA_LDO2_STEP_MASK (0x0f << 4) > + -> +/* DA9062AA_ID_4_3 = 0x084 */ +> +/* DA9062AA_ID_4_3 =3D 0x084 */ > +#define DA9062AA_LDO3_STEP_SHIFT 0 > +#define DA9062AA_LDO3_STEP_MASK (0x0f << 0) > +#define DA9062AA_LDO4_STEP_SHIFT 4 > +#define DA9062AA_LDO4_STEP_MASK (0x0f << 4) > + -> +/* DA9062AA_ID_12_11 = 0x088 */ +> +/* DA9062AA_ID_12_11 =3D 0x088 */ > +#define DA9062AA_PD_DIS_STEP_SHIFT 4 > +#define DA9062AA_PD_DIS_STEP_MASK (0x0f << 4) > + -> +/* DA9062AA_ID_14_13 = 0x089 */ +> +/* DA9062AA_ID_14_13 =3D 0x089 */ > +#define DA9062AA_BUCK1_STEP_SHIFT 0 > +#define DA9062AA_BUCK1_STEP_MASK (0x0f << 0) > +#define DA9062AA_BUCK2_STEP_SHIFT 4 > +#define DA9062AA_BUCK2_STEP_MASK (0x0f << 4) > + -> +/* DA9062AA_ID_16_15 = 0x08A */ +> +/* DA9062AA_ID_16_15 =3D 0x08A */ > +#define DA9062AA_BUCK4_STEP_SHIFT 0 > +#define DA9062AA_BUCK4_STEP_MASK (0x0f << 0) > +#define DA9062AA_BUCK3_STEP_SHIFT 4 > +#define DA9062AA_BUCK3_STEP_MASK (0x0f << 4) > + -> +/* DA9062AA_ID_22_21 = 0x08D */ +> +/* DA9062AA_ID_22_21 =3D 0x08D */ > +#define DA9062AA_GP_RISE1_STEP_SHIFT 0 > +#define DA9062AA_GP_RISE1_STEP_MASK (0x0f << 0) > +#define DA9062AA_GP_FALL1_STEP_SHIFT 4 > +#define DA9062AA_GP_FALL1_STEP_MASK (0x0f << 4) > + -> +/* DA9062AA_ID_24_23 = 0x08E */ +> +/* DA9062AA_ID_24_23 =3D 0x08E */ > +#define DA9062AA_GP_RISE2_STEP_SHIFT 0 > +#define DA9062AA_GP_RISE2_STEP_MASK (0x0f << 0) > +#define DA9062AA_GP_FALL2_STEP_SHIFT 4 > +#define DA9062AA_GP_FALL2_STEP_MASK (0x0f << 4) > + -> +/* DA9062AA_ID_26_25 = 0x08F */ +> +/* DA9062AA_ID_26_25 =3D 0x08F */ > +#define DA9062AA_GP_RISE3_STEP_SHIFT 0 > +#define DA9062AA_GP_RISE3_STEP_MASK (0x0f << 0) > +#define DA9062AA_GP_FALL3_STEP_SHIFT 4 > +#define DA9062AA_GP_FALL3_STEP_MASK (0x0f << 4) > + -> +/* DA9062AA_ID_28_27 = 0x090 */ +> +/* DA9062AA_ID_28_27 =3D 0x090 */ > +#define DA9062AA_GP_RISE4_STEP_SHIFT 0 > +#define DA9062AA_GP_RISE4_STEP_MASK (0x0f << 0) > +#define DA9062AA_GP_FALL4_STEP_SHIFT 4 > +#define DA9062AA_GP_FALL4_STEP_MASK (0x0f << 4) > + -> +/* DA9062AA_ID_30_29 = 0x091 */ +> +/* DA9062AA_ID_30_29 =3D 0x091 */ > +#define DA9062AA_GP_RISE5_STEP_SHIFT 0 > +#define DA9062AA_GP_RISE5_STEP_MASK (0x0f << 0) > +#define DA9062AA_GP_FALL5_STEP_SHIFT 4 > +#define DA9062AA_GP_FALL5_STEP_MASK (0x0f << 4) > + -> +/* DA9062AA_ID_32_31 = 0x092 */ +> +/* DA9062AA_ID_32_31 =3D 0x092 */ > +#define DA9062AA_WAIT_STEP_SHIFT 0 > +#define DA9062AA_WAIT_STEP_MASK (0x0f << 0) > +#define DA9062AA_EN32K_STEP_SHIFT 4 > +#define DA9062AA_EN32K_STEP_MASK (0x0f << 4) > + -> +/* DA9062AA_SEQ_A = 0x095 */ +> +/* DA9062AA_SEQ_A =3D 0x095 */ > +#define DA9062AA_SYSTEM_END_SHIFT 0 > +#define DA9062AA_SYSTEM_END_MASK (0x0f << 0) > +#define DA9062AA_POWER_END_SHIFT 4 > +#define DA9062AA_POWER_END_MASK (0x0f << 4) > + -> +/* DA9062AA_SEQ_B = 0x096 */ +> +/* DA9062AA_SEQ_B =3D 0x096 */ > +#define DA9062AA_MAX_COUNT_SHIFT 0 > +#define DA9062AA_MAX_COUNT_MASK (0x0f << 0) > +#define DA9062AA_PART_DOWN_SHIFT 4 > +#define DA9062AA_PART_DOWN_MASK (0x0f << 4) > + -> +/* DA9062AA_WAIT = 0x097 */ +> +/* DA9062AA_WAIT =3D 0x097 */ > +#define DA9062AA_WAIT_TIME_SHIFT 0 > +#define DA9062AA_WAIT_TIME_MASK (0x0f << 0) > +#define DA9062AA_WAIT_MODE_SHIFT 4 @@ -1611,7 +1617,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_WAIT_DIR_SHIFT 6 > +#define DA9062AA_WAIT_DIR_MASK (0x03 << 6) > + -> +/* DA9062AA_EN_32K = 0x098 */ +> +/* DA9062AA_EN_32K =3D 0x098 */ > +#define DA9062AA_STABILISATION_TIME_SHIFT 0 > +#define DA9062AA_STABILISATION_TIME_MASK (0x07 << 0) > +#define DA9062AA_CRYSTAL_SHIFT 3 @@ -1625,39 +1631,39 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_EN_32KOUT_SHIFT 7 > +#define DA9062AA_EN_32KOUT_MASK (0x01 << 7) > + -> +/* DA9062AA_RESET = 0x099 */ +> +/* DA9062AA_RESET =3D 0x099 */ > +#define DA9062AA_RESET_TIMER_SHIFT 0 > +#define DA9062AA_RESET_TIMER_MASK (0x3f << 0) > +#define DA9062AA_RESET_EVENT_SHIFT 6 > +#define DA9062AA_RESET_EVENT_MASK (0x03 << 6) > + -> +/* DA9062AA_BUCK_ILIM_A = 0x09A */ +> +/* DA9062AA_BUCK_ILIM_A =3D 0x09A */ > +#define DA9062AA_BUCK3_ILIM_SHIFT 0 > +#define DA9062AA_BUCK3_ILIM_MASK (0x0f << 0) > + -> +/* DA9062AA_BUCK_ILIM_B = 0x09B */ +> +/* DA9062AA_BUCK_ILIM_B =3D 0x09B */ > +#define DA9062AA_BUCK4_ILIM_SHIFT 0 > +#define DA9062AA_BUCK4_ILIM_MASK (0x0f << 0) > + -> +/* DA9062AA_BUCK_ILIM_C = 0x09C */ +> +/* DA9062AA_BUCK_ILIM_C =3D 0x09C */ > +#define DA9062AA_BUCK1_ILIM_SHIFT 0 > +#define DA9062AA_BUCK1_ILIM_MASK (0x0f << 0) > +#define DA9062AA_BUCK2_ILIM_SHIFT 4 > +#define DA9062AA_BUCK2_ILIM_MASK (0x0f << 4) > + -> +/* DA9062AA_BUCK2_CFG = 0x09D */ +> +/* DA9062AA_BUCK2_CFG =3D 0x09D */ > +#define DA9062AA_BUCK2_PD_DIS_SHIFT 5 > +#define DA9062AA_BUCK2_PD_DIS_MASK (0x01 << 5) > +#define DA9062AA_BUCK2_MODE_SHIFT 6 > +#define DA9062AA_BUCK2_MODE_MASK (0x03 << 6) > + -> +/* DA9062AA_BUCK1_CFG = 0x09E */ +> +/* DA9062AA_BUCK1_CFG =3D 0x09E */ > +#define DA9062AA_BUCK1_PD_DIS_SHIFT 5 > +#define DA9062AA_BUCK1_PD_DIS_MASK (0x01 << 5) > +#define DA9062AA_BUCK1_MODE_SHIFT 6 > +#define DA9062AA_BUCK1_MODE_MASK (0x03 << 6) > + -> +/* DA9062AA_BUCK4_CFG = 0x09F */ +> +/* DA9062AA_BUCK4_CFG =3D 0x09F */ > +#define DA9062AA_BUCK4_VTTR_EN_SHIFT 3 > +#define DA9062AA_BUCK4_VTTR_EN_MASK (0x01 << 3) > +#define DA9062AA_BUCK4_VTT_EN_SHIFT 4 @@ -1667,119 +1673,119 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_BUCK4_MODE_SHIFT 6 > +#define DA9062AA_BUCK4_MODE_MASK (0x03 << 6) > + -> +/* DA9062AA_BUCK3_CFG = 0x0A0 */ +> +/* DA9062AA_BUCK3_CFG =3D 0x0A0 */ > +#define DA9062AA_BUCK3_PD_DIS_SHIFT 5 > +#define DA9062AA_BUCK3_PD_DIS_MASK (0x01 << 5) > +#define DA9062AA_BUCK3_MODE_SHIFT 6 > +#define DA9062AA_BUCK3_MODE_MASK (0x03 << 6) > + -> +/* DA9062AA_VBUCK2_A = 0x0A3 */ +> +/* DA9062AA_VBUCK2_A =3D 0x0A3 */ > +#define DA9062AA_VBUCK2_A_SHIFT 0 > +#define DA9062AA_VBUCK2_A_MASK (0x7f << 0) > +#define DA9062AA_BUCK2_SL_A_SHIFT 7 > +#define DA9062AA_BUCK2_SL_A_MASK (0x01 << 7) > + -> +/* DA9062AA_VBUCK1_A = 0x0A4 */ +> +/* DA9062AA_VBUCK1_A =3D 0x0A4 */ > +#define DA9062AA_VBUCK1_A_SHIFT 0 > +#define DA9062AA_VBUCK1_A_MASK (0x7f << 0) > +#define DA9062AA_BUCK1_SL_A_SHIFT 7 > +#define DA9062AA_BUCK1_SL_A_MASK (0x01 << 7) > + -> +/* DA9062AA_VBUCK4_A = 0x0A5 */ +> +/* DA9062AA_VBUCK4_A =3D 0x0A5 */ > +#define DA9062AA_VBUCK4_A_SHIFT 0 > +#define DA9062AA_VBUCK4_A_MASK (0x7f << 0) > +#define DA9062AA_BUCK4_SL_A_SHIFT 7 > +#define DA9062AA_BUCK4_SL_A_MASK (0x01 << 7) > + -> +/* DA9062AA_VBUCK3_A = 0x0A7 */ +> +/* DA9062AA_VBUCK3_A =3D 0x0A7 */ > +#define DA9062AA_VBUCK3_A_SHIFT 0 > +#define DA9062AA_VBUCK3_A_MASK (0x7f << 0) > +#define DA9062AA_BUCK3_SL_A_SHIFT 7 > +#define DA9062AA_BUCK3_SL_A_MASK (0x01 << 7) > + -> +/* DA9062AA_VLDO1_A = 0x0A9 */ +> +/* DA9062AA_VLDO1_A =3D 0x0A9 */ > +#define DA9062AA_VLDO1_A_SHIFT 0 > +#define DA9062AA_VLDO1_A_MASK (0x3f << 0) > +#define DA9062AA_LDO1_SL_A_SHIFT 7 > +#define DA9062AA_LDO1_SL_A_MASK (0x01 << 7) > + -> +/* DA9062AA_VLDO2_A = 0x0AA */ +> +/* DA9062AA_VLDO2_A =3D 0x0AA */ > +#define DA9062AA_VLDO2_A_SHIFT 0 > +#define DA9062AA_VLDO2_A_MASK (0x3f << 0) > +#define DA9062AA_LDO2_SL_A_SHIFT 7 > +#define DA9062AA_LDO2_SL_A_MASK (0x01 << 7) > + -> +/* DA9062AA_VLDO3_A = 0x0AB */ +> +/* DA9062AA_VLDO3_A =3D 0x0AB */ > +#define DA9062AA_VLDO3_A_SHIFT 0 > +#define DA9062AA_VLDO3_A_MASK (0x3f << 0) > +#define DA9062AA_LDO3_SL_A_SHIFT 7 > +#define DA9062AA_LDO3_SL_A_MASK (0x01 << 7) > + -> +/* DA9062AA_VLDO4_A = 0x0AC */ +> +/* DA9062AA_VLDO4_A =3D 0x0AC */ > +#define DA9062AA_VLDO4_A_SHIFT 0 > +#define DA9062AA_VLDO4_A_MASK (0x3f << 0) > +#define DA9062AA_LDO4_SL_A_SHIFT 7 > +#define DA9062AA_LDO4_SL_A_MASK (0x01 << 7) > + -> +/* DA9062AA_VBUCK2_B = 0x0B4 */ +> +/* DA9062AA_VBUCK2_B =3D 0x0B4 */ > +#define DA9062AA_VBUCK2_B_SHIFT 0 > +#define DA9062AA_VBUCK2_B_MASK (0x7f << 0) > +#define DA9062AA_BUCK2_SL_B_SHIFT 7 > +#define DA9062AA_BUCK2_SL_B_MASK (0x01 << 7) > + -> +/* DA9062AA_VBUCK1_B = 0x0B5 */ +> +/* DA9062AA_VBUCK1_B =3D 0x0B5 */ > +#define DA9062AA_VBUCK1_B_SHIFT 0 > +#define DA9062AA_VBUCK1_B_MASK (0x7f << 0) > +#define DA9062AA_BUCK1_SL_B_SHIFT 7 > +#define DA9062AA_BUCK1_SL_B_MASK (0x01 << 7) > + -> +/* DA9062AA_VBUCK4_B = 0x0B6 */ +> +/* DA9062AA_VBUCK4_B =3D 0x0B6 */ > +#define DA9062AA_VBUCK4_B_SHIFT 0 > +#define DA9062AA_VBUCK4_B_MASK (0x7f << 0) > +#define DA9062AA_BUCK4_SL_B_SHIFT 7 > +#define DA9062AA_BUCK4_SL_B_MASK (0x01 << 7) > + -> +/* DA9062AA_VBUCK3_B = 0x0B8 */ +> +/* DA9062AA_VBUCK3_B =3D 0x0B8 */ > +#define DA9062AA_VBUCK3_B_SHIFT 0 > +#define DA9062AA_VBUCK3_B_MASK (0x7f << 0) > +#define DA9062AA_BUCK3_SL_B_SHIFT 7 > +#define DA9062AA_BUCK3_SL_B_MASK (0x01 << 7) > + -> +/* DA9062AA_VLDO1_B = 0x0BA */ +> +/* DA9062AA_VLDO1_B =3D 0x0BA */ > +#define DA9062AA_VLDO1_B_SHIFT 0 > +#define DA9062AA_VLDO1_B_MASK (0x3f << 0) > +#define DA9062AA_LDO1_SL_B_SHIFT 7 > +#define DA9062AA_LDO1_SL_B_MASK (0x01 << 7) > + -> +/* DA9062AA_VLDO2_B = 0x0BB */ +> +/* DA9062AA_VLDO2_B =3D 0x0BB */ > +#define DA9062AA_VLDO2_B_SHIFT 0 > +#define DA9062AA_VLDO2_B_MASK (0x3f << 0) > +#define DA9062AA_LDO2_SL_B_SHIFT 7 > +#define DA9062AA_LDO2_SL_B_MASK (0x01 << 7) > + -> +/* DA9062AA_VLDO3_B = 0x0BC */ +> +/* DA9062AA_VLDO3_B =3D 0x0BC */ > +#define DA9062AA_VLDO3_B_SHIFT 0 > +#define DA9062AA_VLDO3_B_MASK (0x3f << 0) > +#define DA9062AA_LDO3_SL_B_SHIFT 7 > +#define DA9062AA_LDO3_SL_B_MASK (0x01 << 7) > + -> +/* DA9062AA_VLDO4_B = 0x0BD */ +> +/* DA9062AA_VLDO4_B =3D 0x0BD */ > +#define DA9062AA_VLDO4_B_SHIFT 0 > +#define DA9062AA_VLDO4_B_MASK (0x3f << 0) > +#define DA9062AA_LDO4_SL_B_SHIFT 7 > +#define DA9062AA_LDO4_SL_B_MASK (0x01 << 7) > + -> +/* DA9062AA_BBAT_CONT = 0x0C5 */ +> +/* DA9062AA_BBAT_CONT =3D 0x0C5 */ > +#define DA9062AA_BCHG_VSET_SHIFT 0 > +#define DA9062AA_BCHG_VSET_MASK (0x0f << 0) > +#define DA9062AA_BCHG_ISET_SHIFT 4 > +#define DA9062AA_BCHG_ISET_MASK (0x0f << 4) > + -> +/* DA9062AA_INTERFACE = 0x105 */ +> +/* DA9062AA_INTERFACE =3D 0x105 */ > +#define DA9062AA_IF_BASE_ADDR_SHIFT 4 > +#define DA9062AA_IF_BASE_ADDR_MASK (0x0f << 4) > + -> +/* DA9062AA_CONFIG_A = 0x106 */ +> +/* DA9062AA_CONFIG_A =3D 0x106 */ > +#define DA9062AA_PM_I_V_SHIFT 0 > +#define DA9062AA_PM_I_V_MASK (0x01 << 0) > +#define DA9062AA_PM_O_TYPE_SHIFT 2 @@ -1793,13 +1799,13 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_PM_IF_HSM_SHIFT 6 > +#define DA9062AA_PM_IF_HSM_MASK (0x01 << 6) > + -> +/* DA9062AA_CONFIG_B = 0x107 */ +> +/* DA9062AA_CONFIG_B =3D 0x107 */ > +#define DA9062AA_VDD_FAULT_ADJ_SHIFT 0 > +#define DA9062AA_VDD_FAULT_ADJ_MASK (0x0f << 0) > +#define DA9062AA_VDD_HYST_ADJ_SHIFT 4 > +#define DA9062AA_VDD_HYST_ADJ_MASK (0x07 << 4) > + -> +/* DA9062AA_CONFIG_C = 0x108 */ +> +/* DA9062AA_CONFIG_C =3D 0x108 */ > +#define DA9062AA_BUCK_ACTV_DISCHRG_SHIFT 2 > +#define DA9062AA_BUCK_ACTV_DISCHRG_MASK (0x01 << 2) > +#define DA9062AA_BUCK1_CLK_INV_SHIFT 3 @@ -1809,7 +1815,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_BUCK3_CLK_INV_SHIFT 6 > +#define DA9062AA_BUCK3_CLK_INV_MASK (0x01 << 6) > + -> +/* DA9062AA_CONFIG_D = 0x109 */ +> +/* DA9062AA_CONFIG_D =3D 0x109 */ > +#define DA9062AA_GPI_V_SHIFT 0 > +#define DA9062AA_GPI_V_MASK (0x01 << 0) > +#define DA9062AA_NIRQ_MODE_SHIFT 1 @@ -1819,7 +1825,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_FORCE_RESET_SHIFT 5 > +#define DA9062AA_FORCE_RESET_MASK (0x01 << 5) > + -> +/* DA9062AA_CONFIG_E = 0x10A */ +> +/* DA9062AA_CONFIG_E =3D 0x10A */ > +#define DA9062AA_BUCK1_AUTO_SHIFT 0 > +#define DA9062AA_BUCK1_AUTO_MASK (0x01 << 0) > +#define DA9062AA_BUCK2_AUTO_SHIFT 1 @@ -1829,7 +1835,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_BUCK3_AUTO_SHIFT 4 > +#define DA9062AA_BUCK3_AUTO_MASK (0x01 << 4) > + -> +/* DA9062AA_CONFIG_G = 0x10C */ +> +/* DA9062AA_CONFIG_G =3D 0x10C */ > +#define DA9062AA_LDO1_AUTO_SHIFT 0 > +#define DA9062AA_LDO1_AUTO_MASK (0x01 << 0) > +#define DA9062AA_LDO2_AUTO_SHIFT 1 @@ -1839,7 +1845,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_LDO4_AUTO_SHIFT 3 > +#define DA9062AA_LDO4_AUTO_MASK (0x01 << 3) > + -> +/* DA9062AA_CONFIG_H = 0x10D */ +> +/* DA9062AA_CONFIG_H =3D 0x10D */ > +#define DA9062AA_BUCK1_2_MERGE_SHIFT 3 > +#define DA9062AA_BUCK1_2_MERGE_MASK (0x01 << 3) > +#define DA9062AA_BUCK2_OD_SHIFT 5 @@ -1847,7 +1853,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_BUCK1_OD_SHIFT 6 > +#define DA9062AA_BUCK1_OD_MASK (0x01 << 6) > + -> +/* DA9062AA_CONFIG_I = 0x10E */ +> +/* DA9062AA_CONFIG_I =3D 0x10E */ > +#define DA9062AA_NONKEY_PIN_SHIFT 0 > +#define DA9062AA_NONKEY_PIN_MASK (0x03 << 0) > +#define DA9062AA_nONKEY_SD_SHIFT 2 @@ -1863,7 +1869,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_LDO_SD_SHIFT 7 > +#define DA9062AA_LDO_SD_MASK (0x01 << 7) > + -> +/* DA9062AA_CONFIG_J = 0x10F */ +> +/* DA9062AA_CONFIG_J =3D 0x10F */ > +#define DA9062AA_KEY_DELAY_SHIFT 0 > +#define DA9062AA_KEY_DELAY_MASK (0x03 << 0) > +#define DA9062AA_SHUT_DELAY_SHIFT 2 @@ -1875,7 +1881,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_IF_RESET_SHIFT 7 > +#define DA9062AA_IF_RESET_MASK (0x01 << 7) > + -> +/* DA9062AA_CONFIG_K = 0x110 */ +> +/* DA9062AA_CONFIG_K =3D 0x110 */ > +#define DA9062AA_GPIO0_PUPD_SHIFT 0 > +#define DA9062AA_GPIO0_PUPD_MASK (0x01 << 0) > +#define DA9062AA_GPIO1_PUPD_SHIFT 1 @@ -1887,7 +1893,7 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_GPIO4_PUPD_SHIFT 4 > +#define DA9062AA_GPIO4_PUPD_MASK (0x01 << 4) > + -> +/* DA9062AA_CONFIG_M = 0x112 */ +> +/* DA9062AA_CONFIG_M =3D 0x112 */ > +#define DA9062AA_NSHUTDOWN_PU_SHIFT 1 > +#define DA9062AA_NSHUTDOWN_PU_MASK (0x01 << 1) > +#define DA9062AA_WDG_MODE_SHIFT 3 @@ -1895,116 +1901,125 @@ For 1 << X, you should use BIT(X). > +#define DA9062AA_OSC_FRQ_SHIFT 4 > +#define DA9062AA_OSC_FRQ_MASK (0x0f << 4) > + -> +/* DA9062AA_TRIM_CLDR = 0x120 */ +> +/* DA9062AA_TRIM_CLDR =3D 0x120 */ > +#define DA9062AA_TRIM_CLDR_SHIFT 0 > +#define DA9062AA_TRIM_CLDR_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_0 = 0x121 */ +> +/* DA9062AA_GP_ID_0 =3D 0x121 */ > +#define DA9062AA_GP_0_SHIFT 0 > +#define DA9062AA_GP_0_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_1 = 0x122 */ +> +/* DA9062AA_GP_ID_1 =3D 0x122 */ > +#define DA9062AA_GP_1_SHIFT 0 > +#define DA9062AA_GP_1_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_2 = 0x123 */ +> +/* DA9062AA_GP_ID_2 =3D 0x123 */ > +#define DA9062AA_GP_2_SHIFT 0 > +#define DA9062AA_GP_2_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_3 = 0x124 */ +> +/* DA9062AA_GP_ID_3 =3D 0x124 */ > +#define DA9062AA_GP_3_SHIFT 0 > +#define DA9062AA_GP_3_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_4 = 0x125 */ +> +/* DA9062AA_GP_ID_4 =3D 0x125 */ > +#define DA9062AA_GP_4_SHIFT 0 > +#define DA9062AA_GP_4_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_5 = 0x126 */ +> +/* DA9062AA_GP_ID_5 =3D 0x126 */ > +#define DA9062AA_GP_5_SHIFT 0 > +#define DA9062AA_GP_5_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_6 = 0x127 */ +> +/* DA9062AA_GP_ID_6 =3D 0x127 */ > +#define DA9062AA_GP_6_SHIFT 0 > +#define DA9062AA_GP_6_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_7 = 0x128 */ +> +/* DA9062AA_GP_ID_7 =3D 0x128 */ > +#define DA9062AA_GP_7_SHIFT 0 > +#define DA9062AA_GP_7_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_8 = 0x129 */ +> +/* DA9062AA_GP_ID_8 =3D 0x129 */ > +#define DA9062AA_GP_8_SHIFT 0 > +#define DA9062AA_GP_8_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_9 = 0x12A */ +> +/* DA9062AA_GP_ID_9 =3D 0x12A */ > +#define DA9062AA_GP_9_SHIFT 0 > +#define DA9062AA_GP_9_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_10 = 0x12B */ +> +/* DA9062AA_GP_ID_10 =3D 0x12B */ > +#define DA9062AA_GP_10_SHIFT 0 > +#define DA9062AA_GP_10_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_11 = 0x12C */ +> +/* DA9062AA_GP_ID_11 =3D 0x12C */ > +#define DA9062AA_GP_11_SHIFT 0 > +#define DA9062AA_GP_11_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_12 = 0x12D */ +> +/* DA9062AA_GP_ID_12 =3D 0x12D */ > +#define DA9062AA_GP_12_SHIFT 0 > +#define DA9062AA_GP_12_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_13 = 0x12E */ +> +/* DA9062AA_GP_ID_13 =3D 0x12E */ > +#define DA9062AA_GP_13_SHIFT 0 > +#define DA9062AA_GP_13_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_14 = 0x12F */ +> +/* DA9062AA_GP_ID_14 =3D 0x12F */ > +#define DA9062AA_GP_14_SHIFT 0 > +#define DA9062AA_GP_14_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_15 = 0x130 */ +> +/* DA9062AA_GP_ID_15 =3D 0x130 */ > +#define DA9062AA_GP_15_SHIFT 0 > +#define DA9062AA_GP_15_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_16 = 0x131 */ +> +/* DA9062AA_GP_ID_16 =3D 0x131 */ > +#define DA9062AA_GP_16_SHIFT 0 > +#define DA9062AA_GP_16_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_17 = 0x132 */ +> +/* DA9062AA_GP_ID_17 =3D 0x132 */ > +#define DA9062AA_GP_17_SHIFT 0 > +#define DA9062AA_GP_17_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_18 = 0x133 */ +> +/* DA9062AA_GP_ID_18 =3D 0x133 */ > +#define DA9062AA_GP_18_SHIFT 0 > +#define DA9062AA_GP_18_MASK (0xff << 0) > + -> +/* DA9062AA_GP_ID_19 = 0x134 */ +> +/* DA9062AA_GP_ID_19 =3D 0x134 */ > +#define DA9062AA_GP_19_SHIFT 0 > +#define DA9062AA_GP_19_MASK (0xff << 0) > + -> +/* DA9062AA_DEVICE_ID = 0x181 */ +> +/* DA9062AA_DEVICE_ID =3D 0x181 */ > +#define DA9062AA_DEV_ID_SHIFT 0 > +#define DA9062AA_DEV_ID_MASK (0xff << 0) > + -> +/* DA9062AA_VARIANT_ID = 0x182 */ +> +/* DA9062AA_VARIANT_ID =3D 0x182 */ > +#define DA9062AA_VRC_SHIFT 0 > +#define DA9062AA_VRC_MASK (0x0f << 0) > +#define DA9062AA_MRC_SHIFT 4 > +#define DA9062AA_MRC_MASK (0x0f << 4) > + -> +/* DA9062AA_CUSTOMER_ID = 0x183 */ +> +/* DA9062AA_CUSTOMER_ID =3D 0x183 */ > +#define DA9062AA_CUST_ID_SHIFT 0 > +#define DA9062AA_CUST_ID_MASK (0xff << 0) > + -> +/* DA9062AA_CONFIG_ID = 0x184 */ +> +/* DA9062AA_CONFIG_ID =3D 0x184 */ > +#define DA9062AA_CONFIG_REV_SHIFT 0 > +#define DA9062AA_CONFIG_REV_MASK (0xff << 0) > + > +#endif /* __DA9062_H__ */ --- +--=20 Lee Jones Linaro STMicroelectronics Landing Team Lead -Linaro.org │ Open source software for ARM SoCs +Linaro.org =E2=94=82 Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog --- -To unsubscribe from this list: send the line "unsubscribe linux-input" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html + +--=20 +--=20 +You received this message because you are subscribed to "rtc-linux". +Membership options at http://groups.google.com/group/rtc-linux . +Please read http://groups.google.com/group/rtc-linux/web/checklist +before submitting a driver. +---=20 +You received this message because you are subscribed to the Google Groups "= +rtc-linux" group. +To unsubscribe from this group and stop receiving emails from it, send an e= +mail to rtc-linux+unsubscribe@googlegroups.com. +For more options, visit https://groups.google.com/d/optout. diff --git a/a/content_digest b/N1/content_digest index 509f48c..ed0e10d 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,7 +1,7 @@ "ref\0cover.1432041031.git.stwiss.opensource@diasemi.com\0" "ref\0ecf72b79429e6758111a908fd1ded29c0b96da15.1432041031.git.stwiss.opensource@diasemi.com\0" "From\0Lee Jones <lee.jones@linaro.org>\0" - "Subject\0Re: [PATCH V3 1/4] mfd: da9062: DA9062 MFD core driver\0" + "Subject\0[rtc-linux] Re: [PATCH V3 1/4] mfd: da9062: DA9062 MFD core driver\0" "Date\0Tue, 26 May 2015 17:10:24 +0100\0" "To\0S Twiss <stwiss.opensource@diasemi.com>\0" "Cc\0LINUXKERNEL <linux-kernel@vger.kernel.org>" @@ -27,35 +27,39 @@ "On Tue, 19 May 2015, S Twiss wrote:\n" "\n" "> From: S Twiss <stwiss.opensource@diasemi.com>\n" - "> \n" + ">=20\n" "> Add MFD core driver support for DA9062\n" - "> \n" - "> \n" + ">=20\n" + ">=20\n" "> Signed-off-by: Steve Twiss <stwiss.opensource@diasemi.com>\n" - "> \n" + ">=20\n" "> ---\n" "> Changes in V3:\n" "> - Removed references to the RTC and OnKey in the mfd_cell definition.\n" - "> \n" + ">=20\n" "> Changes in V2:\n" - "> - Copyright headers GPL v2 (and later) match correct 'GPL' in MODULE_LICENSE\n" - "> - Ensure DA9062 core is tristate in Kconfig so it can be built as a module\n" - "> - Move VDD_WARN code and resource into the core instead of regulator driver\n" - "> \n" - "> This patch applies against linux-next and v4.1-rc3 \n" - "> \n" - "> \n" - "> \n" + "> - Copyright headers GPL v2 (and later) match correct 'GPL' in MODULE_LIC=\n" + "ENSE\n" + "> - Ensure DA9062 core is tristate in Kconfig so it can be built as a modu=\n" + "le\n" + "> - Move VDD_WARN code and resource into the core instead of regulator dri=\n" + "ver\n" + ">=20\n" + "> This patch applies against linux-next and v4.1-rc3=20\n" + ">=20\n" + ">=20\n" + ">=20\n" "> drivers/mfd/Kconfig | 12 +\n" "> drivers/mfd/Makefile | 3 +-\n" "> drivers/mfd/da9062-core.c | 611 +++++++++++++++++++\n" "> include/linux/mfd/da9062/core.h | 62 ++\n" - "> include/linux/mfd/da9062/registers.h | 1108 ++++++++++++++++++++++++++++++++++\n" + "> include/linux/mfd/da9062/registers.h | 1108 ++++++++++++++++++++++++++++=\n" + "++++++\n" "> 5 files changed, 1795 insertions(+), 1 deletion(-)\n" "> create mode 100644 drivers/mfd/da9062-core.c\n" "> create mode 100644 include/linux/mfd/da9062/core.h\n" "> create mode 100644 include/linux/mfd/da9062/registers.h\n" - "> \n" + ">=20\n" "> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig\n" "> index d5ad04d..44fb2b9 100644\n" "> --- a/drivers/mfd/Kconfig\n" @@ -63,13 +67,13 @@ "> @@ -183,6 +183,18 @@ config MFD_DA9055\n" "> \t This driver can be built as a module. If built as a module it will be\n" "> \t called \"da9055\"\n" - "> \n" + "> =20\n" "> +config MFD_DA9062\n" "> +\ttristate \"Dialog Semiconductor DA9062 PMIC Support\"\n" "> +\tselect MFD_CORE\n" "> +\tselect REGMAP_I2C\n" "> +\tselect REGMAP_IRQ\n" - "> +\tdepends on I2C=y\n" + "> +\tdepends on I2C=3Dy\n" "> +\thelp\n" "> +\t Say yes here for support for the Dialog Semiconductor DA9062 PMIC.\n" "> +\t This includes the I2C driver and core APIs.\n" @@ -83,19 +87,19 @@ "> index 0e5cfeb..d94e562 100644\n" "> --- a/drivers/mfd/Makefile\n" "> +++ b/drivers/mfd/Makefile\n" - "> @@ -110,10 +110,11 @@ obj-$(CONFIG_MFD_LP8788)\t+= lp8788.o lp8788-irq.o\n" - "> \n" - "> da9055-objs\t\t\t:= da9055-core.o da9055-i2c.o\n" - "> obj-$(CONFIG_MFD_DA9055)\t+= da9055.o\n" + "> @@ -110,10 +110,11 @@ obj-$(CONFIG_MFD_LP8788)\t+=3D lp8788.o lp8788-irq.o\n" + "> =20\n" + "> da9055-objs\t\t\t:=3D da9055-core.o da9055-i2c.o\n" + "> obj-$(CONFIG_MFD_DA9055)\t+=3D da9055.o\n" "> -\n" - "> +obj-$(CONFIG_MFD_DA9062)\t+= da9062-core.o\n" - "> da9063-objs\t\t\t:= da9063-core.o da9063-irq.o da9063-i2c.o\n" - "> obj-$(CONFIG_MFD_DA9063)\t+= da9063.o\n" - "> obj-$(CONFIG_MFD_DA9150)\t+= da9150-core.o\n" - "> +\n" - "> obj-$(CONFIG_MFD_MAX14577)\t+= max14577.o\n" - "> obj-$(CONFIG_MFD_MAX77686)\t+= max77686.o\n" - "> obj-$(CONFIG_MFD_MAX77693)\t+= max77693.o\n" + "> +obj-$(CONFIG_MFD_DA9062)\t+=3D da9062-core.o\n" + "> da9063-objs\t\t\t:=3D da9063-core.o da9063-irq.o da9063-i2c.o\n" + "> obj-$(CONFIG_MFD_DA9063)\t+=3D da9063.o\n" + "> obj-$(CONFIG_MFD_DA9150)\t+=3D da9150-core.o\n" + "> +\n" + "> obj-$(CONFIG_MFD_MAX14577)\t+=3D max14577.o\n" + "> obj-$(CONFIG_MFD_MAX77686)\t+=3D max77686.o\n" + "> obj-$(CONFIG_MFD_MAX77693)\t+=3D max77693.o\n" "> diff --git a/drivers/mfd/da9062-core.c b/drivers/mfd/da9062-core.c\n" "> new file mode 100644\n" "> index 0000000..5aea082\n" @@ -165,84 +169,84 @@ "> +#define\tDA9062_REG_EVENT_B_OFFSET\t1\n" "> +#define\tDA9062_REG_EVENT_C_OFFSET\t2\n" "> +\n" - "> +static struct regmap_irq da9062_irqs[] = {\n" + "> +static struct regmap_irq da9062_irqs[] =3D {\n" "> +\t/* EVENT A */\n" - "> +\t[DA9062_IRQ_ONKEY] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_A_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_NONKEY_MASK,\n" + "> +\t[DA9062_IRQ_ONKEY] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_A_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_NONKEY_MASK,\n" "> +\t},\n" - "> +\t[DA9062_IRQ_ALARM] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_A_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_ALARM_MASK,\n" + "> +\t[DA9062_IRQ_ALARM] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_A_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_ALARM_MASK,\n" "> +\t},\n" - "> +\t[DA9062_IRQ_TICK] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_A_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_TICK_MASK,\n" + "> +\t[DA9062_IRQ_TICK] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_A_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_TICK_MASK,\n" "> +\t},\n" - "> +\t[DA9062_IRQ_WDG_WARN] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_A_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_WDG_WARN_MASK,\n" + "> +\t[DA9062_IRQ_WDG_WARN] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_A_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_WDG_WARN_MASK,\n" "> +\t},\n" - "> +\t[DA9062_IRQ_SEQ_RDY] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_A_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_SEQ_RDY_MASK,\n" + "> +\t[DA9062_IRQ_SEQ_RDY] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_A_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_SEQ_RDY_MASK,\n" "> +\t},\n" "> +\t/* EVENT B */\n" - "> +\t[DA9062_IRQ_TEMP] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_B_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_TEMP_MASK,\n" + "> +\t[DA9062_IRQ_TEMP] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_B_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_TEMP_MASK,\n" "> +\t},\n" - "> +\t[DA9062_IRQ_LDO_LIM] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_B_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_LDO_LIM_MASK,\n" + "> +\t[DA9062_IRQ_LDO_LIM] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_B_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_LDO_LIM_MASK,\n" "> +\t},\n" - "> +\t[DA9062_IRQ_DVC_RDY] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_B_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_DVC_RDY_MASK,\n" + "> +\t[DA9062_IRQ_DVC_RDY] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_B_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_DVC_RDY_MASK,\n" "> +\t},\n" - "> +\t[DA9062_IRQ_VDD_WARN] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_B_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_VDD_WARN_MASK,\n" + "> +\t[DA9062_IRQ_VDD_WARN] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_B_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_VDD_WARN_MASK,\n" "> +\t},\n" "> +\t/* EVENT C */\n" - "> +\t[DA9062_IRQ_GPI0] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_C_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_GPI0_MASK,\n" + "> +\t[DA9062_IRQ_GPI0] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_C_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_GPI0_MASK,\n" "> +\t},\n" - "> +\t[DA9062_IRQ_GPI1] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_C_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_GPI1_MASK,\n" + "> +\t[DA9062_IRQ_GPI1] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_C_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_GPI1_MASK,\n" "> +\t},\n" - "> +\t[DA9062_IRQ_GPI2] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_C_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_GPI2_MASK,\n" + "> +\t[DA9062_IRQ_GPI2] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_C_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_GPI2_MASK,\n" "> +\t},\n" - "> +\t[DA9062_IRQ_GPI3] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_C_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_GPI3_MASK,\n" + "> +\t[DA9062_IRQ_GPI3] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_C_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_GPI3_MASK,\n" "> +\t},\n" - "> +\t[DA9062_IRQ_GPI4] = {\n" - "> +\t\t.reg_offset = DA9062_REG_EVENT_C_OFFSET,\n" - "> +\t\t.mask = DA9062AA_M_GPI4_MASK,\n" + "> +\t[DA9062_IRQ_GPI4] =3D {\n" + "> +\t\t.reg_offset =3D DA9062_REG_EVENT_C_OFFSET,\n" + "> +\t\t.mask =3D DA9062AA_M_GPI4_MASK,\n" "> +\t},\n" "> +};\n" "> +\n" - "> +static struct regmap_irq_chip da9062_irq_chip = {\n" + "> +static struct regmap_irq_chip da9062_irq_chip =3D {\n" "> +\t/* IRQ */\n" "\n" "Not required I think.\n" "\n" - "> +\t.name = \"da9062-irq\",\n" - "> +\t.irqs = da9062_irqs,\n" - "> +\t.num_irqs = DA9062_NUM_IRQ,\n" + "> +\t.name =3D \"da9062-irq\",\n" + "> +\t.irqs =3D da9062_irqs,\n" + "> +\t.num_irqs =3D DA9062_NUM_IRQ,\n" "> +\t/* STATUS and EVENT */\n" "\n" "This is a standard struct, no need for additional comments.\n" "\n" - "> +\t.num_regs = 3,\n" - "> +\t.status_base = DA9062AA_EVENT_A,\n" - "> +\t.mask_base = DA9062AA_IRQ_MASK_A,\n" - "> +\t.ack_base = DA9062AA_EVENT_A,\n" + "> +\t.num_regs =3D 3,\n" + "> +\t.status_base =3D DA9062AA_EVENT_A,\n" + "> +\t.mask_base =3D DA9062AA_IRQ_MASK_A,\n" + "> +\t.ack_base =3D DA9062AA_EVENT_A,\n" "> +};\n" "> +\n" "> +int da9062_irq_init(struct da9062 *chip)\n" @@ -257,7 +261,7 @@ "> +\t\treturn -EINVAL;\n" "> +\t}\n" "> +\n" - "> +\tret = regmap_add_irq_chip(chip->regmap, chip->chip_irq,\n" + "> +\tret =3D regmap_add_irq_chip(chip->regmap, chip->chip_irq,\n" "> +\t\t\tIRQF_TRIGGER_LOW | IRQF_ONESHOT | IRQF_SHARED,\n" "> +\t\t\tchip->irq_base, &da9062_irq_chip,\n" "> +\t\t\t&chip->regmap_irq);\n" @@ -286,75 +290,75 @@ "\n" "Doesn't add anything. This whole driver is the core driver.\n" "\n" - "> +static struct resource da9062_core_resources[] = {\n" + "> +static struct resource da9062_core_resources[] =3D {\n" "\n" "const?\n" "\n" "> +\t{\n" - "> +\t\t.name\t= \"VDD_WARN\",\n" - "> +\t\t.start\t= DA9062_IRQ_VDD_WARN,\n" - "> +\t\t.end\t= DA9062_IRQ_VDD_WARN,\n" - "> +\t\t.flags\t= IORESOURCE_IRQ,\n" + "> +\t\t.name\t=3D \"VDD_WARN\",\n" + "> +\t\t.start\t=3D DA9062_IRQ_VDD_WARN,\n" + "> +\t\t.end\t=3D DA9062_IRQ_VDD_WARN,\n" + "> +\t\t.flags\t=3D IORESOURCE_IRQ,\n" "> +\t},\n" "> +};\n" "> +\n" - "> +static struct resource da9062_regulators_resources[] = {\n" + "> +static struct resource da9062_regulators_resources[] =3D {\n" "> +\t{\n" - "> +\t\t.name\t= \"LDO_LIM\",\n" - "> +\t\t.start\t= DA9062_IRQ_LDO_LIM,\n" - "> +\t\t.end\t= DA9062_IRQ_LDO_LIM,\n" - "> +\t\t.flags\t= IORESOURCE_IRQ,\n" + "> +\t\t.name\t=3D \"LDO_LIM\",\n" + "> +\t\t.start\t=3D DA9062_IRQ_LDO_LIM,\n" + "> +\t\t.end\t=3D DA9062_IRQ_LDO_LIM,\n" + "> +\t\t.flags\t=3D IORESOURCE_IRQ,\n" "> +\t},\n" "> +};\n" "> +\n" - "> +static struct resource da9062_thermal_resources[] = {\n" + "> +static struct resource da9062_thermal_resources[] =3D {\n" "> +\t{\n" - "> +\t\t.name\t= \"THERMAL\",\n" - "> +\t\t.start\t= DA9062_IRQ_TEMP,\n" - "> +\t\t.end\t= DA9062_IRQ_TEMP,\n" - "> +\t\t.flags\t= IORESOURCE_IRQ,\n" + "> +\t\t.name\t=3D \"THERMAL\",\n" + "> +\t\t.start\t=3D DA9062_IRQ_TEMP,\n" + "> +\t\t.end\t=3D DA9062_IRQ_TEMP,\n" + "> +\t\t.flags\t=3D IORESOURCE_IRQ,\n" "> +\t},\n" "> +};\n" "> +\n" - "> +static struct resource da9062_wdt_resources[] = {\n" + "> +static struct resource da9062_wdt_resources[] =3D {\n" "> +\t{\n" - "> +\t\t.name\t= \"WDG_WARN\",\n" - "> +\t\t.start\t= DA9062_IRQ_WDG_WARN,\n" - "> +\t\t.end\t= DA9062_IRQ_WDG_WARN,\n" - "> +\t\t.flags\t= IORESOURCE_IRQ,\n" + "> +\t\t.name\t=3D \"WDG_WARN\",\n" + "> +\t\t.start\t=3D DA9062_IRQ_WDG_WARN,\n" + "> +\t\t.end\t=3D DA9062_IRQ_WDG_WARN,\n" + "> +\t\t.flags\t=3D IORESOURCE_IRQ,\n" "> +\t},\n" "> +};\n" "\n" "Convert all of these to oneliners using DEFINE_RES_* macros.\n" "\n" - "> +static const struct mfd_cell da9062_devs[] = {\n" + "> +static const struct mfd_cell da9062_devs[] =3D {\n" "> +\t{\n" - "> +\t\t.name\t\t= \"da9062-core\",\n" - "> +\t\t.num_resources\t= ARRAY_SIZE(da9062_core_resources),\n" - "> +\t\t.resources\t= da9062_core_resources,\n" + "> +\t\t.name\t\t=3D \"da9062-core\",\n" + "> +\t\t.num_resources\t=3D ARRAY_SIZE(da9062_core_resources),\n" + "> +\t\t.resources\t=3D da9062_core_resources,\n" "> +\t},\n" "> +\t{\n" - "> +\t\t.name\t\t= \"da9062-regulators\",\n" - "> +\t\t.num_resources\t= ARRAY_SIZE(da9062_regulators_resources),\n" - "> +\t\t.resources\t= da9062_regulators_resources,\n" + "> +\t\t.name\t\t=3D \"da9062-regulators\",\n" + "> +\t\t.num_resources\t=3D ARRAY_SIZE(da9062_regulators_resources),\n" + "> +\t\t.resources\t=3D da9062_regulators_resources,\n" "> +\t},\n" "> +\t{\n" - "> +\t\t.name\t\t= \"da9062-watchdog\",\n" - "> +\t\t.num_resources\t= ARRAY_SIZE(da9062_wdt_resources),\n" - "> +\t\t.resources\t= da9062_wdt_resources,\n" - "> +\t\t.of_compatible = \"dlg,da9062-wdt\",\n" + "> +\t\t.name\t\t=3D \"da9062-watchdog\",\n" + "> +\t\t.num_resources\t=3D ARRAY_SIZE(da9062_wdt_resources),\n" + "> +\t\t.resources\t=3D da9062_wdt_resources,\n" + "> +\t\t.of_compatible =3D \"dlg,da9062-wdt\",\n" "> +\t},\n" "> +\t{\n" - "> +\t\t.name\t\t= \"da9062-thermal\",\n" - "> +\t\t.num_resources\t= ARRAY_SIZE(da9062_thermal_resources),\n" - "> +\t\t.resources\t= da9062_thermal_resources,\n" - "> +\t\t.of_compatible = \"dlg,da9062-thermal\",\n" + "> +\t\t.name\t\t=3D \"da9062-thermal\",\n" + "> +\t\t.num_resources\t=3D ARRAY_SIZE(da9062_thermal_resources),\n" + "> +\t\t.resources\t=3D da9062_thermal_resources,\n" + "> +\t\t.of_compatible =3D \"dlg,da9062-thermal\",\n" "> +\t},\n" "> +};\n" "> +\n" "> +static irqreturn_t da9062_vdd_warn_event(int irq, void *data)\n" "> +{\n" - "> +\tstruct da9062 *hw = data;\n" + "> +\tstruct da9062 *hw =3D data;\n" "> +\n" "> +\tdev_err(hw->dev, \"VDD warning indicator\\n\");\n" "\n" @@ -365,18 +369,18 @@ "> +\n" "> +static int da9062_clear_fault_log(struct da9062 *chip)\n" "> +{\n" - "> +\tint ret = 0;\n" + "> +\tint ret =3D 0;\n" "\n" "No need to pre-initialise.\n" "\n" - "> +\tint fault_log = 0;\n" + "> +\tint fault_log =3D 0;\n" "\n" "As above.\n" "\n" - "> +\tret = regmap_read(chip->regmap, DA9062AA_FAULT_LOG, &fault_log);\n" + "> +\tret =3D regmap_read(chip->regmap, DA9062AA_FAULT_LOG, &fault_log);\n" "> +\tif (ret < 0) {\n" "> +\t\tdev_err(chip->dev, \"Cannot read FAULT_LOG.\\n\");\n" - "> +\t\tret = -EIO;\n" + "> +\t\tret =3D -EIO;\n" "\n" "Just return and rid the else.\n" "\n" @@ -400,7 +404,7 @@ "> +\t\t\t\tdev_dbg(chip->dev, \"Fault log entry detected: WAIT_SHUT\\n\");\n" "> +\t\t}\n" "> +\n" - "> +\t\tret = regmap_write(chip->regmap, DA9062AA_FAULT_LOG,\n" + "> +\t\tret =3D regmap_write(chip->regmap, DA9062AA_FAULT_LOG,\n" "> +\t\t\t\t fault_log);\n" "> +\t\tif (ret < 0)\n" "> +\t\t\tdev_err(chip->dev,\n" @@ -420,32 +424,32 @@ "\n" "Put ret on its own line.\n" "\n" - "> +\tret = da9062_clear_fault_log(chip);\n" + "> +\tret =3D da9062_clear_fault_log(chip);\n" "> +\tif (ret < 0)\n" "> +\t\tdev_err(chip->dev, \"Cannot clear fault log\\n\");\n" "\n" "If this is an error, you must return. If it's just a warning then use\n" "dev_warn().\n" "\n" - "> +\tchip->irq_base = -1;\n" + "> +\tchip->irq_base =3D -1;\n" "\n" "Why are you pre-initialising?\n" "\n" - "> +\tchip->chip_irq = irq;\n" + "> +\tchip->chip_irq =3D irq;\n" "\n" "You already assigned irq to chip_irq.\n" "\n" - "> +\tret = regmap_read(chip->regmap, DA9062AA_DEVICE_ID, &device_id);\n" + "> +\tret =3D regmap_read(chip->regmap, DA9062AA_DEVICE_ID, &device_id);\n" "> +\tif (ret < 0) {\n" "> +\t\tdev_err(chip->dev, \"Cannot read chip ID.\\n\");\n" "> +\t\treturn -EIO;\n" "> +\t}\n" - "> +\tif (device_id != DA9062_PMIC_DEVICE_ID) {\n" + "> +\tif (device_id !=3D DA9062_PMIC_DEVICE_ID) {\n" "> +\t\tdev_err(chip->dev, \"Invalid device ID: 0x%02x\\n\", device_id);\n" "> +\t\treturn -ENODEV;\n" "> +\t}\n" "> +\n" - "> +\tret = regmap_read(chip->regmap, DA9062AA_VARIANT_ID, &variant_id);\n" + "> +\tret =3D regmap_read(chip->regmap, DA9062AA_VARIANT_ID, &variant_id);\n" "> +\tif (ret < 0) {\n" "> +\t\tdev_err(chip->dev, \"Cannot read chip variant id.\\n\");\n" "> +\t\treturn -EIO;\n" @@ -457,7 +461,7 @@ "\n" "Probably best to put this at the end.\n" "\n" - "> +\tvariant_mrc = (variant_id & DA9062AA_MRC_MASK) >> DA9062AA_MRC_SHIFT;\n" + "> +\tvariant_mrc =3D (variant_id & DA9062AA_MRC_MASK) >> DA9062AA_MRC_SHIFT;\n" "> +\n" "> +\tif (variant_mrc < DA9062_PMIC_VARIANT_MRC_AA) {\n" "> +\t\tdev_err(chip->dev,\n" @@ -465,13 +469,13 @@ "> +\t\treturn -ENODEV;\n" "> +\t}\n" "> +\n" - "> +\tchip->device_id = device_id;\n" - "> +\tchip->variant_mrc = variant_mrc;\n" + "> +\tchip->device_id =3D device_id;\n" + "> +\tchip->variant_mrc =3D variant_mrc;\n" "\n" "I'd put all of the device/variant stuff it its own function, then move\n" "everything else into probe() and remove da9062_device_init().\n" "\n" - "> +\tret = da9062_irq_init(chip);\n" + "> +\tret =3D da9062_irq_init(chip);\n" "> +\tif (ret) {\n" "> +\t\tdev_err(chip->dev, \"Cannot initialize interrupts.\\n\");\n" "> +\t\treturn ret;\n" @@ -479,9 +483,9 @@ "\n" "Remove this function and call regmap_add_irq_chip() from here.\n" "\n" - "> +\tchip->irq_base = regmap_irq_chip_get_base(chip->regmap_irq);\n" + "> +\tchip->irq_base =3D regmap_irq_chip_get_base(chip->regmap_irq);\n" "> +\n" - "> +\tret = mfd_add_devices(chip->dev, -1, da9062_devs,\n" + "> +\tret =3D mfd_add_devices(chip->dev, -1, da9062_devs,\n" "\n" "Use PLATFORM_DEVID_NONE instead.\n" "\n" @@ -501,22 +505,22 @@ "> +\t}\n" "> +\n" "> +\t/* VDD WARN event support */\n" - "> +\tirq_vdd_warn = regmap_irq_get_virq(chip->regmap_irq,\n" + "> +\tirq_vdd_warn =3D regmap_irq_get_virq(chip->regmap_irq,\n" "> +\t\t\t\t\t DA9062_IRQ_VDD_WARN);\n" "> +\tif (irq_vdd_warn < 0) {\n" "> +\t\tdev_err(chip->dev, \"Failed to get IRQ.\\n\");\n" "> +\t\treturn irq_vdd_warn;\n" "> +\t}\n" - "> +\tchip->irq_vdd_warn = irq_vdd_warn;\n" + "> +\tchip->irq_vdd_warn =3D irq_vdd_warn;\n" "> +\n" - "> +\tret = devm_request_threaded_irq(chip->dev, irq_vdd_warn,\n" + "> +\tret =3D devm_request_threaded_irq(chip->dev, irq_vdd_warn,\n" "> +\t\t\t\t\tNULL, da9062_vdd_warn_event,\n" "> +\t\t\t\t\tIRQF_TRIGGER_LOW | IRQF_ONESHOT,\n" "> +\t\t\t\t\t\"VDD_WARN\", chip);\n" "> +\tif (ret) {\n" "> +\t\tdev_warn(chip->dev,\n" "> +\t\t\t \"Failed to request VDD_WARN IRQ.\\n\");\n" - "> +\t\tchip->irq_vdd_warn = -ENXIO;\n" + "> +\t\tchip->irq_vdd_warn =3D -ENXIO;\n" "> +\t}\n" "\n" "This looks like a lot of code, which doesn't really do anything. What\n" @@ -538,206 +542,206 @@ "\n" "Remove these.\n" "\n" - "> +static const struct regmap_range da9062_aa_readable_ranges[] = {\n" + "> +static const struct regmap_range da9062_aa_readable_ranges[] =3D {\n" "> +\t{\n" - "> +\t\t.range_min = DA9062AA_PAGE_CON,\n" - "> +\t\t.range_max = DA9062AA_STATUS_B,\n" + "> +\t\t.range_min =3D DA9062AA_PAGE_CON,\n" + "> +\t\t.range_max =3D DA9062AA_STATUS_B,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_STATUS_D,\n" - "> +\t\t.range_max = DA9062AA_EVENT_C,\n" + "> +\t\t.range_min =3D DA9062AA_STATUS_D,\n" + "> +\t\t.range_max =3D DA9062AA_EVENT_C,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_IRQ_MASK_A,\n" - "> +\t\t.range_max = DA9062AA_IRQ_MASK_C,\n" + "> +\t\t.range_min =3D DA9062AA_IRQ_MASK_A,\n" + "> +\t\t.range_max =3D DA9062AA_IRQ_MASK_C,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_CONTROL_A,\n" - "> +\t\t.range_max = DA9062AA_GPIO_4,\n" + "> +\t\t.range_min =3D DA9062AA_CONTROL_A,\n" + "> +\t\t.range_max =3D DA9062AA_GPIO_4,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_GPIO_WKUP_MODE,\n" - "> +\t\t.range_max = DA9062AA_BUCK4_CONT,\n" + "> +\t\t.range_min =3D DA9062AA_GPIO_WKUP_MODE,\n" + "> +\t\t.range_max =3D DA9062AA_BUCK4_CONT,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_BUCK3_CONT,\n" - "> +\t\t.range_max = DA9062AA_BUCK3_CONT,\n" + "> +\t\t.range_min =3D DA9062AA_BUCK3_CONT,\n" + "> +\t\t.range_max =3D DA9062AA_BUCK3_CONT,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_LDO1_CONT,\n" - "> +\t\t.range_max = DA9062AA_LDO4_CONT,\n" + "> +\t\t.range_min =3D DA9062AA_LDO1_CONT,\n" + "> +\t\t.range_max =3D DA9062AA_LDO4_CONT,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_DVC_1,\n" - "> +\t\t.range_max = DA9062AA_DVC_1,\n" + "> +\t\t.range_min =3D DA9062AA_DVC_1,\n" + "> +\t\t.range_max =3D DA9062AA_DVC_1,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_COUNT_S,\n" - "> +\t\t.range_max = DA9062AA_SECOND_D,\n" + "> +\t\t.range_min =3D DA9062AA_COUNT_S,\n" + "> +\t\t.range_max =3D DA9062AA_SECOND_D,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_SEQ,\n" - "> +\t\t.range_max = DA9062AA_ID_4_3,\n" + "> +\t\t.range_min =3D DA9062AA_SEQ,\n" + "> +\t\t.range_max =3D DA9062AA_ID_4_3,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_ID_12_11,\n" - "> +\t\t.range_max = DA9062AA_ID_16_15,\n" + "> +\t\t.range_min =3D DA9062AA_ID_12_11,\n" + "> +\t\t.range_max =3D DA9062AA_ID_16_15,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_ID_22_21,\n" - "> +\t\t.range_max = DA9062AA_ID_32_31,\n" + "> +\t\t.range_min =3D DA9062AA_ID_22_21,\n" + "> +\t\t.range_max =3D DA9062AA_ID_32_31,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_SEQ_A,\n" - "> +\t\t.range_max = DA9062AA_BUCK3_CFG,\n" + "> +\t\t.range_min =3D DA9062AA_SEQ_A,\n" + "> +\t\t.range_max =3D DA9062AA_BUCK3_CFG,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_VBUCK2_A,\n" - "> +\t\t.range_max = DA9062AA_VBUCK4_A,\n" + "> +\t\t.range_min =3D DA9062AA_VBUCK2_A,\n" + "> +\t\t.range_max =3D DA9062AA_VBUCK4_A,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_VBUCK3_A,\n" - "> +\t\t.range_max = DA9062AA_VBUCK3_A,\n" + "> +\t\t.range_min =3D DA9062AA_VBUCK3_A,\n" + "> +\t\t.range_max =3D DA9062AA_VBUCK3_A,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_VLDO1_A,\n" - "> +\t\t.range_max = DA9062AA_VLDO4_A,\n" + "> +\t\t.range_min =3D DA9062AA_VLDO1_A,\n" + "> +\t\t.range_max =3D DA9062AA_VLDO4_A,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_VBUCK2_B,\n" - "> +\t\t.range_max = DA9062AA_VBUCK4_B,\n" + "> +\t\t.range_min =3D DA9062AA_VBUCK2_B,\n" + "> +\t\t.range_max =3D DA9062AA_VBUCK4_B,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_VBUCK3_B,\n" - "> +\t\t.range_max = DA9062AA_VBUCK3_B,\n" + "> +\t\t.range_min =3D DA9062AA_VBUCK3_B,\n" + "> +\t\t.range_max =3D DA9062AA_VBUCK3_B,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_VLDO1_B,\n" - "> +\t\t.range_max = DA9062AA_VLDO4_B,\n" + "> +\t\t.range_min =3D DA9062AA_VLDO1_B,\n" + "> +\t\t.range_max =3D DA9062AA_VLDO4_B,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_BBAT_CONT,\n" - "> +\t\t.range_max = DA9062AA_BBAT_CONT,\n" + "> +\t\t.range_min =3D DA9062AA_BBAT_CONT,\n" + "> +\t\t.range_max =3D DA9062AA_BBAT_CONT,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_INTERFACE,\n" - "> +\t\t.range_max = DA9062AA_CONFIG_E,\n" + "> +\t\t.range_min =3D DA9062AA_INTERFACE,\n" + "> +\t\t.range_max =3D DA9062AA_CONFIG_E,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_CONFIG_G,\n" - "> +\t\t.range_max = DA9062AA_CONFIG_K,\n" + "> +\t\t.range_min =3D DA9062AA_CONFIG_G,\n" + "> +\t\t.range_max =3D DA9062AA_CONFIG_K,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_CONFIG_M,\n" - "> +\t\t.range_max = DA9062AA_CONFIG_M,\n" + "> +\t\t.range_min =3D DA9062AA_CONFIG_M,\n" + "> +\t\t.range_max =3D DA9062AA_CONFIG_M,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_TRIM_CLDR,\n" - "> +\t\t.range_max = DA9062AA_GP_ID_19,\n" + "> +\t\t.range_min =3D DA9062AA_TRIM_CLDR,\n" + "> +\t\t.range_max =3D DA9062AA_GP_ID_19,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_DEVICE_ID,\n" - "> +\t\t.range_max = DA9062AA_CONFIG_ID,\n" + "> +\t\t.range_min =3D DA9062AA_DEVICE_ID,\n" + "> +\t\t.range_max =3D DA9062AA_CONFIG_ID,\n" "> +\t},\n" "> +};\n" "> +\n" - "> +static const struct regmap_range da9062_aa_writeable_ranges[] = {\n" + "> +static const struct regmap_range da9062_aa_writeable_ranges[] =3D {\n" "> +\t{\n" - "> +\t\t.range_min = DA9062AA_PAGE_CON,\n" - "> +\t\t.range_max = DA9062AA_PAGE_CON,\n" + "> +\t\t.range_min =3D DA9062AA_PAGE_CON,\n" + "> +\t\t.range_max =3D DA9062AA_PAGE_CON,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_FAULT_LOG,\n" - "> +\t\t.range_max = DA9062AA_EVENT_C,\n" + "> +\t\t.range_min =3D DA9062AA_FAULT_LOG,\n" + "> +\t\t.range_max =3D DA9062AA_EVENT_C,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_IRQ_MASK_A,\n" - "> +\t\t.range_max = DA9062AA_IRQ_MASK_C,\n" + "> +\t\t.range_min =3D DA9062AA_IRQ_MASK_A,\n" + "> +\t\t.range_max =3D DA9062AA_IRQ_MASK_C,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_CONTROL_A,\n" - "> +\t\t.range_max = DA9062AA_GPIO_4,\n" + "> +\t\t.range_min =3D DA9062AA_CONTROL_A,\n" + "> +\t\t.range_max =3D DA9062AA_GPIO_4,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_GPIO_WKUP_MODE,\n" - "> +\t\t.range_max = DA9062AA_BUCK4_CONT,\n" + "> +\t\t.range_min =3D DA9062AA_GPIO_WKUP_MODE,\n" + "> +\t\t.range_max =3D DA9062AA_BUCK4_CONT,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_BUCK3_CONT,\n" - "> +\t\t.range_max = DA9062AA_BUCK3_CONT,\n" + "> +\t\t.range_min =3D DA9062AA_BUCK3_CONT,\n" + "> +\t\t.range_max =3D DA9062AA_BUCK3_CONT,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_LDO1_CONT,\n" - "> +\t\t.range_max = DA9062AA_LDO4_CONT,\n" + "> +\t\t.range_min =3D DA9062AA_LDO1_CONT,\n" + "> +\t\t.range_max =3D DA9062AA_LDO4_CONT,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_DVC_1,\n" - "> +\t\t.range_max = DA9062AA_DVC_1,\n" + "> +\t\t.range_min =3D DA9062AA_DVC_1,\n" + "> +\t\t.range_max =3D DA9062AA_DVC_1,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_COUNT_S,\n" - "> +\t\t.range_max = DA9062AA_ALARM_Y,\n" + "> +\t\t.range_min =3D DA9062AA_COUNT_S,\n" + "> +\t\t.range_max =3D DA9062AA_ALARM_Y,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_SEQ,\n" - "> +\t\t.range_max = DA9062AA_ID_4_3,\n" + "> +\t\t.range_min =3D DA9062AA_SEQ,\n" + "> +\t\t.range_max =3D DA9062AA_ID_4_3,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_ID_12_11,\n" - "> +\t\t.range_max = DA9062AA_ID_16_15,\n" + "> +\t\t.range_min =3D DA9062AA_ID_12_11,\n" + "> +\t\t.range_max =3D DA9062AA_ID_16_15,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_ID_22_21,\n" - "> +\t\t.range_max = DA9062AA_ID_32_31,\n" + "> +\t\t.range_min =3D DA9062AA_ID_22_21,\n" + "> +\t\t.range_max =3D DA9062AA_ID_32_31,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_SEQ_A,\n" - "> +\t\t.range_max = DA9062AA_BUCK3_CFG,\n" + "> +\t\t.range_min =3D DA9062AA_SEQ_A,\n" + "> +\t\t.range_max =3D DA9062AA_BUCK3_CFG,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_VBUCK2_A,\n" - "> +\t\t.range_max = DA9062AA_VBUCK4_A,\n" + "> +\t\t.range_min =3D DA9062AA_VBUCK2_A,\n" + "> +\t\t.range_max =3D DA9062AA_VBUCK4_A,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_VBUCK3_A,\n" - "> +\t\t.range_max = DA9062AA_VBUCK3_A,\n" + "> +\t\t.range_min =3D DA9062AA_VBUCK3_A,\n" + "> +\t\t.range_max =3D DA9062AA_VBUCK3_A,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_VLDO1_A,\n" - "> +\t\t.range_max = DA9062AA_VLDO4_A,\n" + "> +\t\t.range_min =3D DA9062AA_VLDO1_A,\n" + "> +\t\t.range_max =3D DA9062AA_VLDO4_A,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_VBUCK2_B,\n" - "> +\t\t.range_max = DA9062AA_VBUCK4_B,\n" + "> +\t\t.range_min =3D DA9062AA_VBUCK2_B,\n" + "> +\t\t.range_max =3D DA9062AA_VBUCK4_B,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_VBUCK3_B,\n" - "> +\t\t.range_max = DA9062AA_VBUCK3_B,\n" + "> +\t\t.range_min =3D DA9062AA_VBUCK3_B,\n" + "> +\t\t.range_max =3D DA9062AA_VBUCK3_B,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_VLDO1_B,\n" - "> +\t\t.range_max = DA9062AA_VLDO4_B,\n" + "> +\t\t.range_min =3D DA9062AA_VLDO1_B,\n" + "> +\t\t.range_max =3D DA9062AA_VLDO4_B,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_BBAT_CONT,\n" - "> +\t\t.range_max = DA9062AA_BBAT_CONT,\n" + "> +\t\t.range_min =3D DA9062AA_BBAT_CONT,\n" + "> +\t\t.range_max =3D DA9062AA_BBAT_CONT,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_GP_ID_0,\n" - "> +\t\t.range_max = DA9062AA_GP_ID_19,\n" + "> +\t\t.range_min =3D DA9062AA_GP_ID_0,\n" + "> +\t\t.range_max =3D DA9062AA_GP_ID_19,\n" "> +\t},\n" "> +};\n" "> +\n" - "> +static const struct regmap_range da9062_aa_volatile_ranges[] = {\n" + "> +static const struct regmap_range da9062_aa_volatile_ranges[] =3D {\n" "> +\t{\n" - "> +\t\t.range_min = DA9062AA_PAGE_CON,\n" - "> +\t\t.range_max = DA9062AA_STATUS_B,\n" + "> +\t\t.range_min =3D DA9062AA_PAGE_CON,\n" + "> +\t\t.range_max =3D DA9062AA_STATUS_B,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_STATUS_D,\n" - "> +\t\t.range_max = DA9062AA_EVENT_C,\n" + "> +\t\t.range_min =3D DA9062AA_STATUS_D,\n" + "> +\t\t.range_max =3D DA9062AA_EVENT_C,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_CONTROL_F,\n" - "> +\t\t.range_max = DA9062AA_CONTROL_F,\n" + "> +\t\t.range_min =3D DA9062AA_CONTROL_F,\n" + "> +\t\t.range_max =3D DA9062AA_CONTROL_F,\n" "> +\t}, {\n" - "> +\t\t.range_min = DA9062AA_COUNT_S,\n" - "> +\t\t.range_max = DA9062AA_SECOND_D,\n" + "> +\t\t.range_min =3D DA9062AA_COUNT_S,\n" + "> +\t\t.range_max =3D DA9062AA_SECOND_D,\n" "> +\t},\n" "> +};\n" "> +\n" - "> +static const struct regmap_access_table da9062_aa_readable_table = {\n" - "> +\t.yes_ranges = da9062_aa_readable_ranges,\n" - "> +\t.n_yes_ranges = ARRAY_SIZE(da9062_aa_readable_ranges),\n" + "> +static const struct regmap_access_table da9062_aa_readable_table =3D {\n" + "> +\t.yes_ranges =3D da9062_aa_readable_ranges,\n" + "> +\t.n_yes_ranges =3D ARRAY_SIZE(da9062_aa_readable_ranges),\n" "> +};\n" "> +\n" - "> +static const struct regmap_access_table da9062_aa_writeable_table = {\n" - "> +\t.yes_ranges = da9062_aa_writeable_ranges,\n" - "> +\t.n_yes_ranges = ARRAY_SIZE(da9062_aa_writeable_ranges),\n" + "> +static const struct regmap_access_table da9062_aa_writeable_table =3D {\n" + "> +\t.yes_ranges =3D da9062_aa_writeable_ranges,\n" + "> +\t.n_yes_ranges =3D ARRAY_SIZE(da9062_aa_writeable_ranges),\n" "> +};\n" "> +\n" - "> +static const struct regmap_access_table da9062_aa_volatile_table = {\n" - "> +\t.yes_ranges = da9062_aa_volatile_ranges,\n" - "> +\t.n_yes_ranges = ARRAY_SIZE(da9062_aa_volatile_ranges),\n" + "> +static const struct regmap_access_table da9062_aa_volatile_table =3D {\n" + "> +\t.yes_ranges =3D da9062_aa_volatile_ranges,\n" + "> +\t.n_yes_ranges =3D ARRAY_SIZE(da9062_aa_volatile_ranges),\n" "> +};\n" "> +\n" - "> +static const struct regmap_range_cfg da9062_range_cfg[] = {\n" + "> +static const struct regmap_range_cfg da9062_range_cfg[] =3D {\n" "> +\t{\n" - "> +\t\t.range_min = DA9062AA_PAGE_CON,\n" - "> +\t\t.range_max = DA9062AA_CONFIG_ID,\n" - "> +\t\t.selector_reg = DA9062AA_PAGE_CON,\n" - "> +\t\t.selector_mask = 1 << DA9062_I2C_PAGE_SEL_SHIFT,\n" - "> +\t\t.selector_shift = DA9062_I2C_PAGE_SEL_SHIFT,\n" - "> +\t\t.window_start = 0,\n" - "> +\t\t.window_len = 256,\n" + "> +\t\t.range_min =3D DA9062AA_PAGE_CON,\n" + "> +\t\t.range_max =3D DA9062AA_CONFIG_ID,\n" + "> +\t\t.selector_reg =3D DA9062AA_PAGE_CON,\n" + "> +\t\t.selector_mask =3D 1 << DA9062_I2C_PAGE_SEL_SHIFT,\n" + "> +\t\t.selector_shift =3D DA9062_I2C_PAGE_SEL_SHIFT,\n" + "> +\t\t.window_start =3D 0,\n" + "> +\t\t.window_len =3D 256,\n" "> +\t}\n" "> +};\n" "> +\n" - "> +static struct regmap_config da9062_regmap_config = {\n" - "> +\t.reg_bits = 8,\n" - "> +\t.val_bits = 8,\n" - "> +\t.ranges = da9062_range_cfg,\n" - "> +\t.num_ranges = ARRAY_SIZE(da9062_range_cfg),\n" - "> +\t.max_register = DA9062AA_CONFIG_ID,\n" - "> +\t.cache_type = REGCACHE_RBTREE,\n" + "> +static struct regmap_config da9062_regmap_config =3D {\n" + "> +\t.reg_bits =3D 8,\n" + "> +\t.val_bits =3D 8,\n" + "> +\t.ranges =3D da9062_range_cfg,\n" + "> +\t.num_ranges =3D ARRAY_SIZE(da9062_range_cfg),\n" + "> +\t.max_register =3D DA9062AA_CONFIG_ID,\n" + "> +\t.cache_type =3D REGCACHE_RBTREE,\n" "> +};\n" "> +\n" - "> +static const struct of_device_id da9062_dt_ids[] = {\n" - "> +\t{ .compatible = \"dlg,da9062\", },\n" + "> +static const struct of_device_id da9062_dt_ids[] =3D {\n" + "> +\t{ .compatible =3D \"dlg,da9062\", },\n" "> +\t{ }\n" "> +};\n" "> +MODULE_DEVICE_TABLE(of, da9062_dt_ids);\n" @@ -750,33 +754,33 @@ "> +\tstruct da9062 *chip;\n" "> +\tint ret;\n" "> +\n" - "> +\tchip = devm_kzalloc(&i2c->dev, sizeof(struct da9062), GFP_KERNEL);\n" + "> +\tchip =3D devm_kzalloc(&i2c->dev, sizeof(struct da9062), GFP_KERNEL);\n" "\n" "sizeof(*chip)\n" "\n" - "> +\tif (chip == NULL)\n" + "> +\tif (chip =3D=3D NULL)\n" "\n" "if (!chip)\n" "> +\t\treturn -ENOMEM;\n" "> +\n" "> +\ti2c_set_clientdata(i2c, chip);\n" - "> +\tchip->dev = &i2c->dev;\n" - "> +\tchip->chip_irq = i2c->irq;\n" + "> +\tchip->dev =3D &i2c->dev;\n" + "> +\tchip->chip_irq =3D i2c->irq;\n" "\n" "Check this once here, then you don't have to worry about it again.\n" "\n" "s/chip_irq/irq/\n" "\n" - "> +\tda9062_regmap_config.rd_table = &da9062_aa_readable_table;\n" - "> +\tda9062_regmap_config.wr_table = &da9062_aa_writeable_table;\n" - "> +\tda9062_regmap_config.volatile_table = &da9062_aa_volatile_table;\n" + "> +\tda9062_regmap_config.rd_table =3D &da9062_aa_readable_table;\n" + "> +\tda9062_regmap_config.wr_table =3D &da9062_aa_writeable_table;\n" + "> +\tda9062_regmap_config.volatile_table =3D &da9062_aa_volatile_table;\n" "\n" "Why are you doing this here instead of inside\n" "'struct regmap_config da9062_regmap_config' above?\n" "\n" - "> +\tchip->regmap = devm_regmap_init_i2c(i2c, &da9062_regmap_config);\n" + "> +\tchip->regmap =3D devm_regmap_init_i2c(i2c, &da9062_regmap_config);\n" "> +\tif (IS_ERR(chip->regmap)) {\n" - "> +\t\tret = PTR_ERR(chip->regmap);\n" + "> +\t\tret =3D PTR_ERR(chip->regmap);\n" "> +\t\tdev_err(chip->dev, \"Failed to allocate register map: %d\\n\",\n" "> +\t\t\tret);\n" "> +\t\treturn ret;\n" @@ -787,7 +791,7 @@ "> +\n" "> +static int da9062_i2c_remove(struct i2c_client *i2c)\n" "> +{\n" - "> +\tstruct da9062 *chip = i2c_get_clientdata(i2c);\n" + "> +\tstruct da9062 *chip =3D i2c_get_clientdata(i2c);\n" "> +\n" "> +\tda9062_device_exit(chip);\n" "\n" @@ -796,7 +800,7 @@ "> +\treturn 0;\n" "> +}\n" "> +\n" - "> +static const struct i2c_device_id da9062_i2c_id[] = {\n" + "> +static const struct i2c_device_id da9062_i2c_id[] =3D {\n" "> +\t{\"da9062\", 0},\n" "\n" "White space discipline.\n" @@ -805,14 +809,14 @@ "> +};\n" "> +MODULE_DEVICE_TABLE(i2c, da9062_i2c_id);\n" "> +\n" - "> +static struct i2c_driver da9062_i2c_driver = {\n" - "> +\t.driver = {\n" - "> +\t\t.name = \"da9062\",\n" - "> +\t\t.of_match_table = of_match_ptr(da9062_dt_ids),\n" + "> +static struct i2c_driver da9062_i2c_driver =3D {\n" + "> +\t.driver =3D {\n" + "> +\t\t.name =3D \"da9062\",\n" + "> +\t\t.of_match_table =3D of_match_ptr(da9062_dt_ids),\n" "> +\t},\n" - "> +\t.probe = da9062_i2c_probe,\n" - "> +\t.remove = da9062_i2c_remove,\n" - "> +\t.id_table = da9062_i2c_id,\n" + "> +\t.probe =3D da9062_i2c_probe,\n" + "> +\t.remove =3D da9062_i2c_remove,\n" + "> +\t.id_table =3D da9062_i2c_id,\n" "> +};\n" "> +\n" "> +module_i2c_driver(da9062_i2c_driver);\n" @@ -830,7 +834,8 @@ "Full names please.\n" "\n" "> +MODULE_LICENSE(\"GPL\");\n" - "> diff --git a/include/linux/mfd/da9062/core.h b/include/linux/mfd/da9062/core.h\n" + "> diff --git a/include/linux/mfd/da9062/core.h b/include/linux/mfd/da9062/c=\n" + "ore.h\n" "> new file mode 100644\n" "> index 0000000..0b17891\n" "> --- /dev/null\n" @@ -905,7 +910,8 @@ "Why are these required?\n" "\n" "> +#endif /* __MFD_DA9062_CORE_H__ */\n" - "> diff --git a/include/linux/mfd/da9062/registers.h b/include/linux/mfd/da9062/registers.h\n" + "> diff --git a/include/linux/mfd/da9062/registers.h b/include/linux/mfd/da9=\n" + "062/registers.h\n" "> new file mode 100644\n" "> index 0000000..d07c2bc\n" "> --- /dev/null\n" @@ -1074,7 +1080,7 @@ "> + * Bit fields\n" "> + */\n" "> +\n" - "> +/* DA9062AA_PAGE_CON = 0x000 */\n" + "> +/* DA9062AA_PAGE_CON =3D 0x000 */\n" "> +#define DA9062AA_PAGE_SHIFT\t\t0\n" "> +#define DA9062AA_PAGE_MASK\t\t(0x3f << 0)\n" "> +#define DA9062AA_WRITE_MODE_SHIFT\t6\n" @@ -1085,13 +1091,13 @@ "> +#define DA9062AA_REVERT_SHIFT\t\t7\n" "> +#define DA9062AA_REVERT_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_STATUS_A = 0x001 */\n" + "> +/* DA9062AA_STATUS_A =3D 0x001 */\n" "> +#define DA9062AA_NONKEY_SHIFT\t\t0\n" "> +#define DA9062AA_NONKEY_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_DVC_BUSY_SHIFT\t\t2\n" "> +#define DA9062AA_DVC_BUSY_MASK\t\t(0x01 << 2)\n" "> +\n" - "> +/* DA9062AA_STATUS_B = 0x002 */\n" + "> +/* DA9062AA_STATUS_B =3D 0x002 */\n" "> +#define DA9062AA_GPI0_SHIFT\t\t0\n" "> +#define DA9062AA_GPI0_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_GPI1_SHIFT\t\t1\n" @@ -1103,7 +1109,7 @@ "> +#define DA9062AA_GPI4_SHIFT\t\t4\n" "> +#define DA9062AA_GPI4_MASK\t\t(0x01 << 4)\n" "> +\n" - "> +/* DA9062AA_STATUS_D = 0x004 */\n" + "> +/* DA9062AA_STATUS_D =3D 0x004 */\n" "> +#define DA9062AA_LDO1_ILIM_SHIFT\t0\n" "> +#define DA9062AA_LDO1_ILIM_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_LDO2_ILIM_SHIFT\t1\n" @@ -1113,7 +1119,7 @@ "> +#define DA9062AA_LDO4_ILIM_SHIFT\t3\n" "> +#define DA9062AA_LDO4_ILIM_MASK\t\t(0x01 << 3)\n" "> +\n" - "> +/* DA9062AA_FAULT_LOG = 0x005 */\n" + "> +/* DA9062AA_FAULT_LOG =3D 0x005 */\n" "> +#define DA9062AA_TWD_ERROR_SHIFT\t0\n" "> +#define DA9062AA_TWD_ERROR_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_POR_SHIFT\t\t1\n" @@ -1131,7 +1137,7 @@ "> +#define DA9062AA_WAIT_SHUT_SHIFT\t7\n" "> +#define DA9062AA_WAIT_SHUT_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_EVENT_A = 0x006 */\n" + "> +/* DA9062AA_EVENT_A =3D 0x006 */\n" "> +#define DA9062AA_E_NONKEY_SHIFT\t\t0\n" "> +#define DA9062AA_E_NONKEY_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_E_ALARM_SHIFT\t\t1\n" @@ -1147,7 +1153,7 @@ "> +#define DA9062AA_EVENTS_C_SHIFT\t\t6\n" "> +#define DA9062AA_EVENTS_C_MASK\t\t(0x01 << 6)\n" "> +\n" - "> +/* DA9062AA_EVENT_B = 0x007 */\n" + "> +/* DA9062AA_EVENT_B =3D 0x007 */\n" "> +#define DA9062AA_E_TEMP_SHIFT\t\t1\n" "> +#define DA9062AA_E_TEMP_MASK\t\t(0x01 << 1)\n" "> +#define DA9062AA_E_LDO_LIM_SHIFT\t3\n" @@ -1157,7 +1163,7 @@ "> +#define DA9062AA_E_VDD_WARN_SHIFT\t7\n" "> +#define DA9062AA_E_VDD_WARN_MASK\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_EVENT_C = 0x008 */\n" + "> +/* DA9062AA_EVENT_C =3D 0x008 */\n" "> +#define DA9062AA_E_GPI0_SHIFT\t\t0\n" "> +#define DA9062AA_E_GPI0_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_E_GPI1_SHIFT\t\t1\n" @@ -1169,7 +1175,7 @@ "> +#define DA9062AA_E_GPI4_SHIFT\t\t4\n" "> +#define DA9062AA_E_GPI4_MASK\t\t(0x01 << 4)\n" "> +\n" - "> +/* DA9062AA_IRQ_MASK_A = 0x00A */\n" + "> +/* DA9062AA_IRQ_MASK_A =3D 0x00A */\n" "> +#define DA9062AA_M_NONKEY_SHIFT\t\t0\n" "> +#define DA9062AA_M_NONKEY_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_M_ALARM_SHIFT\t\t1\n" @@ -1181,7 +1187,7 @@ "> +#define DA9062AA_M_SEQ_RDY_SHIFT\t4\n" "> +#define DA9062AA_M_SEQ_RDY_MASK\t\t(0x01 << 4)\n" "> +\n" - "> +/* DA9062AA_IRQ_MASK_B = 0x00B */\n" + "> +/* DA9062AA_IRQ_MASK_B =3D 0x00B */\n" "> +#define DA9062AA_M_TEMP_SHIFT\t\t1\n" "> +#define DA9062AA_M_TEMP_MASK\t\t(0x01 << 1)\n" "> +#define DA9062AA_M_LDO_LIM_SHIFT\t3\n" @@ -1191,7 +1197,7 @@ "> +#define DA9062AA_M_VDD_WARN_SHIFT\t7\n" "> +#define DA9062AA_M_VDD_WARN_MASK\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_IRQ_MASK_C = 0x00C */\n" + "> +/* DA9062AA_IRQ_MASK_C =3D 0x00C */\n" "> +#define DA9062AA_M_GPI0_SHIFT\t\t0\n" "> +#define DA9062AA_M_GPI0_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_M_GPI1_SHIFT\t\t1\n" @@ -1203,7 +1209,7 @@ "> +#define DA9062AA_M_GPI4_SHIFT\t\t4\n" "> +#define DA9062AA_M_GPI4_MASK\t\t(0x01 << 4)\n" "> +\n" - "> +/* DA9062AA_CONTROL_A = 0x00E */\n" + "> +/* DA9062AA_CONTROL_A =3D 0x00E */\n" "> +#define DA9062AA_SYSTEM_EN_SHIFT\t0\n" "> +#define DA9062AA_SYSTEM_EN_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_POWER_EN_SHIFT\t\t1\n" @@ -1219,7 +1225,7 @@ "> +#define DA9062AA_M_POWER1_EN_SHIFT\t6\n" "> +#define DA9062AA_M_POWER1_EN_MASK\t(0x01 << 6)\n" "> +\n" - "> +/* DA9062AA_CONTROL_B = 0x00F */\n" + "> +/* DA9062AA_CONTROL_B =3D 0x00F */\n" "> +#define DA9062AA_WATCHDOG_PD_SHIFT\t1\n" "> +#define DA9062AA_WATCHDOG_PD_MASK\t(0x01 << 1)\n" "> +#define DA9062AA_FREEZE_EN_SHIFT\t2\n" @@ -1233,7 +1239,7 @@ "> +#define DA9062AA_BUCK_SLOWSTART_SHIFT\t7\n" "> +#define DA9062AA_BUCK_SLOWSTART_MASK\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_CONTROL_C = 0x010 */\n" + "> +/* DA9062AA_CONTROL_C =3D 0x010 */\n" "> +#define DA9062AA_DEBOUNCING_SHIFT\t0\n" "> +#define DA9062AA_DEBOUNCING_MASK\t(0x07 << 0)\n" "> +#define DA9062AA_AUTO_BOOT_SHIFT\t3\n" @@ -1245,11 +1251,11 @@ "> +#define DA9062AA_DEF_SUPPLY_SHIFT\t7\n" "> +#define DA9062AA_DEF_SUPPLY_MASK\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_CONTROL_D = 0x011 */\n" + "> +/* DA9062AA_CONTROL_D =3D 0x011 */\n" "> +#define DA9062AA_TWDSCALE_SHIFT\t\t0\n" "> +#define DA9062AA_TWDSCALE_MASK\t\t(0x07 << 0)\n" "> +\n" - "> +/* DA9062AA_CONTROL_E = 0x012 */\n" + "> +/* DA9062AA_CONTROL_E =3D 0x012 */\n" "> +#define DA9062AA_RTC_MODE_PD_SHIFT\t0\n" "> +#define DA9062AA_RTC_MODE_PD_MASK\t(0x01 << 0)\n" "> +#define DA9062AA_RTC_MODE_SD_SHIFT\t1\n" @@ -1259,7 +1265,7 @@ "> +#define DA9062AA_V_LOCK_SHIFT\t\t7\n" "> +#define DA9062AA_V_LOCK_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_CONTROL_F = 0x013 */\n" + "> +/* DA9062AA_CONTROL_F =3D 0x013 */\n" "> +#define DA9062AA_WATCHDOG_SHIFT\t\t0\n" "> +#define DA9062AA_WATCHDOG_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_SHUTDOWN_SHIFT\t\t1\n" @@ -1267,7 +1273,7 @@ "> +#define DA9062AA_WAKE_UP_SHIFT\t\t2\n" "> +#define DA9062AA_WAKE_UP_MASK\t\t(0x01 << 2)\n" "> +\n" - "> +/* DA9062AA_PD_DIS = 0x014 */\n" + "> +/* DA9062AA_PD_DIS =3D 0x014 */\n" "> +#define DA9062AA_GPI_DIS_SHIFT\t\t0\n" "> +#define DA9062AA_GPI_DIS_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_PMIF_DIS_SHIFT\t\t2\n" @@ -1281,7 +1287,7 @@ "> +#define DA9062AA_PMCONT_DIS_SHIFT\t7\n" "> +#define DA9062AA_PMCONT_DIS_MASK\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_GPIO_0_1 = 0x015 */\n" + "> +/* DA9062AA_GPIO_0_1 =3D 0x015 */\n" "> +#define DA9062AA_GPIO0_PIN_SHIFT\t0\n" "> +#define DA9062AA_GPIO0_PIN_MASK\t\t(0x03 << 0)\n" "> +#define DA9062AA_GPIO0_TYPE_SHIFT\t2\n" @@ -1295,7 +1301,7 @@ "> +#define DA9062AA_GPIO1_WEN_SHIFT\t7\n" "> +#define DA9062AA_GPIO1_WEN_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_GPIO_2_3 = 0x016 */\n" + "> +/* DA9062AA_GPIO_2_3 =3D 0x016 */\n" "> +#define DA9062AA_GPIO2_PIN_SHIFT\t0\n" "> +#define DA9062AA_GPIO2_PIN_MASK\t\t(0x03 << 0)\n" "> +#define DA9062AA_GPIO2_TYPE_SHIFT\t2\n" @@ -1309,7 +1315,7 @@ "> +#define DA9062AA_GPIO3_WEN_SHIFT\t7\n" "> +#define DA9062AA_GPIO3_WEN_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_GPIO_4 = 0x017 */\n" + "> +/* DA9062AA_GPIO_4 =3D 0x017 */\n" "> +#define DA9062AA_GPIO4_PIN_SHIFT\t0\n" "> +#define DA9062AA_GPIO4_PIN_MASK\t\t(0x03 << 0)\n" "> +#define DA9062AA_GPIO4_TYPE_SHIFT\t2\n" @@ -1317,7 +1323,7 @@ "> +#define DA9062AA_GPIO4_WEN_SHIFT\t3\n" "> +#define DA9062AA_GPIO4_WEN_MASK\t\t(0x01 << 3)\n" "> +\n" - "> +/* DA9062AA_GPIO_WKUP_MODE = 0x01C */\n" + "> +/* DA9062AA_GPIO_WKUP_MODE =3D 0x01C */\n" "> +#define DA9062AA_GPIO0_WKUP_MODE_SHIFT\t0\n" "> +#define DA9062AA_GPIO0_WKUP_MODE_MASK\t(0x01 << 0)\n" "> +#define DA9062AA_GPIO1_WKUP_MODE_SHIFT\t1\n" @@ -1329,7 +1335,7 @@ "> +#define DA9062AA_GPIO4_WKUP_MODE_SHIFT\t4\n" "> +#define DA9062AA_GPIO4_WKUP_MODE_MASK\t(0x01 << 4)\n" "> +\n" - "> +/* DA9062AA_GPIO_MODE0_4 = 0x01D */\n" + "> +/* DA9062AA_GPIO_MODE0_4 =3D 0x01D */\n" "> +#define DA9062AA_GPIO0_MODE_SHIFT\t0\n" "> +#define DA9062AA_GPIO0_MODE_MASK\t(0x01 << 0)\n" "> +#define DA9062AA_GPIO1_MODE_SHIFT\t1\n" @@ -1341,7 +1347,7 @@ "> +#define DA9062AA_GPIO4_MODE_SHIFT\t4\n" "> +#define DA9062AA_GPIO4_MODE_MASK\t(0x01 << 4)\n" "> +\n" - "> +/* DA9062AA_GPIO_OUT0_2 = 0x01E */\n" + "> +/* DA9062AA_GPIO_OUT0_2 =3D 0x01E */\n" "> +#define DA9062AA_GPIO0_OUT_SHIFT\t0\n" "> +#define DA9062AA_GPIO0_OUT_MASK\t\t(0x07 << 0)\n" "> +#define DA9062AA_GPIO1_OUT_SHIFT\t3\n" @@ -1349,13 +1355,13 @@ "> +#define DA9062AA_GPIO2_OUT_SHIFT\t6\n" "> +#define DA9062AA_GPIO2_OUT_MASK\t\t(0x03 << 6)\n" "> +\n" - "> +/* DA9062AA_GPIO_OUT3_4 = 0x01F */\n" + "> +/* DA9062AA_GPIO_OUT3_4 =3D 0x01F */\n" "> +#define DA9062AA_GPIO3_OUT_SHIFT\t0\n" "> +#define DA9062AA_GPIO3_OUT_MASK\t\t(0x07 << 0)\n" "> +#define DA9062AA_GPIO4_OUT_SHIFT\t3\n" "> +#define DA9062AA_GPIO4_OUT_MASK\t\t(0x03 << 3)\n" "> +\n" - "> +/* DA9062AA_BUCK2_CONT = 0x020 */\n" + "> +/* DA9062AA_BUCK2_CONT =3D 0x020 */\n" "> +#define DA9062AA_BUCK2_EN_SHIFT\t\t0\n" "> +#define DA9062AA_BUCK2_EN_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_BUCK2_GPI_SHIFT\t1\n" @@ -1365,7 +1371,7 @@ "> +#define DA9062AA_VBUCK2_GPI_SHIFT\t5\n" "> +#define DA9062AA_VBUCK2_GPI_MASK\t(0x03 << 5)\n" "> +\n" - "> +/* DA9062AA_BUCK1_CONT = 0x021 */\n" + "> +/* DA9062AA_BUCK1_CONT =3D 0x021 */\n" "> +#define DA9062AA_BUCK1_EN_SHIFT\t\t0\n" "> +#define DA9062AA_BUCK1_EN_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_BUCK1_GPI_SHIFT\t1\n" @@ -1375,7 +1381,7 @@ "> +#define DA9062AA_VBUCK1_GPI_SHIFT\t5\n" "> +#define DA9062AA_VBUCK1_GPI_MASK\t(0x03 << 5)\n" "> +\n" - "> +/* DA9062AA_BUCK4_CONT = 0x022 */\n" + "> +/* DA9062AA_BUCK4_CONT =3D 0x022 */\n" "> +#define DA9062AA_BUCK4_EN_SHIFT\t\t0\n" "> +#define DA9062AA_BUCK4_EN_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_BUCK4_GPI_SHIFT\t1\n" @@ -1385,7 +1391,7 @@ "> +#define DA9062AA_VBUCK4_GPI_SHIFT\t5\n" "> +#define DA9062AA_VBUCK4_GPI_MASK\t(0x03 << 5)\n" "> +\n" - "> +/* DA9062AA_BUCK3_CONT = 0x024 */\n" + "> +/* DA9062AA_BUCK3_CONT =3D 0x024 */\n" "> +#define DA9062AA_BUCK3_EN_SHIFT\t\t0\n" "> +#define DA9062AA_BUCK3_EN_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_BUCK3_GPI_SHIFT\t1\n" @@ -1395,7 +1401,7 @@ "> +#define DA9062AA_VBUCK3_GPI_SHIFT\t5\n" "> +#define DA9062AA_VBUCK3_GPI_MASK\t(0x03 << 5)\n" "> +\n" - "> +/* DA9062AA_LDO1_CONT = 0x026 */\n" + "> +/* DA9062AA_LDO1_CONT =3D 0x026 */\n" "> +#define DA9062AA_LDO1_EN_SHIFT\t\t0\n" "> +#define DA9062AA_LDO1_EN_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_LDO1_GPI_SHIFT\t\t1\n" @@ -1407,7 +1413,7 @@ "> +#define DA9062AA_LDO1_CONF_SHIFT\t7\n" "> +#define DA9062AA_LDO1_CONF_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_LDO2_CONT = 0x027 */\n" + "> +/* DA9062AA_LDO2_CONT =3D 0x027 */\n" "> +#define DA9062AA_LDO2_EN_SHIFT\t\t0\n" "> +#define DA9062AA_LDO2_EN_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_LDO2_GPI_SHIFT\t\t1\n" @@ -1419,7 +1425,7 @@ "> +#define DA9062AA_LDO2_CONF_SHIFT\t7\n" "> +#define DA9062AA_LDO2_CONF_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_LDO3_CONT = 0x028 */\n" + "> +/* DA9062AA_LDO3_CONT =3D 0x028 */\n" "> +#define DA9062AA_LDO3_EN_SHIFT\t\t0\n" "> +#define DA9062AA_LDO3_EN_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_LDO3_GPI_SHIFT\t\t1\n" @@ -1431,7 +1437,7 @@ "> +#define DA9062AA_LDO3_CONF_SHIFT\t7\n" "> +#define DA9062AA_LDO3_CONF_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_LDO4_CONT = 0x029 */\n" + "> +/* DA9062AA_LDO4_CONT =3D 0x029 */\n" "> +#define DA9062AA_LDO4_EN_SHIFT\t\t0\n" "> +#define DA9062AA_LDO4_EN_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_LDO4_GPI_SHIFT\t\t1\n" @@ -1443,7 +1449,7 @@ "> +#define DA9062AA_LDO4_CONF_SHIFT\t7\n" "> +#define DA9062AA_LDO4_CONF_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_DVC_1 = 0x032 */\n" + "> +/* DA9062AA_DVC_1 =3D 0x032 */\n" "> +#define DA9062AA_VBUCK1_SEL_SHIFT\t0\n" "> +#define DA9062AA_VBUCK1_SEL_MASK\t(0x01 << 0)\n" "> +#define DA9062AA_VBUCK2_SEL_SHIFT\t1\n" @@ -1461,53 +1467,53 @@ "> +#define DA9062AA_VLDO4_SEL_SHIFT\t7\n" "> +#define DA9062AA_VLDO4_SEL_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_COUNT_S = 0x040 */\n" + "> +/* DA9062AA_COUNT_S =3D 0x040 */\n" "> +#define DA9062AA_COUNT_SEC_SHIFT\t0\n" "> +#define DA9062AA_COUNT_SEC_MASK\t\t(0x3f << 0)\n" "> +#define DA9062AA_RTC_READ_SHIFT\t\t7\n" "> +#define DA9062AA_RTC_READ_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_COUNT_MI = 0x041 */\n" + "> +/* DA9062AA_COUNT_MI =3D 0x041 */\n" "> +#define DA9062AA_COUNT_MIN_SHIFT\t0\n" "> +#define DA9062AA_COUNT_MIN_MASK\t\t(0x3f << 0)\n" "> +\n" - "> +/* DA9062AA_COUNT_H = 0x042 */\n" + "> +/* DA9062AA_COUNT_H =3D 0x042 */\n" "> +#define DA9062AA_COUNT_HOUR_SHIFT\t0\n" "> +#define DA9062AA_COUNT_HOUR_MASK\t(0x1f << 0)\n" "> +\n" - "> +/* DA9062AA_COUNT_D = 0x043 */\n" + "> +/* DA9062AA_COUNT_D =3D 0x043 */\n" "> +#define DA9062AA_COUNT_DAY_SHIFT\t0\n" "> +#define DA9062AA_COUNT_DAY_MASK\t\t(0x1f << 0)\n" "> +\n" - "> +/* DA9062AA_COUNT_MO = 0x044 */\n" + "> +/* DA9062AA_COUNT_MO =3D 0x044 */\n" "> +#define DA9062AA_COUNT_MONTH_SHIFT\t0\n" "> +#define DA9062AA_COUNT_MONTH_MASK\t(0x0f << 0)\n" "> +\n" - "> +/* DA9062AA_COUNT_Y = 0x045 */\n" + "> +/* DA9062AA_COUNT_Y =3D 0x045 */\n" "> +#define DA9062AA_COUNT_YEAR_SHIFT\t0\n" "> +#define DA9062AA_COUNT_YEAR_MASK\t(0x3f << 0)\n" "> +#define DA9062AA_MONITOR_SHIFT\t\t6\n" "> +#define DA9062AA_MONITOR_MASK\t\t(0x01 << 6)\n" "> +\n" - "> +/* DA9062AA_ALARM_S = 0x046 */\n" + "> +/* DA9062AA_ALARM_S =3D 0x046 */\n" "> +#define DA9062AA_ALARM_SEC_SHIFT\t0\n" "> +#define DA9062AA_ALARM_SEC_MASK\t\t(0x3f << 0)\n" "> +#define DA9062AA_ALARM_STATUS_SHIFT\t6\n" "> +#define DA9062AA_ALARM_STATUS_MASK\t(0x03 << 6)\n" "> +\n" - "> +/* DA9062AA_ALARM_MI = 0x047 */\n" + "> +/* DA9062AA_ALARM_MI =3D 0x047 */\n" "> +#define DA9062AA_ALARM_MIN_SHIFT\t0\n" "> +#define DA9062AA_ALARM_MIN_MASK\t\t(0x3f << 0)\n" "> +\n" - "> +/* DA9062AA_ALARM_H = 0x048 */\n" + "> +/* DA9062AA_ALARM_H =3D 0x048 */\n" "> +#define DA9062AA_ALARM_HOUR_SHIFT\t0\n" "> +#define DA9062AA_ALARM_HOUR_MASK\t(0x1f << 0)\n" "> +\n" - "> +/* DA9062AA_ALARM_D = 0x049 */\n" + "> +/* DA9062AA_ALARM_D =3D 0x049 */\n" "> +#define DA9062AA_ALARM_DAY_SHIFT\t0\n" "> +#define DA9062AA_ALARM_DAY_MASK\t\t(0x1f << 0)\n" "> +\n" - "> +/* DA9062AA_ALARM_MO = 0x04A */\n" + "> +/* DA9062AA_ALARM_MO =3D 0x04A */\n" "> +#define DA9062AA_ALARM_MONTH_SHIFT\t0\n" "> +#define DA9062AA_ALARM_MONTH_MASK\t(0x0f << 0)\n" "> +#define DA9062AA_TICK_TYPE_SHIFT\t4\n" @@ -1515,7 +1521,7 @@ "> +#define DA9062AA_TICK_WAKE_SHIFT\t5\n" "> +#define DA9062AA_TICK_WAKE_MASK\t\t(0x01 << 5)\n" "> +\n" - "> +/* DA9062AA_ALARM_Y = 0x04B */\n" + "> +/* DA9062AA_ALARM_Y =3D 0x04B */\n" "> +#define DA9062AA_ALARM_YEAR_SHIFT\t0\n" "> +#define DA9062AA_ALARM_YEAR_MASK\t(0x3f << 0)\n" "> +#define DA9062AA_ALARM_ON_SHIFT\t\t6\n" @@ -1523,111 +1529,111 @@ "> +#define DA9062AA_TICK_ON_SHIFT\t\t7\n" "> +#define DA9062AA_TICK_ON_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_SECOND_A = 0x04C */\n" + "> +/* DA9062AA_SECOND_A =3D 0x04C */\n" "> +#define DA9062AA_SECONDS_A_SHIFT\t0\n" "> +#define DA9062AA_SECONDS_A_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_SECOND_B = 0x04D */\n" + "> +/* DA9062AA_SECOND_B =3D 0x04D */\n" "> +#define DA9062AA_SECONDS_B_SHIFT\t0\n" "> +#define DA9062AA_SECONDS_B_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_SECOND_C = 0x04E */\n" + "> +/* DA9062AA_SECOND_C =3D 0x04E */\n" "> +#define DA9062AA_SECONDS_C_SHIFT\t0\n" "> +#define DA9062AA_SECONDS_C_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_SECOND_D = 0x04F */\n" + "> +/* DA9062AA_SECOND_D =3D 0x04F */\n" "> +#define DA9062AA_SECONDS_D_SHIFT\t0\n" "> +#define DA9062AA_SECONDS_D_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_SEQ = 0x081 */\n" + "> +/* DA9062AA_SEQ =3D 0x081 */\n" "> +#define DA9062AA_SEQ_POINTER_SHIFT\t0\n" "> +#define DA9062AA_SEQ_POINTER_MASK\t(0x0f << 0)\n" "> +#define DA9062AA_NXT_SEQ_START_SHIFT\t4\n" "> +#define DA9062AA_NXT_SEQ_START_MASK\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_SEQ_TIMER = 0x082 */\n" + "> +/* DA9062AA_SEQ_TIMER =3D 0x082 */\n" "> +#define DA9062AA_SEQ_TIME_SHIFT\t\t0\n" "> +#define DA9062AA_SEQ_TIME_MASK\t\t(0x0f << 0)\n" "> +#define DA9062AA_SEQ_DUMMY_SHIFT\t4\n" "> +#define DA9062AA_SEQ_DUMMY_MASK\t\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_ID_2_1 = 0x083 */\n" + "> +/* DA9062AA_ID_2_1 =3D 0x083 */\n" "> +#define DA9062AA_LDO1_STEP_SHIFT\t0\n" "> +#define DA9062AA_LDO1_STEP_MASK\t\t(0x0f << 0)\n" "> +#define DA9062AA_LDO2_STEP_SHIFT\t4\n" "> +#define DA9062AA_LDO2_STEP_MASK\t\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_ID_4_3 = 0x084 */\n" + "> +/* DA9062AA_ID_4_3 =3D 0x084 */\n" "> +#define DA9062AA_LDO3_STEP_SHIFT\t0\n" "> +#define DA9062AA_LDO3_STEP_MASK\t\t(0x0f << 0)\n" "> +#define DA9062AA_LDO4_STEP_SHIFT\t4\n" "> +#define DA9062AA_LDO4_STEP_MASK\t\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_ID_12_11 = 0x088 */\n" + "> +/* DA9062AA_ID_12_11 =3D 0x088 */\n" "> +#define DA9062AA_PD_DIS_STEP_SHIFT\t4\n" "> +#define DA9062AA_PD_DIS_STEP_MASK\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_ID_14_13 = 0x089 */\n" + "> +/* DA9062AA_ID_14_13 =3D 0x089 */\n" "> +#define DA9062AA_BUCK1_STEP_SHIFT\t0\n" "> +#define DA9062AA_BUCK1_STEP_MASK\t(0x0f << 0)\n" "> +#define DA9062AA_BUCK2_STEP_SHIFT\t4\n" "> +#define DA9062AA_BUCK2_STEP_MASK\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_ID_16_15 = 0x08A */\n" + "> +/* DA9062AA_ID_16_15 =3D 0x08A */\n" "> +#define DA9062AA_BUCK4_STEP_SHIFT\t0\n" "> +#define DA9062AA_BUCK4_STEP_MASK\t(0x0f << 0)\n" "> +#define DA9062AA_BUCK3_STEP_SHIFT\t4\n" "> +#define DA9062AA_BUCK3_STEP_MASK\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_ID_22_21 = 0x08D */\n" + "> +/* DA9062AA_ID_22_21 =3D 0x08D */\n" "> +#define DA9062AA_GP_RISE1_STEP_SHIFT\t0\n" "> +#define DA9062AA_GP_RISE1_STEP_MASK\t(0x0f << 0)\n" "> +#define DA9062AA_GP_FALL1_STEP_SHIFT\t4\n" "> +#define DA9062AA_GP_FALL1_STEP_MASK\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_ID_24_23 = 0x08E */\n" + "> +/* DA9062AA_ID_24_23 =3D 0x08E */\n" "> +#define DA9062AA_GP_RISE2_STEP_SHIFT\t0\n" "> +#define DA9062AA_GP_RISE2_STEP_MASK\t(0x0f << 0)\n" "> +#define DA9062AA_GP_FALL2_STEP_SHIFT\t4\n" "> +#define DA9062AA_GP_FALL2_STEP_MASK\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_ID_26_25 = 0x08F */\n" + "> +/* DA9062AA_ID_26_25 =3D 0x08F */\n" "> +#define DA9062AA_GP_RISE3_STEP_SHIFT\t0\n" "> +#define DA9062AA_GP_RISE3_STEP_MASK\t(0x0f << 0)\n" "> +#define DA9062AA_GP_FALL3_STEP_SHIFT\t4\n" "> +#define DA9062AA_GP_FALL3_STEP_MASK\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_ID_28_27 = 0x090 */\n" + "> +/* DA9062AA_ID_28_27 =3D 0x090 */\n" "> +#define DA9062AA_GP_RISE4_STEP_SHIFT\t0\n" "> +#define DA9062AA_GP_RISE4_STEP_MASK\t(0x0f << 0)\n" "> +#define DA9062AA_GP_FALL4_STEP_SHIFT\t4\n" "> +#define DA9062AA_GP_FALL4_STEP_MASK\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_ID_30_29 = 0x091 */\n" + "> +/* DA9062AA_ID_30_29 =3D 0x091 */\n" "> +#define DA9062AA_GP_RISE5_STEP_SHIFT\t0\n" "> +#define DA9062AA_GP_RISE5_STEP_MASK\t(0x0f << 0)\n" "> +#define DA9062AA_GP_FALL5_STEP_SHIFT\t4\n" "> +#define DA9062AA_GP_FALL5_STEP_MASK\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_ID_32_31 = 0x092 */\n" + "> +/* DA9062AA_ID_32_31 =3D 0x092 */\n" "> +#define DA9062AA_WAIT_STEP_SHIFT\t0\n" "> +#define DA9062AA_WAIT_STEP_MASK\t\t(0x0f << 0)\n" "> +#define DA9062AA_EN32K_STEP_SHIFT\t4\n" "> +#define DA9062AA_EN32K_STEP_MASK\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_SEQ_A = 0x095 */\n" + "> +/* DA9062AA_SEQ_A =3D 0x095 */\n" "> +#define DA9062AA_SYSTEM_END_SHIFT\t0\n" "> +#define DA9062AA_SYSTEM_END_MASK\t(0x0f << 0)\n" "> +#define DA9062AA_POWER_END_SHIFT\t4\n" "> +#define DA9062AA_POWER_END_MASK\t\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_SEQ_B = 0x096 */\n" + "> +/* DA9062AA_SEQ_B =3D 0x096 */\n" "> +#define DA9062AA_MAX_COUNT_SHIFT\t0\n" "> +#define DA9062AA_MAX_COUNT_MASK\t\t(0x0f << 0)\n" "> +#define DA9062AA_PART_DOWN_SHIFT\t4\n" "> +#define DA9062AA_PART_DOWN_MASK\t\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_WAIT = 0x097 */\n" + "> +/* DA9062AA_WAIT =3D 0x097 */\n" "> +#define DA9062AA_WAIT_TIME_SHIFT\t0\n" "> +#define DA9062AA_WAIT_TIME_MASK\t\t(0x0f << 0)\n" "> +#define DA9062AA_WAIT_MODE_SHIFT\t4\n" @@ -1637,7 +1643,7 @@ "> +#define DA9062AA_WAIT_DIR_SHIFT\t\t6\n" "> +#define DA9062AA_WAIT_DIR_MASK\t\t(0x03 << 6)\n" "> +\n" - "> +/* DA9062AA_EN_32K = 0x098 */\n" + "> +/* DA9062AA_EN_32K =3D 0x098 */\n" "> +#define DA9062AA_STABILISATION_TIME_SHIFT\t0\n" "> +#define DA9062AA_STABILISATION_TIME_MASK\t(0x07 << 0)\n" "> +#define DA9062AA_CRYSTAL_SHIFT\t\t\t3\n" @@ -1651,39 +1657,39 @@ "> +#define DA9062AA_EN_32KOUT_SHIFT\t\t7\n" "> +#define DA9062AA_EN_32KOUT_MASK\t\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_RESET = 0x099 */\n" + "> +/* DA9062AA_RESET =3D 0x099 */\n" "> +#define DA9062AA_RESET_TIMER_SHIFT\t0\n" "> +#define DA9062AA_RESET_TIMER_MASK\t(0x3f << 0)\n" "> +#define DA9062AA_RESET_EVENT_SHIFT\t6\n" "> +#define DA9062AA_RESET_EVENT_MASK\t(0x03 << 6)\n" "> +\n" - "> +/* DA9062AA_BUCK_ILIM_A = 0x09A */\n" + "> +/* DA9062AA_BUCK_ILIM_A =3D 0x09A */\n" "> +#define DA9062AA_BUCK3_ILIM_SHIFT\t0\n" "> +#define DA9062AA_BUCK3_ILIM_MASK\t(0x0f << 0)\n" "> +\n" - "> +/* DA9062AA_BUCK_ILIM_B = 0x09B */\n" + "> +/* DA9062AA_BUCK_ILIM_B =3D 0x09B */\n" "> +#define DA9062AA_BUCK4_ILIM_SHIFT\t0\n" "> +#define DA9062AA_BUCK4_ILIM_MASK\t(0x0f << 0)\n" "> +\n" - "> +/* DA9062AA_BUCK_ILIM_C = 0x09C */\n" + "> +/* DA9062AA_BUCK_ILIM_C =3D 0x09C */\n" "> +#define DA9062AA_BUCK1_ILIM_SHIFT\t0\n" "> +#define DA9062AA_BUCK1_ILIM_MASK\t(0x0f << 0)\n" "> +#define DA9062AA_BUCK2_ILIM_SHIFT\t4\n" "> +#define DA9062AA_BUCK2_ILIM_MASK\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_BUCK2_CFG = 0x09D */\n" + "> +/* DA9062AA_BUCK2_CFG =3D 0x09D */\n" "> +#define DA9062AA_BUCK2_PD_DIS_SHIFT\t5\n" "> +#define DA9062AA_BUCK2_PD_DIS_MASK\t(0x01 << 5)\n" "> +#define DA9062AA_BUCK2_MODE_SHIFT\t6\n" "> +#define DA9062AA_BUCK2_MODE_MASK\t(0x03 << 6)\n" "> +\n" - "> +/* DA9062AA_BUCK1_CFG = 0x09E */\n" + "> +/* DA9062AA_BUCK1_CFG =3D 0x09E */\n" "> +#define DA9062AA_BUCK1_PD_DIS_SHIFT\t5\n" "> +#define DA9062AA_BUCK1_PD_DIS_MASK\t(0x01 << 5)\n" "> +#define DA9062AA_BUCK1_MODE_SHIFT\t6\n" "> +#define DA9062AA_BUCK1_MODE_MASK\t(0x03 << 6)\n" "> +\n" - "> +/* DA9062AA_BUCK4_CFG = 0x09F */\n" + "> +/* DA9062AA_BUCK4_CFG =3D 0x09F */\n" "> +#define DA9062AA_BUCK4_VTTR_EN_SHIFT\t3\n" "> +#define DA9062AA_BUCK4_VTTR_EN_MASK\t(0x01 << 3)\n" "> +#define DA9062AA_BUCK4_VTT_EN_SHIFT\t4\n" @@ -1693,119 +1699,119 @@ "> +#define DA9062AA_BUCK4_MODE_SHIFT\t6\n" "> +#define DA9062AA_BUCK4_MODE_MASK\t(0x03 << 6)\n" "> +\n" - "> +/* DA9062AA_BUCK3_CFG = 0x0A0 */\n" + "> +/* DA9062AA_BUCK3_CFG =3D 0x0A0 */\n" "> +#define DA9062AA_BUCK3_PD_DIS_SHIFT\t5\n" "> +#define DA9062AA_BUCK3_PD_DIS_MASK\t(0x01 << 5)\n" "> +#define DA9062AA_BUCK3_MODE_SHIFT\t6\n" "> +#define DA9062AA_BUCK3_MODE_MASK\t(0x03 << 6)\n" "> +\n" - "> +/* DA9062AA_VBUCK2_A = 0x0A3 */\n" + "> +/* DA9062AA_VBUCK2_A =3D 0x0A3 */\n" "> +#define DA9062AA_VBUCK2_A_SHIFT\t\t0\n" "> +#define DA9062AA_VBUCK2_A_MASK\t\t(0x7f << 0)\n" "> +#define DA9062AA_BUCK2_SL_A_SHIFT\t7\n" "> +#define DA9062AA_BUCK2_SL_A_MASK\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VBUCK1_A = 0x0A4 */\n" + "> +/* DA9062AA_VBUCK1_A =3D 0x0A4 */\n" "> +#define DA9062AA_VBUCK1_A_SHIFT\t\t0\n" "> +#define DA9062AA_VBUCK1_A_MASK\t\t(0x7f << 0)\n" "> +#define DA9062AA_BUCK1_SL_A_SHIFT\t7\n" "> +#define DA9062AA_BUCK1_SL_A_MASK\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VBUCK4_A = 0x0A5 */\n" + "> +/* DA9062AA_VBUCK4_A =3D 0x0A5 */\n" "> +#define DA9062AA_VBUCK4_A_SHIFT\t\t0\n" "> +#define DA9062AA_VBUCK4_A_MASK\t\t(0x7f << 0)\n" "> +#define DA9062AA_BUCK4_SL_A_SHIFT\t7\n" "> +#define DA9062AA_BUCK4_SL_A_MASK\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VBUCK3_A = 0x0A7 */\n" + "> +/* DA9062AA_VBUCK3_A =3D 0x0A7 */\n" "> +#define DA9062AA_VBUCK3_A_SHIFT\t\t0\n" "> +#define DA9062AA_VBUCK3_A_MASK\t\t(0x7f << 0)\n" "> +#define DA9062AA_BUCK3_SL_A_SHIFT\t7\n" "> +#define DA9062AA_BUCK3_SL_A_MASK\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VLDO1_A = 0x0A9 */\n" + "> +/* DA9062AA_VLDO1_A =3D 0x0A9 */\n" "> +#define DA9062AA_VLDO1_A_SHIFT\t\t0\n" "> +#define DA9062AA_VLDO1_A_MASK\t\t(0x3f << 0)\n" "> +#define DA9062AA_LDO1_SL_A_SHIFT\t7\n" "> +#define DA9062AA_LDO1_SL_A_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VLDO2_A = 0x0AA */\n" + "> +/* DA9062AA_VLDO2_A =3D 0x0AA */\n" "> +#define DA9062AA_VLDO2_A_SHIFT\t\t0\n" "> +#define DA9062AA_VLDO2_A_MASK\t\t(0x3f << 0)\n" "> +#define DA9062AA_LDO2_SL_A_SHIFT\t7\n" "> +#define DA9062AA_LDO2_SL_A_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VLDO3_A = 0x0AB */\n" + "> +/* DA9062AA_VLDO3_A =3D 0x0AB */\n" "> +#define DA9062AA_VLDO3_A_SHIFT\t\t0\n" "> +#define DA9062AA_VLDO3_A_MASK\t\t(0x3f << 0)\n" "> +#define DA9062AA_LDO3_SL_A_SHIFT\t7\n" "> +#define DA9062AA_LDO3_SL_A_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VLDO4_A = 0x0AC */\n" + "> +/* DA9062AA_VLDO4_A =3D 0x0AC */\n" "> +#define DA9062AA_VLDO4_A_SHIFT\t\t0\n" "> +#define DA9062AA_VLDO4_A_MASK\t\t(0x3f << 0)\n" "> +#define DA9062AA_LDO4_SL_A_SHIFT\t7\n" "> +#define DA9062AA_LDO4_SL_A_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VBUCK2_B = 0x0B4 */\n" + "> +/* DA9062AA_VBUCK2_B =3D 0x0B4 */\n" "> +#define DA9062AA_VBUCK2_B_SHIFT\t\t0\n" "> +#define DA9062AA_VBUCK2_B_MASK\t\t(0x7f << 0)\n" "> +#define DA9062AA_BUCK2_SL_B_SHIFT\t7\n" "> +#define DA9062AA_BUCK2_SL_B_MASK\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VBUCK1_B = 0x0B5 */\n" + "> +/* DA9062AA_VBUCK1_B =3D 0x0B5 */\n" "> +#define DA9062AA_VBUCK1_B_SHIFT\t\t0\n" "> +#define DA9062AA_VBUCK1_B_MASK\t\t(0x7f << 0)\n" "> +#define DA9062AA_BUCK1_SL_B_SHIFT\t7\n" "> +#define DA9062AA_BUCK1_SL_B_MASK\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VBUCK4_B = 0x0B6 */\n" + "> +/* DA9062AA_VBUCK4_B =3D 0x0B6 */\n" "> +#define DA9062AA_VBUCK4_B_SHIFT\t\t0\n" "> +#define DA9062AA_VBUCK4_B_MASK\t\t(0x7f << 0)\n" "> +#define DA9062AA_BUCK4_SL_B_SHIFT\t7\n" "> +#define DA9062AA_BUCK4_SL_B_MASK\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VBUCK3_B = 0x0B8 */\n" + "> +/* DA9062AA_VBUCK3_B =3D 0x0B8 */\n" "> +#define DA9062AA_VBUCK3_B_SHIFT\t\t0\n" "> +#define DA9062AA_VBUCK3_B_MASK\t\t(0x7f << 0)\n" "> +#define DA9062AA_BUCK3_SL_B_SHIFT\t7\n" "> +#define DA9062AA_BUCK3_SL_B_MASK\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VLDO1_B = 0x0BA */\n" + "> +/* DA9062AA_VLDO1_B =3D 0x0BA */\n" "> +#define DA9062AA_VLDO1_B_SHIFT\t\t0\n" "> +#define DA9062AA_VLDO1_B_MASK\t\t(0x3f << 0)\n" "> +#define DA9062AA_LDO1_SL_B_SHIFT\t7\n" "> +#define DA9062AA_LDO1_SL_B_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VLDO2_B = 0x0BB */\n" + "> +/* DA9062AA_VLDO2_B =3D 0x0BB */\n" "> +#define DA9062AA_VLDO2_B_SHIFT\t\t0\n" "> +#define DA9062AA_VLDO2_B_MASK\t\t(0x3f << 0)\n" "> +#define DA9062AA_LDO2_SL_B_SHIFT\t7\n" "> +#define DA9062AA_LDO2_SL_B_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VLDO3_B = 0x0BC */\n" + "> +/* DA9062AA_VLDO3_B =3D 0x0BC */\n" "> +#define DA9062AA_VLDO3_B_SHIFT\t\t0\n" "> +#define DA9062AA_VLDO3_B_MASK\t\t(0x3f << 0)\n" "> +#define DA9062AA_LDO3_SL_B_SHIFT\t7\n" "> +#define DA9062AA_LDO3_SL_B_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_VLDO4_B = 0x0BD */\n" + "> +/* DA9062AA_VLDO4_B =3D 0x0BD */\n" "> +#define DA9062AA_VLDO4_B_SHIFT\t\t0\n" "> +#define DA9062AA_VLDO4_B_MASK\t\t(0x3f << 0)\n" "> +#define DA9062AA_LDO4_SL_B_SHIFT\t7\n" "> +#define DA9062AA_LDO4_SL_B_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_BBAT_CONT = 0x0C5 */\n" + "> +/* DA9062AA_BBAT_CONT =3D 0x0C5 */\n" "> +#define DA9062AA_BCHG_VSET_SHIFT\t0\n" "> +#define DA9062AA_BCHG_VSET_MASK\t\t(0x0f << 0)\n" "> +#define DA9062AA_BCHG_ISET_SHIFT\t4\n" "> +#define DA9062AA_BCHG_ISET_MASK\t\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_INTERFACE = 0x105 */\n" + "> +/* DA9062AA_INTERFACE =3D 0x105 */\n" "> +#define DA9062AA_IF_BASE_ADDR_SHIFT\t4\n" "> +#define DA9062AA_IF_BASE_ADDR_MASK\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_CONFIG_A = 0x106 */\n" + "> +/* DA9062AA_CONFIG_A =3D 0x106 */\n" "> +#define DA9062AA_PM_I_V_SHIFT\t\t0\n" "> +#define DA9062AA_PM_I_V_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_PM_O_TYPE_SHIFT\t2\n" @@ -1819,13 +1825,13 @@ "> +#define DA9062AA_PM_IF_HSM_SHIFT\t6\n" "> +#define DA9062AA_PM_IF_HSM_MASK\t\t(0x01 << 6)\n" "> +\n" - "> +/* DA9062AA_CONFIG_B = 0x107 */\n" + "> +/* DA9062AA_CONFIG_B =3D 0x107 */\n" "> +#define DA9062AA_VDD_FAULT_ADJ_SHIFT\t0\n" "> +#define DA9062AA_VDD_FAULT_ADJ_MASK\t(0x0f << 0)\n" "> +#define DA9062AA_VDD_HYST_ADJ_SHIFT\t4\n" "> +#define DA9062AA_VDD_HYST_ADJ_MASK\t(0x07 << 4)\n" "> +\n" - "> +/* DA9062AA_CONFIG_C = 0x108 */\n" + "> +/* DA9062AA_CONFIG_C =3D 0x108 */\n" "> +#define DA9062AA_BUCK_ACTV_DISCHRG_SHIFT\t2\n" "> +#define DA9062AA_BUCK_ACTV_DISCHRG_MASK\t\t(0x01 << 2)\n" "> +#define DA9062AA_BUCK1_CLK_INV_SHIFT\t\t3\n" @@ -1835,7 +1841,7 @@ "> +#define DA9062AA_BUCK3_CLK_INV_SHIFT\t\t6\n" "> +#define DA9062AA_BUCK3_CLK_INV_MASK\t\t(0x01 << 6)\n" "> +\n" - "> +/* DA9062AA_CONFIG_D = 0x109 */\n" + "> +/* DA9062AA_CONFIG_D =3D 0x109 */\n" "> +#define DA9062AA_GPI_V_SHIFT\t\t0\n" "> +#define DA9062AA_GPI_V_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_NIRQ_MODE_SHIFT\t1\n" @@ -1845,7 +1851,7 @@ "> +#define DA9062AA_FORCE_RESET_SHIFT\t5\n" "> +#define DA9062AA_FORCE_RESET_MASK\t(0x01 << 5)\n" "> +\n" - "> +/* DA9062AA_CONFIG_E = 0x10A */\n" + "> +/* DA9062AA_CONFIG_E =3D 0x10A */\n" "> +#define DA9062AA_BUCK1_AUTO_SHIFT\t0\n" "> +#define DA9062AA_BUCK1_AUTO_MASK\t(0x01 << 0)\n" "> +#define DA9062AA_BUCK2_AUTO_SHIFT\t1\n" @@ -1855,7 +1861,7 @@ "> +#define DA9062AA_BUCK3_AUTO_SHIFT\t4\n" "> +#define DA9062AA_BUCK3_AUTO_MASK\t(0x01 << 4)\n" "> +\n" - "> +/* DA9062AA_CONFIG_G = 0x10C */\n" + "> +/* DA9062AA_CONFIG_G =3D 0x10C */\n" "> +#define DA9062AA_LDO1_AUTO_SHIFT\t0\n" "> +#define DA9062AA_LDO1_AUTO_MASK\t\t(0x01 << 0)\n" "> +#define DA9062AA_LDO2_AUTO_SHIFT\t1\n" @@ -1865,7 +1871,7 @@ "> +#define DA9062AA_LDO4_AUTO_SHIFT\t3\n" "> +#define DA9062AA_LDO4_AUTO_MASK\t\t(0x01 << 3)\n" "> +\n" - "> +/* DA9062AA_CONFIG_H = 0x10D */\n" + "> +/* DA9062AA_CONFIG_H =3D 0x10D */\n" "> +#define DA9062AA_BUCK1_2_MERGE_SHIFT\t3\n" "> +#define DA9062AA_BUCK1_2_MERGE_MASK\t(0x01 << 3)\n" "> +#define DA9062AA_BUCK2_OD_SHIFT\t\t5\n" @@ -1873,7 +1879,7 @@ "> +#define DA9062AA_BUCK1_OD_SHIFT\t\t6\n" "> +#define DA9062AA_BUCK1_OD_MASK\t\t(0x01 << 6)\n" "> +\n" - "> +/* DA9062AA_CONFIG_I = 0x10E */\n" + "> +/* DA9062AA_CONFIG_I =3D 0x10E */\n" "> +#define DA9062AA_NONKEY_PIN_SHIFT\t0\n" "> +#define DA9062AA_NONKEY_PIN_MASK\t(0x03 << 0)\n" "> +#define DA9062AA_nONKEY_SD_SHIFT\t2\n" @@ -1889,7 +1895,7 @@ "> +#define DA9062AA_LDO_SD_SHIFT\t\t7\n" "> +#define DA9062AA_LDO_SD_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_CONFIG_J = 0x10F */\n" + "> +/* DA9062AA_CONFIG_J =3D 0x10F */\n" "> +#define DA9062AA_KEY_DELAY_SHIFT\t0\n" "> +#define DA9062AA_KEY_DELAY_MASK\t\t(0x03 << 0)\n" "> +#define DA9062AA_SHUT_DELAY_SHIFT\t2\n" @@ -1901,7 +1907,7 @@ "> +#define DA9062AA_IF_RESET_SHIFT\t\t7\n" "> +#define DA9062AA_IF_RESET_MASK\t\t(0x01 << 7)\n" "> +\n" - "> +/* DA9062AA_CONFIG_K = 0x110 */\n" + "> +/* DA9062AA_CONFIG_K =3D 0x110 */\n" "> +#define DA9062AA_GPIO0_PUPD_SHIFT\t0\n" "> +#define DA9062AA_GPIO0_PUPD_MASK\t(0x01 << 0)\n" "> +#define DA9062AA_GPIO1_PUPD_SHIFT\t1\n" @@ -1913,7 +1919,7 @@ "> +#define DA9062AA_GPIO4_PUPD_SHIFT\t4\n" "> +#define DA9062AA_GPIO4_PUPD_MASK\t(0x01 << 4)\n" "> +\n" - "> +/* DA9062AA_CONFIG_M = 0x112 */\n" + "> +/* DA9062AA_CONFIG_M =3D 0x112 */\n" "> +#define DA9062AA_NSHUTDOWN_PU_SHIFT\t1\n" "> +#define DA9062AA_NSHUTDOWN_PU_MASK\t(0x01 << 1)\n" "> +#define DA9062AA_WDG_MODE_SHIFT\t\t3\n" @@ -1921,118 +1927,127 @@ "> +#define DA9062AA_OSC_FRQ_SHIFT\t\t4\n" "> +#define DA9062AA_OSC_FRQ_MASK\t\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_TRIM_CLDR = 0x120 */\n" + "> +/* DA9062AA_TRIM_CLDR =3D 0x120 */\n" "> +#define DA9062AA_TRIM_CLDR_SHIFT\t0\n" "> +#define DA9062AA_TRIM_CLDR_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_0 = 0x121 */\n" + "> +/* DA9062AA_GP_ID_0 =3D 0x121 */\n" "> +#define DA9062AA_GP_0_SHIFT\t\t0\n" "> +#define DA9062AA_GP_0_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_1 = 0x122 */\n" + "> +/* DA9062AA_GP_ID_1 =3D 0x122 */\n" "> +#define DA9062AA_GP_1_SHIFT\t\t0\n" "> +#define DA9062AA_GP_1_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_2 = 0x123 */\n" + "> +/* DA9062AA_GP_ID_2 =3D 0x123 */\n" "> +#define DA9062AA_GP_2_SHIFT\t\t0\n" "> +#define DA9062AA_GP_2_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_3 = 0x124 */\n" + "> +/* DA9062AA_GP_ID_3 =3D 0x124 */\n" "> +#define DA9062AA_GP_3_SHIFT\t\t0\n" "> +#define DA9062AA_GP_3_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_4 = 0x125 */\n" + "> +/* DA9062AA_GP_ID_4 =3D 0x125 */\n" "> +#define DA9062AA_GP_4_SHIFT\t\t0\n" "> +#define DA9062AA_GP_4_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_5 = 0x126 */\n" + "> +/* DA9062AA_GP_ID_5 =3D 0x126 */\n" "> +#define DA9062AA_GP_5_SHIFT\t\t0\n" "> +#define DA9062AA_GP_5_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_6 = 0x127 */\n" + "> +/* DA9062AA_GP_ID_6 =3D 0x127 */\n" "> +#define DA9062AA_GP_6_SHIFT\t\t0\n" "> +#define DA9062AA_GP_6_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_7 = 0x128 */\n" + "> +/* DA9062AA_GP_ID_7 =3D 0x128 */\n" "> +#define DA9062AA_GP_7_SHIFT\t\t0\n" "> +#define DA9062AA_GP_7_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_8 = 0x129 */\n" + "> +/* DA9062AA_GP_ID_8 =3D 0x129 */\n" "> +#define DA9062AA_GP_8_SHIFT\t\t0\n" "> +#define DA9062AA_GP_8_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_9 = 0x12A */\n" + "> +/* DA9062AA_GP_ID_9 =3D 0x12A */\n" "> +#define DA9062AA_GP_9_SHIFT\t\t0\n" "> +#define DA9062AA_GP_9_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_10 = 0x12B */\n" + "> +/* DA9062AA_GP_ID_10 =3D 0x12B */\n" "> +#define DA9062AA_GP_10_SHIFT\t\t0\n" "> +#define DA9062AA_GP_10_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_11 = 0x12C */\n" + "> +/* DA9062AA_GP_ID_11 =3D 0x12C */\n" "> +#define DA9062AA_GP_11_SHIFT\t\t0\n" "> +#define DA9062AA_GP_11_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_12 = 0x12D */\n" + "> +/* DA9062AA_GP_ID_12 =3D 0x12D */\n" "> +#define DA9062AA_GP_12_SHIFT\t\t0\n" "> +#define DA9062AA_GP_12_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_13 = 0x12E */\n" + "> +/* DA9062AA_GP_ID_13 =3D 0x12E */\n" "> +#define DA9062AA_GP_13_SHIFT\t\t0\n" "> +#define DA9062AA_GP_13_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_14 = 0x12F */\n" + "> +/* DA9062AA_GP_ID_14 =3D 0x12F */\n" "> +#define DA9062AA_GP_14_SHIFT\t\t0\n" "> +#define DA9062AA_GP_14_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_15 = 0x130 */\n" + "> +/* DA9062AA_GP_ID_15 =3D 0x130 */\n" "> +#define DA9062AA_GP_15_SHIFT\t\t0\n" "> +#define DA9062AA_GP_15_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_16 = 0x131 */\n" + "> +/* DA9062AA_GP_ID_16 =3D 0x131 */\n" "> +#define DA9062AA_GP_16_SHIFT\t\t0\n" "> +#define DA9062AA_GP_16_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_17 = 0x132 */\n" + "> +/* DA9062AA_GP_ID_17 =3D 0x132 */\n" "> +#define DA9062AA_GP_17_SHIFT\t\t0\n" "> +#define DA9062AA_GP_17_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_18 = 0x133 */\n" + "> +/* DA9062AA_GP_ID_18 =3D 0x133 */\n" "> +#define DA9062AA_GP_18_SHIFT\t\t0\n" "> +#define DA9062AA_GP_18_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_GP_ID_19 = 0x134 */\n" + "> +/* DA9062AA_GP_ID_19 =3D 0x134 */\n" "> +#define DA9062AA_GP_19_SHIFT\t\t0\n" "> +#define DA9062AA_GP_19_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_DEVICE_ID = 0x181 */\n" + "> +/* DA9062AA_DEVICE_ID =3D 0x181 */\n" "> +#define DA9062AA_DEV_ID_SHIFT\t\t0\n" "> +#define DA9062AA_DEV_ID_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_VARIANT_ID = 0x182 */\n" + "> +/* DA9062AA_VARIANT_ID =3D 0x182 */\n" "> +#define DA9062AA_VRC_SHIFT\t\t0\n" "> +#define DA9062AA_VRC_MASK\t\t(0x0f << 0)\n" "> +#define DA9062AA_MRC_SHIFT\t\t4\n" "> +#define DA9062AA_MRC_MASK\t\t(0x0f << 4)\n" "> +\n" - "> +/* DA9062AA_CUSTOMER_ID = 0x183 */\n" + "> +/* DA9062AA_CUSTOMER_ID =3D 0x183 */\n" "> +#define DA9062AA_CUST_ID_SHIFT\t\t0\n" "> +#define DA9062AA_CUST_ID_MASK\t\t(0xff << 0)\n" "> +\n" - "> +/* DA9062AA_CONFIG_ID = 0x184 */\n" + "> +/* DA9062AA_CONFIG_ID =3D 0x184 */\n" "> +#define DA9062AA_CONFIG_REV_SHIFT\t0\n" "> +#define DA9062AA_CONFIG_REV_MASK\t(0xff << 0)\n" "> +\n" "> +#endif /* __DA9062_H__ */\n" "\n" - "-- \n" + "--=20\n" "Lee Jones\n" "Linaro STMicroelectronics Landing Team Lead\n" - "Linaro.org \342\224\202 Open source software for ARM SoCs\n" + "Linaro.org =E2=94=82 Open source software for ARM SoCs\n" "Follow Linaro: Facebook | Twitter | Blog\n" - "--\n" - "To unsubscribe from this list: send the line \"unsubscribe linux-input\" in\n" - "the body of a message to majordomo@vger.kernel.org\n" - More majordomo info at http://vger.kernel.org/majordomo-info.html + "\n" + "--=20\n" + "--=20\n" + "You received this message because you are subscribed to \"rtc-linux\".\n" + "Membership options at http://groups.google.com/group/rtc-linux .\n" + "Please read http://groups.google.com/group/rtc-linux/web/checklist\n" + "before submitting a driver.\n" + "---=20\n" + "You received this message because you are subscribed to the Google Groups \"=\n" + "rtc-linux\" group.\n" + "To unsubscribe from this group and stop receiving emails from it, send an e=\n" + "mail to rtc-linux+unsubscribe@googlegroups.com.\n" + For more options, visit https://groups.google.com/d/optout. -22a67689775670feccd10a3a6742d3e1fe03cfbbd9a7b2125acd50d2afaa3c90 +fed19b1db80c1523fdc27273b5bb93bfe612a484c57cbb7edbbd9aac97bcacbc
diff --git a/a/1.txt b/N2/1.txt index 745320f..9003597 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -2005,6 +2005,6 @@ Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- -To unsubscribe from this list: send the line "unsubscribe linux-input" in +To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/a/content_digest b/N2/content_digest index 509f48c..612e01e 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -2031,8 +2031,8 @@ "Linaro.org \342\224\202 Open source software for ARM SoCs\n" "Follow Linaro: Facebook | Twitter | Blog\n" "--\n" - "To unsubscribe from this list: send the line \"unsubscribe linux-input\" in\n" + "To unsubscribe from this list: send the line \"unsubscribe linux-watchdog\" in\n" "the body of a message to majordomo@vger.kernel.org\n" More majordomo info at http://vger.kernel.org/majordomo-info.html -22a67689775670feccd10a3a6742d3e1fe03cfbbd9a7b2125acd50d2afaa3c90 +4dcf69caec4f7872dd271b11795f606dbb0759d50e226e105ec7a3108226b1fa
diff --git a/a/1.txt b/N3/1.txt index 745320f..cb5a6fa 100644 --- a/a/1.txt +++ b/N3/1.txt @@ -2004,7 +2004,3 @@ Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog --- -To unsubscribe from this list: send the line "unsubscribe linux-input" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/a/content_digest b/N3/content_digest index 509f48c..5a618a5 100644 --- a/a/content_digest +++ b/N3/content_digest @@ -2029,10 +2029,6 @@ "Lee Jones\n" "Linaro STMicroelectronics Landing Team Lead\n" "Linaro.org \342\224\202 Open source software for ARM SoCs\n" - "Follow Linaro: Facebook | Twitter | Blog\n" - "--\n" - "To unsubscribe from this list: send the line \"unsubscribe linux-input\" in\n" - "the body of a message to majordomo@vger.kernel.org\n" - More majordomo info at http://vger.kernel.org/majordomo-info.html + Follow Linaro: Facebook | Twitter | Blog -22a67689775670feccd10a3a6742d3e1fe03cfbbd9a7b2125acd50d2afaa3c90 +0c288d611e799deade4db565c3e48fb07670535b455f484054ab1286e953fc0c
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.