espresso3250: pmic: add pmic_enable_wtsr function
authorDongil Park <dongil01.park@samsung.com>
Thu, 16 Jun 2016 05:41:06 +0000 (14:41 +0900)
committerjino.cho <jino.cho@samsung.com>
Mon, 5 Dec 2016 08:04:05 +0000 (17:04 +0900)
This patch adds pmic_enable_wtsr() to support h/w reset.

Change-Id: If810133b471cd98f862586fc006297ef74cee5a9
Signed-off-by: Dongil Park <dongil01.park@samsung.com>
board/samsung/espresso3250/pmic.c
board/samsung/espresso3250/pmic.h

index 75a5bd98ce977fe36a269be5cba10e3eeccf1017..38a2026e38e494e2df393af819598a410a897eb8 100644 (file)
@@ -269,6 +269,18 @@ void pmic_init(void)
        IIC0_EWrite(S2MPS14_WR_ADDR, RTC_BUF, 0x17);
        IIC0_EWrite(S2MPS14_WR_ADDR, BUCK2_OUT,
                        WR_BUCK_VOLT(CONFIG_ARM_VOLT) + VDD_BASE_OFFSET);
+
+}
+
+void pmic_enable_wtsr()
+{
+       unsigned char buf = 0;
+       IIC0_ESetport();
+
+       IIC0_ERead(S2MPS14_RTC_RD_ADDR, RTC_WTSR_SMPL, &buf);
+       buf |= WTSREN;
+       buf |= WTSRT;
+       IIC0_EWrite(S2MPS14_RTC_WR_ADDR, RTC_WTSR_SMPL, buf);
 }
 
 void pmic_enable_peric_dev(void)
index 1bf06fa708aac983d1b1f477f5aff309f891c1ad..f17eabc6d0f3d97000baced0d27a9fccfeac751c 100644 (file)
 #define S2MPS14_WR_ADDR        0xCC
 #define S2MPS14_RD_ADDR        0xCD
 
+/* RTC */
+#define S2MPS14_RTC_WR_ADDR    0x0C
+#define S2MPS14_RTC_RD_ADDR    0x0D
+
 #define VDD_BASE_VOLT_BUCK1    65000
 #define VDD_VOLT_STEP_BUCK1    625
 #define MIN_VOLT_BUCK1 650
  */
 #define WRSTBI_EN              (0x1 << 5)
 
+/*
+ * RTC WTSR/SMPL
+ */
+#define RTC_WTSR_SMPL  (0x1)
+#define WTSREN                 (0x1 << 6)
+#define WTSRT                  (0x3)
+
 extern void pmic_init(void);
+extern void pmic_enable_wtsr(void);
 extern void IIC0_ERead(unsigned char ChipId,
                unsigned char IicAddr, unsigned char *IicData);
 extern void IIC0_EWrite(unsigned char ChipId,