[U-Boot] [PATCH 07/10] arm: am437x: cm-t43: set tps fseal bit

Nikita Kiryanov nikita at compulab.co.il
Fri Feb 19 18:19:47 CET 2016


Set TPS65218 FSEAL bit to 1 so that RTC could be powered using on-board
3V battery. This is necessary so that time and date will survive reboots and
power offs.

Cc: Tom Rini <trini at konsulko.com>
Cc: Albert Aribaud <albert.u.boot at aribaud.net>
Cc: Igor Grinberg <grinberg at compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita at compulab.co.il>
---
 board/compulab/cm_t43/cm_t43.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/board/compulab/cm_t43/cm_t43.c b/board/compulab/cm_t43/cm_t43.c
index 445b609..0d5da6f 100644
--- a/board/compulab/cm_t43/cm_t43.c
+++ b/board/compulab/cm_t43/cm_t43.c
@@ -23,11 +23,18 @@ static struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE;
 int power_init_board(void)
 {
 	struct pmic *p;
+	uchar tps_status = 0;
 
 	power_tps65218_init(I2C_PMIC);
 	p = pmic_get("TPS65218_PMIC");
-	if (p && !pmic_probe(p))
+	if (p && !pmic_probe(p)) {
 		puts("PMIC:  TPS65218\n");
+		/* We don't care if fseal is locked, but we do need it set */
+		tps65218_lock_fseal();
+		tps65218_reg_read(TPS65218_STATUS, &tps_status);
+		if (!(tps_status & TPS65218_FSEAL))
+			printf("WARNING: RTC not backed by battery!\n");
+	}
 
 	return 0;
 }
-- 
1.9.1



More information about the U-Boot mailing list