If I want to add /enable new Watchdog timer, I need to disable default Watchdog timer.
So how to modify and disable default Watchdog in BSP?
In linux kernel (linux/drivers/watchdog), what is the default watchdog driver?
According to Quark BSP Intel® Quark™ BSP Build and Software User Guide section 6.1 if you want a custom driver behavior you would need to follow the steps posted there. In step 4 you would need to run something similar to
echo 1 >/sys/devices/virtual/misc/watchdog/disable
and then run the bitbake.
Let me know if this works.
I know about that "custom patch to the Linux kernel using Yocto".
But my platform can not search the path " sys/devices/virtual/misc/watchdog/disable".
I can not send command "echo 1 >/sys/devices/virtual/misc/watchdog/disable" in my platform.
I'm also unable to find /sys/devices/virtual/misc/watchdog/disable
Does anyone have a solution to enabling watchdog?
I already enable internal watchdog.
The watchdog driver is ie6xx_wdt.c.
You can enable the watchdog config.
What do you do to "enable the watchdog config"?
I built the 'iot-devkit-prof-dev-image' build from the repo-ext directory inside the BSP meta-clanton_v1.1.0-dirty directory, and it does include the watchdog support.
Once booted, remove the module first.
Now use modprobe to reload the module with new parameters. Insmod doesnt seem to be working. So to set the timeout to 10 seconds and set the resetmode as "warm reset" & "enable reset":
modprobe ie6xx_wdt timeout=10 resetmode=0x18
Start the watchdog by doing a "cat /dev/watchdog0" read. As long as I read it again before it expires, I can prevent the system from resetting.
Check it is running by doing the following read. If you do it several times, you should see the "DCR" value decreasing:
There are some additional details here: https://lists.yoctoproject.org/pipermail/meta-intel/2015-March/003010.html
Yes, thank is right. I also follow the " https://lists.yoctoproject.org/pipermail/meta-intel/2015-March/003010.html" information to build watchdog.
But I have one problem. BSP is meta-clanton_v1.1.0.
I set the CONFIG_IE6XX_WDT is "m".
The IE6XX_WDT is depends on x86 and pci.
When the system boot up, the quark system is always auto probe the ie6xx_wdt module.
I need to manual insmod the "ie6xx_wdt" driver after system boot up.
How can I do?
I’m not sure if I fully understand your question. Do you want the driver to be enabled at boot or do you want to enable it manually? You also say that you want to “insmod the driver after system boot up”. Do you need to use insmod specifically? Did the command in the last reply with modprobe worked?
Because my system have two watchdog.
One is the internal wdt (ie6xx_wdt). One is the external WDT (i2c interface).
I hope the driver initial priority --> " I2C WDT(external WDT) > ie6xx_wdt (internal WDT) "
But it always first mount the ie6xx_wdt in quark system.
I already check the ie6xx_wdt initial is "late_initcall(ie6xx_wdt_init)".
My i2c wdt(external WDT) initial is module init.
Do you know how can I do about to setting priority (i2c(external) > ie6xx (internal)).
I want to i2c external wdt module will be probe frist
Just to confirm, you mean that if external WDT is present, then use external WDT. Only if external WDT is not present, then use internal WDT?
This might require making modifications to the initialization code.
Not sure is this what you want, but
You can change "late_initcall(ie6xx_wdt_init)" to "module_init(ie6xx_wdt_init)", so that the ie6xx_wdt wouldn't get load during the boot time, and only load-up when "modprobe ie6xx_wdt"