[U-Boot] mcf5445x watchdog support in U-Boot

Hi TsiChung et al,
I was wondering if there are plans to support and utilise the watchdog in the mcf5445x devices within U-Boot?
I've ported a kernel driver from the bitshrine gpp (http://www.bitshrine.org/gpp/linux-2.6.25-mcfv4e-watchdog.patch) so that it hooks into my 54455 hw (Freescale EVB), however I'd like to configure and enable the watchdog in U-Boot with the intention that once Linux starts, the responsibility of kicking the watchdog resides with a user space app -> driver.
Thoughts?
Much appreciated. -- Matt

Matt,
Yes. I am planning to enable watchdog in mcf5445x in u-boot. Need to investigate more in booting linux and the transition to starting the linux kernel of watchdog behavior to make sure it is not causing problem to the linux kernel.
Best Regards, TsiChung
-----Original Message----- From: Matthew Lear [mailto:matt@bubblegen.co.uk] Sent: Monday, June 15, 2009 7:59 AM To: Liew Tsi Chung-R5AAHP; u-boot@lists.denx.de Subject: mcf5445x watchdog support in U-Boot
Hi TsiChung et al,
I was wondering if there are plans to support and utilise the watchdog in the mcf5445x devices within U-Boot?
I've ported a kernel driver from the bitshrine gpp (http://www.bitshrine.org/gpp/linux-2.6.25-mcfv4e-watchdog.patch) so that it hooks into my 54455 hw (Freescale EVB), however I'd like to configure and enable the watchdog in U-Boot with the intention that once Linux starts, the responsibility of kicking the watchdog resides with a user space app -> driver.
Thoughts?
Much appreciated. -- Matt

Hi TsiChung,
I can supply you my patch for a watchdog driver implementation for 5445x to test with if you like? I've not fed it back to Freescale yet. Will do though. It's based on 2.6.29.
Is there a mechanism to allow U-Boot to indicate to Linux that it has enabled the watchdog (eg as part of the bd_info struct maybe)? Just a thought... It could then be kicked at kernel arch init and then repeatedly by Linux user space via /dev/watchdog if required by the application. The reason I suggested kicking the watchdog in arch init is to give Linux a chance to boot (kernel and user) before the watchdog times out. Obviously several things could prevent this (eg tasks that take time before user space starts for example fsck etc).
I'm sure other U-Boot developers/maintainers have thought about this..? Thoughts?
In any case, I need to enable the watchdog in U-Boot for a mcf54451 based platform because need it in our system (we're using an mcf54455 evb as reference hw). I'm happy to help in the development / testing etc. Please just let me know.
Best regards, -- Matt
Matt,
Yes. I am planning to enable watchdog in mcf5445x in u-boot. Need to investigate more in booting linux and the transition to starting the linux kernel of watchdog behavior to make sure it is not causing problem to the linux kernel.
Best Regards, TsiChung
-----Original Message----- From: Matthew Lear [mailto:matt@bubblegen.co.uk] Sent: Monday, June 15, 2009 7:59 AM To: Liew Tsi Chung-R5AAHP; u-boot@lists.denx.de Subject: mcf5445x watchdog support in U-Boot
Hi TsiChung et al,
I was wondering if there are plans to support and utilise the watchdog in the mcf5445x devices within U-Boot?
I've ported a kernel driver from the bitshrine gpp (http://www.bitshrine.org/gpp/linux-2.6.25-mcfv4e-watchdog.patch) so that it hooks into my 54455 hw (Freescale EVB), however I'd like to configure and enable the watchdog in U-Boot with the intention that once Linux starts, the responsibility of kicking the watchdog resides with a user space app -> driver.
Thoughts?
Much appreciated. -- Matt _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Hello TsiChung.
I have added watchdog support in U-Boot for MCF5445x devices using the M54455 EVB platform to test. I can send you a patch if you wish (the timeout is hard coded to 16 secs at the moment)?
However, I am having trouble when U-Boot starts Linux in the case when the watchdog has been enabled in U-Boot. Basically, Linux seems to crash before it gets a chance to print anything on the console - but, control appears to have left U-Boot.
Building U-Boot with debug, it displays:
## Transferring control to Linux (at address 40020000) ... BIV
Then it's dead after which the watchdog times out and causes a cpu reset.
Building U-Boot without debug I get the following:
*** Unexpected exception *** Vector Number: 4 Format: 04 Fault Status: 0
PC: 4fdbfdc8 SR: 00002700 SP: 4fd72a64 D0: 00000004 D1: 000003f9 D2: 4fdb4202 D3: 004fa3da D4: 00000000 D5: 4fdc7c8c D6: 122c0034 D7: 4fd82f76 A0: 4033cb98 A1: 4025aa39 A2: 40020000 A3: 4fdbfdc8 A4: 00000000 A5: 4fdc5800 A6: 4fd72afb
*** Please Reset Board! ***
Then again, the watchdog times out and causes a cpu reset.
It definitely appears as though Linux has been started but I cannot tell what has actually happened. I think it's possible that something in the Linux setup has caused (or contributed to) the crash. The problem does not happen if the watchdog support is disabled by #undefining CONFIG_WATCHDOG.
It certainly seems that U-Boot is not responsible for the crash. Do you have any thoughts on this? I'd appreciate a bit of help.
Rgds, -- Matt
Hi TsiChung,
I can supply you my patch for a watchdog driver implementation for 5445x to test with if you like? I've not fed it back to Freescale yet. Will do though. It's based on 2.6.29.
Is there a mechanism to allow U-Boot to indicate to Linux that it has enabled the watchdog (eg as part of the bd_info struct maybe)? Just a thought... It could then be kicked at kernel arch init and then repeatedly by Linux user space via /dev/watchdog if required by the application. The reason I suggested kicking the watchdog in arch init is to give Linux a chance to boot (kernel and user) before the watchdog times out. Obviously several things could prevent this (eg tasks that take time before user space starts for example fsck etc).
I'm sure other U-Boot developers/maintainers have thought about this..? Thoughts?
In any case, I need to enable the watchdog in U-Boot for a mcf54451 based platform because need it in our system (we're using an mcf54455 evb as reference hw). I'm happy to help in the development / testing etc. Please just let me know.
Best regards, -- Matt
Matt,
Yes. I am planning to enable watchdog in mcf5445x in u-boot. Need to investigate more in booting linux and the transition to starting the linux kernel of watchdog behavior to make sure it is not causing problem to the linux kernel.
Best Regards, TsiChung
-----Original Message----- From: Matthew Lear [mailto:matt@bubblegen.co.uk] Sent: Monday, June 15, 2009 7:59 AM To: Liew Tsi Chung-R5AAHP; u-boot@lists.denx.de Subject: mcf5445x watchdog support in U-Boot
Hi TsiChung et al,
I was wondering if there are plans to support and utilise the watchdog in the mcf5445x devices within U-Boot?
I've ported a kernel driver from the bitshrine gpp (http://www.bitshrine.org/gpp/linux-2.6.25-mcfv4e-watchdog.patch) so that it hooks into my 54455 hw (Freescale EVB), however I'd like to configure and enable the watchdog in U-Boot with the intention that once Linux starts, the responsibility of kicking the watchdog resides with a user space app -> driver.
Thoughts?
Much appreciated. -- Matt _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
participants (2)
-
Liew Tsi Chung-R5AAHP
-
Matthew Lear