@@ -43,11 +43,25 @@ MODULE_DEVICE_TABLE(of, aspeed_wdt_of_table);
43
43
44
44
#define WDT_RESTART_MAGIC 0x4755
45
45
46
+ static void aspeed_wdt_dump_regs (struct aspeed_wdt * wdt )
47
+ {
48
+ printk ("WDT_STATUS: %p %08x\n" , wdt -> base + WDT_STATUS ,
49
+ readl (wdt -> base + WDT_STATUS ));
50
+ printk ("WDT_RELOAD_VALUE: %p %08x\n" , wdt -> base + WDT_RELOAD_VALUE ,
51
+ readl (wdt -> base + WDT_RELOAD_VALUE ));
52
+ printk ("WDT_RESTART: %p %08x\n" , wdt -> base + WDT_RESTART ,
53
+ readl (wdt -> base + WDT_RESTART ));
54
+ printk ("WDT_CTRL: %p %08x\n" , wdt -> base + WDT_CTRL ,
55
+ readl (wdt -> base + WDT_CTRL ));
56
+ }
57
+
46
58
static void aspeed_wdt_enable (struct aspeed_wdt * wdt , int count )
47
59
{
48
60
u32 ctrl = WDT_CTRL_RESET_MODE_FULL_CHIP | WDT_CTRL_RESET_SYSTEM |
49
61
WDT_CTRL_ENABLE ;
50
62
63
+ printk ("%s\n" , __func__ );
64
+
51
65
writel (0 , wdt -> base + WDT_CTRL );
52
66
writel (count , wdt -> base + WDT_RELOAD_VALUE );
53
67
writel (WDT_RESTART_MAGIC , wdt -> base + WDT_RESTART );
@@ -94,12 +108,17 @@ static int aspeed_wdt_restart(struct notifier_block *nb, unsigned long action,
94
108
struct aspeed_wdt * wdt = container_of (nb ,
95
109
struct aspeed_wdt , restart_nb );
96
110
111
+ printk ("%s\n" , __func__ );
112
+ aspeed_wdt_dump_regs (wdt );
113
+
97
114
/*
98
115
* Trigger watchdog bite:
99
116
* Setup reload count to be 128ms, and enable WDT.
100
117
*/
101
118
aspeed_wdt_enable (wdt , 128 * wdt -> rate / 1000 );
102
119
120
+ aspeed_wdt_dump_regs (wdt );
121
+
103
122
return NOTIFY_DONE ;
104
123
}
105
124
0 commit comments