Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
en:c1_watchdog_timer [2015/11/03 12:46] moon.linux [Test Watchdog module] |
en:c1_watchdog_timer [2015/11/24 12:00] (current) moon.linux [Test Watchdog module] |
||
---|---|---|---|
Line 12: | Line 12: | ||
</WRAP> | </WRAP> | ||
- | **Kernel Changes Need to make this working.** | ||
- | |||
- | You probably need to recompile the kernel with this changes. | ||
- | |||
- | <code> | ||
- | diff --git a/drivers/amlogic/watchdog/aml_wdt.c b/drivers/amlogic/watchdog/aml_wdt.c | ||
- | index e7b34b5..4ac15df 100644 | ||
- | --- a/drivers/amlogic/watchdog/aml_wdt.c | ||
- | +++ b/drivers/amlogic/watchdog/aml_wdt.c | ||
- | @@ -102,7 +102,7 @@ static void boot_moniter_work(struct work_struct *work) | ||
- | } | ||
- | |||
- | static const struct watchdog_info aml_wdt_info = { | ||
- | - .options = WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING, | ||
- | + .options = WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING | WDIOF_MAGICCLOSE, | ||
- | .identity = "aml Watchdog", | ||
- | }; | ||
- | |||
- | diff --git a/include/linux/amlogic/aml_wdt.h b/include/linux/amlogic/aml_wdt.h | ||
- | index 08c12ab..e1f7c4a 100644 | ||
- | --- a/include/linux/amlogic/aml_wdt.h | ||
- | +++ b/include/linux/amlogic/aml_wdt.h | ||
- | @@ -44,19 +44,19 @@ struct aml_wdt_dev { | ||
- | #define AML_WDT_ENABLED (aml_read_reg32(P_WATCHDOG_TC)&(1 << WATCHDOG_ENABLE_BIT)) | ||
- | static inline void disable_watchdog(void) | ||
- | { | ||
- | - printk(KERN_INFO "** disable watchdog\n"); | ||
- | + pr_emerg("** disable watchdog\n"); | ||
- | aml_write_reg32(P_WATCHDOG_RESET, 0); | ||
- | aml_clr_reg32_mask(P_WATCHDOG_TC,(1 << WATCHDOG_ENABLE_BIT)); | ||
- | } | ||
- | static inline void enable_watchdog(unsigned int timeout) | ||
- | { | ||
- | - printk(KERN_INFO "** enable watchdog\n"); | ||
- | + pr_emerg("** enable watchdog\n"); | ||
- | aml_write_reg32(P_WATCHDOG_RESET, 0); | ||
- | aml_write_reg32(P_WATCHDOG_TC, 1 << WATCHDOG_ENABLE_BIT |(timeout|WATCHDOG_COUNT_MASK)); | ||
- | } | ||
- | static inline void reset_watchdog(void) | ||
- | { | ||
- | - printk(KERN_DEBUG"** reset watchdog\n"); | ||
- | + pr_info("** reset watchdog\n"); | ||
- | aml_write_reg32(P_WATCHDOG_RESET, 0); | ||
- | } | ||
- | #ifdef CONFIG_AML_WDT | ||
- | </code> | ||
You should be able to see /dev/watchdog and /dev/watchdog0 device files being created. | You should be able to see /dev/watchdog and /dev/watchdog0 device files being created. |