[U-Boot] [PATCH 13/16] Blackfin: Bf60x: add hw watchdog support
Mike Frysinger
vapier at gentoo.org
Wed Aug 8 07:11:15 CEST 2012
On Tuesday 07 August 2012 04:07:52 Bob Liu wrote:
> --- a/arch/blackfin/cpu/initcode.c
> +++ b/arch/blackfin/cpu/initcode.c
>
> if (CONFIG_BFIN_BOOT_MODE != BFIN_BOOT_BYPASS) {
> serial_putc('e');
> +#ifdef __ADSPBF60x__
> + int i;
> + bfin_write_SEC_GCTL(0x2);
> + while (i++ < 100000);
> + bfin_write_SEC_FCTL(0xc1);
> + bfin_write_SEC_SCTL(2, bfin_read_SEC_SCTL(2) | 0x6);
> +
> + bfin_write_SEC_CCTL(0x2);
> + while (i++ < 100000);
> + bfin_write_SEC_GCTL(0x1);
> + bfin_write_SEC_CCTL(0x1);
> +#endif
err, this doesn't look like hardware watchdog ... this is the interrupt
controller isn't it ?
those while() loops also won't fly -- you need to use a proper sync function
here. certainly not without comments as to what's going on.
> --- a/arch/blackfin/cpu/start.S
> +++ b/arch/blackfin/cpu/start.S
> @@ -65,6 +65,7 @@ ENTRY(_start)
> p5.h = HI(COREMMR_BASE);
>
> #ifdef CONFIG_HW_WATCHDOG
> +#ifndef __ADSPBF60x__
> # ifndef CONFIG_HW_WATCHDOG_TIMEOUT_START
> # define CONFIG_HW_WATCHDOG_TIMEOUT_START 5000
> # endif
> @@ -78,6 +79,7 @@ ENTRY(_start)
> /* fire up the watchdog - R0.L above needs to be 0x0000 */
> W[p4 + (WDOG_CTL - SYSMMR_BASE)] = r0;
> #endif
> +#endif
you need to implement the bf60x equivalent here and not just disable the bf5xx
code
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120808/88ec1718/attachment.pgp>
More information about the U-Boot
mailing list