diff options
author | Joel Stanley <joel@jms.id.au> | 2015-11-18 07:10:12 +0300 |
---|---|---|
committer | Joel Stanley <joel@jms.id.au> | 2015-11-18 07:14:22 +0300 |
commit | 1da90046061225460594f75c6dbf9ba7f6fbff5c (patch) | |
tree | 06d06d3957ad0110091563b3a4c5dfe1d887f173 | |
parent | 052ab671274a536f6d267508c868aa1c092b149a (diff) | |
download | linux-openbmc-20151118-1.tar.xz |
watchdog/aspeed: dump watchdog regsopenbmc-20151118-1
Signed-off-by: Joel Stanley <joel@jms.id.au>
-rw-r--r-- | drivers/watchdog/aspeed_wdt.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/watchdog/aspeed_wdt.c b/drivers/watchdog/aspeed_wdt.c index 9b82420f9025..806a63b4141c 100644 --- a/drivers/watchdog/aspeed_wdt.c +++ b/drivers/watchdog/aspeed_wdt.c @@ -43,11 +43,25 @@ MODULE_DEVICE_TABLE(of, aspeed_wdt_of_table); #define WDT_RESTART_MAGIC 0x4755 +static void aspeed_wdt_dump_regs(struct aspeed_wdt *wdt) +{ + printk("WDT_STATUS: %p %08x\n", wdt->base + WDT_STATUS, + readl(wdt->base + WDT_STATUS)); + printk("WDT_RELOAD_VALUE: %p %08x\n", wdt->base + WDT_RELOAD_VALUE, + readl(wdt->base + WDT_RELOAD_VALUE)); + printk("WDT_RESTART: %p %08x\n", wdt->base + WDT_RESTART, + readl(wdt->base + WDT_RESTART)); + printk("WDT_CTRL: %p %08x\n", wdt->base + WDT_CTRL, + readl(wdt->base + WDT_CTRL)); +} + static void aspeed_wdt_enable(struct aspeed_wdt *wdt, int count) { u32 ctrl = WDT_CTRL_RESET_MODE_FULL_CHIP | WDT_CTRL_RESET_SYSTEM | WDT_CTRL_ENABLE; + printk("%s\n", __func__); + writel(0, wdt->base + WDT_CTRL); writel(count, wdt->base + WDT_RELOAD_VALUE); writel(WDT_RESTART_MAGIC, wdt->base + WDT_RESTART); @@ -94,12 +108,17 @@ static int aspeed_wdt_restart(struct notifier_block *nb, unsigned long action, struct aspeed_wdt *wdt = container_of(nb, struct aspeed_wdt, restart_nb); + printk("%s\n", __func__); + aspeed_wdt_dump_regs(wdt); + /* * Trigger watchdog bite: * Setup reload count to be 128ms, and enable WDT. */ aspeed_wdt_enable(wdt, 128 * wdt->rate / 1000); + aspeed_wdt_dump_regs(wdt); + return NOTIFY_DONE; } |