Hi, On 02/02/2017 05:04 PM, Jaehoon Chung wrote: > Add the max8997 controller for Driver model. > Exynos4210 is using max8997 pmic controller. > (pmic_max8997.c should be deprecated.) > > Signed-off-by: Jaehoon Chung <jh80.ch...@samsung.com> > Reviewed-by: Simon Glass <s...@chromium.org>
Applied on pmic branch of u-boot-mmc. Thanks! Best Regards, Jaehoon Chung > --- > Changelog on V2: > - Add the descirption in more detail > - Change from DM_PMIC_MAX8997 to PMIC_MAX8997 > - Fixes header file ordering > > drivers/power/pmic/Kconfig | 15 +++++++++++ > drivers/power/pmic/Makefile | 1 + > drivers/power/pmic/max8997.c | 61 > ++++++++++++++++++++++++++++++++++++++++++++ > drivers/power/pmic/max8998.c | 2 +- > 4 files changed, 78 insertions(+), 1 deletion(-) > create mode 100644 drivers/power/pmic/max8997.c > > diff --git a/drivers/power/pmic/Kconfig b/drivers/power/pmic/Kconfig > index e7cc405..03fea07 100644 > --- a/drivers/power/pmic/Kconfig > +++ b/drivers/power/pmic/Kconfig > @@ -61,6 +61,21 @@ config DM_PMIC_MAX8998 > This config enables implementation of driver-model pmic uclass features > for PMIC MAX8998. The driver implements read/write operations. > > +config PMIC_MAX8997 > + bool "Enable Driver Model for PMIC MAX8997" > + depends on DM_PMIC > + ---help--- > + This config enables implementation of driver-model pmic uclass features > + for PMIC MAX8997. The driver implements read/write operations. > + This is a Power Management IC with RTC, Fuel Gauge, MUIC control on > Chip. > + - 21x LDOs > + - 12x GPIOs > + - Haptic Motor driver > + - RTC with two alarms > + - Fueal Gauge and One backup battery charger > + - MUIC > + - Others > + > config PMIC_PM8916 > bool "Enable Driver Model for Qualcomm PM8916 PMIC" > depends on DM_PMIC > diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile > index 8615939..40240c7 100644 > --- a/drivers/power/pmic/Makefile > +++ b/drivers/power/pmic/Makefile > @@ -12,6 +12,7 @@ obj-$(CONFIG_DM_PMIC_PFUZE100) += pfuze100.o > obj-$(CONFIG_PMIC_S2MPS11) += s2mps11.o > obj-$(CONFIG_DM_PMIC_SANDBOX) += sandbox.o i2c_pmic_emul.o > obj-$(CONFIG_PMIC_ACT8846) += act8846.o > +obj-$(CONFIG_PMIC_MAX8997) += max8997.o > obj-$(CONFIG_PMIC_PM8916) += pm8916.o > obj-$(CONFIG_PMIC_RK808) += rk808.o > obj-$(CONFIG_PMIC_RN5T567) += rn5t567.o > diff --git a/drivers/power/pmic/max8997.c b/drivers/power/pmic/max8997.c > new file mode 100644 > index 0000000..f749d7d > --- /dev/null > +++ b/drivers/power/pmic/max8997.c > @@ -0,0 +1,61 @@ > +/* > + * Copyright (C) 2016 Samsung Electronics > + * Jaehoon Chung <jh80.ch...@samsung.com> > + * > + * SPDX-License-Identifier: GPL-2.0+ > + */ > + > +#include <common.h> > +#include <dm.h> > +#include <i2c.h> > +#include <power/pmic.h> > +#include <power/max8997_pmic.h> > +#include <errno.h> > + > +DECLARE_GLOBAL_DATA_PTR; > + > +static int max8997_reg_count(struct udevice *dev) > +{ > + return PMIC_NUM_OF_REGS; > +} > + > +static int max8997_write(struct udevice *dev, uint reg, const uint8_t *buff, > + int len) > +{ > + int ret; > + > + ret = dm_i2c_write(dev, reg, buff, len); > + if (ret) > + error("write error to device: %p register: %#x!", dev, reg); > + > + return ret; > +} > + > +static int max8997_read(struct udevice *dev, uint reg, uint8_t *buff, int > len) > +{ > + int ret; > + > + ret = dm_i2c_read(dev, reg, buff, len); > + if (ret) > + error("read error from device: %p register: %#x!", dev, reg); > + > + return ret; > +} > + > +static struct dm_pmic_ops max8997_ops = { > + .reg_count = max8997_reg_count, > + .read = max8997_read, > + .write = max8997_write, > +}; > + > +static const struct udevice_id max8997_ids[] = { > + { .compatible = "maxim,max8997" }, > + { }, > +}; > + > +U_BOOT_DRIVER(pmic_max8997) = { > + .name = "max8997_pmic", > + .id = UCLASS_PMIC, > + .of_match = max8997_ids, > + .ops = &max8997_ops, > +}; > diff --git a/drivers/power/pmic/max8998.c b/drivers/power/pmic/max8998.c > index 3baa8da..7c4773c 100644 > --- a/drivers/power/pmic/max8998.c > +++ b/drivers/power/pmic/max8998.c > @@ -7,10 +7,10 @@ > > #include <common.h> > #include <dm.h> > +#include <errno.h> > #include <i2c.h> > #include <power/pmic.h> > #include <power/max8998_pmic.h> > -#include <errno.h> > > DECLARE_GLOBAL_DATA_PTR; > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot