Lines Matching refs:da9063
24 #include <linux/mfd/da9063/core.h>
25 #include <linux/mfd/da9063/registers.h>
85 .of_compatible = "dlg,da9063-watchdog",
96 .of_compatible = "dlg,da9063-onkey",
109 .of_compatible = "dlg,da9063-rtc",
113 static int da9063_clear_fault_log(struct da9063 *da9063)
118 ret = regmap_read(da9063->regmap, DA9063_REG_FAULT_LOG, &fault_log);
120 dev_err(da9063->dev, "Cannot read FAULT_LOG.\n");
126 dev_dbg(da9063->dev,
129 dev_dbg(da9063->dev,
132 dev_dbg(da9063->dev,
135 dev_dbg(da9063->dev,
138 dev_dbg(da9063->dev,
141 dev_dbg(da9063->dev,
144 dev_dbg(da9063->dev,
147 dev_dbg(da9063->dev,
151 ret = regmap_write(da9063->regmap,
155 dev_err(da9063->dev,
161 int da9063_device_init(struct da9063 *da9063, unsigned int irq)
165 ret = da9063_clear_fault_log(da9063);
167 dev_err(da9063->dev, "Cannot clear fault log\n");
169 da9063->flags = 0;
170 da9063->irq_base = -1;
171 da9063->chip_irq = irq;
173 ret = da9063_irq_init(da9063);
175 dev_err(da9063->dev, "Cannot initialize interrupts.\n");
179 da9063->irq_base = regmap_irq_chip_get_base(da9063->regmap_irq);
181 ret = devm_mfd_add_devices(da9063->dev, PLATFORM_DEVID_NONE,
184 NULL, da9063->irq_base, NULL);
186 dev_err(da9063->dev, "Failed to add child devices\n");
190 if (da9063->type == PMIC_TYPE_DA9063) {
191 ret = devm_mfd_add_devices(da9063->dev, PLATFORM_DEVID_NONE,
193 NULL, da9063->irq_base, NULL);
195 dev_err(da9063->dev, "Failed to add child devices\n");