summaryrefslogtreecommitdiffstats
path: root/board/ti/ks2_evm
diff options
context:
space:
mode:
authorLokesh Vutla <lokeshvutla@ti.com>2016-05-26 19:05:44 +0530
committerTom Rini <trini@konsulko.com>2016-06-02 21:42:19 -0400
commite2924e5904ae413e0b4a2a0d407267e7bbc2c7c4 (patch)
tree1d76627954ef21aca21b30adb44dc17544ed76c6 /board/ti/ks2_evm
parenteafd4644c0edc140f034d5eb7cb07529ab0a6dc7 (diff)
downloadblackbird-obmc-uboot-e2924e5904ae413e0b4a2a0d407267e7bbc2c7c4.tar.gz
blackbird-obmc-uboot-e2924e5904ae413e0b4a2a0d407267e7bbc2c7c4.zip
ARM: k2g: Configure reset mux to device reset
BOOTCFG_RSTMUX8 register controls the reset mux associated with the ARM. Timer5(dedicated to ARM) when used as WatchDog timer, the events it generates are routed to the above mux. Following are the 3 events that can controlled bt the reset mux: - Device Reset - An interrupt to the ARM_GIC - An interrupt to the ARM_GIC followed by a device reset. Right now to give a default watchdog behaviour "Device reset" is being selected. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Acked-by: Nishanth Menon <nm@ti.com>
Diffstat (limited to 'board/ti/ks2_evm')
-rw-r--r--board/ti/ks2_evm/board_k2g.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/board/ti/ks2_evm/board_k2g.c b/board/ti/ks2_evm/board_k2g.c
index b62c412250..8f16845d8e 100644
--- a/board/ti/ks2_evm/board_k2g.c
+++ b/board/ti/ks2_evm/board_k2g.c
@@ -117,12 +117,28 @@ int board_mmc_init(bd_t *bis)
#endif
#ifdef CONFIG_BOARD_EARLY_INIT_F
+
+static void k2g_reset_mux_config(void)
+{
+ /* Unlock the reset mux register */
+ clrbits_le32(KS2_RSTMUX8, RSTMUX_LOCK8_MASK);
+
+ /* Configure BOOTCFG_RSTMUX8 for WDT event to cause a device reset */
+ clrsetbits_le32(KS2_RSTMUX8, RSTMUX_OMODE8_MASK,
+ RSTMUX_OMODE8_DEV_RESET << RSTMUX_OMODE8_SHIFT);
+
+ /* lock the reset mux register to prevent any spurious writes. */
+ setbits_le32(KS2_RSTMUX8, RSTMUX_LOCK8_MASK);
+}
+
int board_early_init_f(void)
{
init_plls();
k2g_mux_config();
+ k2g_reset_mux_config();
+
/* deassert FLASH_HOLD */
clrbits_le32(K2G_GPIO1_BANK2_BASE + K2G_GPIO_DIR_OFFSET,
BIT(9));
OpenPOWER on IntegriCloud