summaryrefslogtreecommitdiffstats
path: root/src/drivers/i2c/rx6110sa/rx6110sa.h
diff options
context:
space:
mode:
authorWerner Zeh <werner.zeh@siemens.com>2017-06-29 08:37:14 +0200
committerWerner Zeh <werner.zeh@siemens.com>2017-06-30 16:57:12 +0000
commit6e6261e89344ff25dc3beb0b8abb753ff2347624 (patch)
treefba5870c3072fe2c42165d225e2e1912d7dbef1f /src/drivers/i2c/rx6110sa/rx6110sa.h
parent083504b66b5f3b281221f0a8f4fd62a4d9071287 (diff)
downloadcoreboot-6e6261e89344ff25dc3beb0b8abb753ff2347624.tar.gz
coreboot-6e6261e89344ff25dc3beb0b8abb753ff2347624.tar.bz2
coreboot-6e6261e89344ff25dc3beb0b8abb753ff2347624.zip
rx6110sa: Add a software reset sequence in case of power loss
According to the datasheet the RTC needs a power rising slope of no more than 100µs/V to ensure a correct power-on reset. If the mainboard that hosts the RTC cannot guarantee this, a software reset sequence is needed in the case where the battery was drained completely. As the rising slope of the power supply depends on so many parameters and is highly mainboard specific, refactor the initialization code to perform a software reset every time a power loss event is recognized by the RTC. Change-Id: If64d672e51667523058041bd00e1e50ac047143d Signed-off-by: Werner Zeh <werner.zeh@siemens.com> Reviewed-on: https://review.coreboot.org/20412 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/drivers/i2c/rx6110sa/rx6110sa.h')
-rw-r--r--src/drivers/i2c/rx6110sa/rx6110sa.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/drivers/i2c/rx6110sa/rx6110sa.h b/src/drivers/i2c/rx6110sa/rx6110sa.h
index ebd75ead60fc..7e71f24ec3e0 100644
--- a/src/drivers/i2c/rx6110sa/rx6110sa.h
+++ b/src/drivers/i2c/rx6110sa/rx6110sa.h
@@ -29,7 +29,7 @@
#define MONTH_REG 0x15
#define YEAR_REG 0x16
#define RESERVED_BIT_REG 0x17
-#define RTC_INIT_VALUE 0x28
+#define RTC_INIT_VALUE 0xA8
#define ALARM_MINUTE_REG 0x18
#define ALARM_HOUR_REG 0x19
#define ALARM_WEEKDAY_REG 0x1A
@@ -81,8 +81,10 @@
#define PMON_SAMPL_256_MS 0x03
/* Define on which pin of the RTC the generated square wave will be driven. */
-#define FOUT_IRQ2 0x00 /* IRQ2 pin used for Fout */
-#define FOUT_IRQ1 0x01 /* IRQ1 pin used for Fout */
-#define FOUT_DO_FOUT 0x02 /* DO/FOUT pin used for Fout */
+#define FOUT_IRQ2 0x00 /* IRQ2 pin used for Fout */
+#define FOUT_IRQ1 0x01 /* IRQ1 pin used for Fout */
+#define FOUT_DO_FOUT 0x02 /* DO/FOUT pin used for Fout */
+
+#define AFTER_RESET_DELAY_MS 2 /* Delay after reset sequence */
#endif /* _I2C_RX6110SA_H_ */