Re: [PATCH v7 1/4] mfd: RK808: Add RK818 support
From: Wadim Egorov
Date: Fri Aug 19 2016 - 02:19:16 EST
On 18.08.2016 16:34, Lee Jones wrote:
> 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.
ok
>
>> 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,
> ?
you told me to change this