On Wed, 10 Aug 2016, Wadim Egorov wrote: > The RK818 chip is a Power Management IC (PMIC) for multimedia and handheld > devices. It contains the following components: > > - Regulators > - RTC > - Clocking > - Battery support > > Both RK808 and RK818 chips are using a similar register map, > so we can reuse the RTC and Clocking functionality. > > Signed-off-by: Wadim Egorov <w.egorov@xxxxxxxxx> > Tested-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx> > --- > Changes since v6: > - Squashed in the patch > mfd: RK808: Fetch PMIC variant from chip id register > > --- > drivers/mfd/Kconfig | 4 +- > drivers/mfd/rk808.c | 226 +++++++++++++++++++++++++++++++++++++++------- > include/linux/mfd/rk808.h | 154 +++++++++++++++++++++++++++++-- > 3 files changed, 342 insertions(+), 42 deletions(-) > > diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig > index 2d1fb64..a55be95 100644 > --- a/drivers/mfd/Kconfig > +++ b/drivers/mfd/Kconfig > @@ -852,13 +852,13 @@ config MFD_RC5T583 > different functionality of the device. > > config MFD_RK808 > - tristate "Rockchip RK808 Power Management chip" > + tristate "Rockchip RK808/RK818 Power Management Chip" > depends on I2C && OF > select MFD_CORE > select REGMAP_I2C > select REGMAP_IRQ > help > - If you say yes here you get support for the RK808 > + If you say yes here you get support for the RK808 and RK818 > Power Management chips. > This driver provides common support for accessing the device > through I2C interface. The device supports multiple sub-devices > diff --git a/drivers/mfd/rk808.c b/drivers/mfd/rk808.c > index 49d7f62..fbec1d8 100644 > --- a/drivers/mfd/rk808.c > +++ b/drivers/mfd/rk808.c > @@ -1,11 +1,15 @@ > /* > - * MFD core driver for Rockchip RK808 > + * MFD core driver for Rockchip RK808/RK818 > * > * Copyright (c) 2014, Fuzhou Rockchip Electronics Co., Ltd > * > * Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> > * Author: Zhang Qing <zhangqing@xxxxxxxxxxxxxx> > * > + * Copyright (C) 2016 PHYTEC Messtechnik GmbH > + * > + * Author: Wadim Egorov <w.egorov@xxxxxxxxx> > + * > * This program is free software; you can redistribute it and/or modify it > * under the terms and conditions of the GNU General Public License, > * version 2, as published by the Free Software Foundation. > @@ -22,6 +26,7 @@ > #include <linux/mfd/core.h> > #include <linux/module.h> > #include <linux/regmap.h> > +#include <linux/of_device.h> Alphabetical. > struct rk808_reg_data { > int addr; > @@ -57,6 +62,14 @@ static bool rk808_is_volatile_reg(struct device *dev, unsigned int reg) > return false; > } > > +static const struct regmap_config rk818_regmap_config = { > + .reg_bits = 8, > + .val_bits = 8, > + .max_register = RK818_USB_CTRL_REG, > + .cache_type = REGCACHE_RBTREE, > + .volatile_reg = rk808_is_volatile_reg, > +}; > + > static const struct regmap_config rk808_regmap_config = { > .reg_bits = 8, > .val_bits = 8, > @@ -79,11 +92,21 @@ static const struct mfd_cell rk808s[] = { > { > .name = "rk808-rtc", > .num_resources = ARRAY_SIZE(rtc_resources), > - .resources = &rtc_resources[0], > + .resources = rtc_resources, ? > }, > }; -- 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 devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html