I'm building using Brenden's IOTDK 1.5 build (Based on Dizzy): IoT - Creating a Yocto image for the Intel® Galileo board using split layers | Intel® Developer Zone
Yes, I use menuconfig to setup the option then copy the .config to defconfig, or more specifically (from the build directory):.
cp ./tmp/work/quark-poky-linux/linux-yocto-quark/3.8-r0/Linux-quark-standard-build/.config ../meta-intel-quark/recipes-kernel/Linux/files/quark.cfg
I have tried a number of methods to load ie6xx_wdt, but so far to success. The module will load, but it doesn't do anything - no messages, no /dev/watchdog. If I manually create the devices, there is no response (so it seems the module is not initializing at all). I've tried to build the module as internal and a module, same result in all cases. If I compare the module with one built using the daisy build, everything looks the same (lsmod reports the same module size).
Has anybody managed to use the watchdog timer in the split build?
The module will load, but it doesn't do anything
How are you loading the module? Are you using modprobe?
You said you built an image with the module as internal and as a module, are you cleaning the folders or starting from scratch before building the image? Or are you using the same files and folders?
I have resolved the issue and ie6xx_wdt watchdog is now working. The issue was that the patch:
needs to be added to the split layers build.
I was originally thinking that since much of the enabling of the watchdog was added to Linux v3.8, that it only needed to be enabled via .config but the issue came back to one line of code needed to be added to drivers/mfd/lpc_sch.c to detect the Quark - and that comes from this patch.
For users of the Yocto 1.5 split layers build, you will need to apply the above patch to the meta-intel-quark layer and then bitbake. Use the wic script and dd the image to an SD and the /dev/watchdog and /dev/watchdog0 devices will appear.
In my case, I also added the driver to the KERNEL_MODULE_AUTOLOAD list in Linux-yocto-quark_3.8.bb:
KERNEL_MODULE_AUTOLOAD += ie6xx_wdt
So that the driver is automatically started during boot.