These register get reset to their OTP defaults after USB plugging.
And while at it, also add a missing register for detecting the
charger type.

Signed-off-by: Andreas Kemnade <andr...@kemnade.info>
---
 drivers/mfd/rn5t618.c       | 3 +++
 include/linux/mfd/rn5t618.h | 1 +
 2 files changed, 4 insertions(+)

diff --git a/drivers/mfd/rn5t618.c b/drivers/mfd/rn5t618.c
index dc452df1f1bf..6ed04e6dbc78 100644
--- a/drivers/mfd/rn5t618.c
+++ b/drivers/mfd/rn5t618.c
@@ -45,8 +45,11 @@ static bool rn5t618_volatile_reg(struct device *dev, 
unsigned int reg)
        case RN5T618_INTMON:
        case RN5T618_RTC_CTRL1 ... RN5T618_RTC_CTRL2:
        case RN5T618_RTC_SECONDS ... RN5T618_RTC_YEAR:
+       case RN5T618_CHGCTL1:
+       case RN5T618_REGISET1 ... RN5T618_REGISET2:
        case RN5T618_CHGSTATE:
        case RN5T618_CHGCTRL_IRR ... RN5T618_CHGERR_MONI:
+       case RN5T618_GCHGDET:
        case RN5T618_CONTROL ... RN5T618_CC_AVEREG0:
                return true;
        default:
diff --git a/include/linux/mfd/rn5t618.h b/include/linux/mfd/rn5t618.h
index fba0df13d9a8..8aa0bda1af4f 100644
--- a/include/linux/mfd/rn5t618.h
+++ b/include/linux/mfd/rn5t618.h
@@ -188,6 +188,7 @@
 #define RN5T618_CHGOSCSCORESET3                0xd7
 #define RN5T618_CHGOSCFREQSET1         0xd8
 #define RN5T618_CHGOSCFREQSET2         0xd9
+#define RN5T618_GCHGDET                        0xda
 #define RN5T618_CONTROL                        0xe0
 #define RN5T618_SOC                    0xe1
 #define RN5T618_RE_CAP_H               0xe2
-- 
2.29.2

Reply via email to