From 028ab6b598b628326116acd88e0f35aa9f526d12 Mon Sep 17 00:00:00 2001 From: wdenk Date: Mon, 23 Feb 2004 23:54:43 +0000 Subject: * Patch by Peter Ryser, 20 Feb 2004: Add support for the Xilinx ML300 platform * Patch by Stephan Linz, 17 Feb 2004: Fix watchdog support for NIOS * Patch by Josh Fryman, 16 Feb 2004: Fix byte-swapping for cfi_flash.c for different bus widths * Patch by Jon Diekema, 14 Jeb 2004: Remove duplicate "FPGA Support" notes from the README file --- cpu/arm925t/interrupts.c | 2 +- cpu/arm926ejs/interrupts.c | 2 +- cpu/nios/interrupts.c | 2 ++ cpu/nios/serial.c | 5 +++-- cpu/ppc4xx/speed.c | 4 ++++ 5 files changed, 11 insertions(+), 4 deletions(-) (limited to 'cpu') diff --git a/cpu/arm925t/interrupts.c b/cpu/arm925t/interrupts.c index 7897184..00e8c18 100644 --- a/cpu/arm925t/interrupts.c +++ b/cpu/arm925t/interrupts.c @@ -237,7 +237,7 @@ void udelay (unsigned long usec) } tmp = get_timer (0); /* get current timestamp */ - if( (tmo + tmp) < tmp ) /* if setting this fordward will roll time stamp */ + if( (tmo + tmp + 1) < tmp ) /* if setting this fordward will roll time stamp */ reset_timer_masked (); /* reset "advancing" timestamp to 0, set lastdec value */ else tmo += tmp; /* else, set advancing stamp wake up time */ diff --git a/cpu/arm926ejs/interrupts.c b/cpu/arm926ejs/interrupts.c index 4d6efeb..6167933 100644 --- a/cpu/arm926ejs/interrupts.c +++ b/cpu/arm926ejs/interrupts.c @@ -229,7 +229,7 @@ void udelay (unsigned long usec) } tmp = get_timer (0); /* get current timestamp */ - if( (tmo + tmp) < tmp ) /* if setting this fordward will roll time stamp */ + if( (tmo + tmp + 1) < tmp ) /* if setting this fordward will roll time stamp */ reset_timer_masked (); /* reset "advancing" timestamp to 0, set lastdec value */ else tmo += tmp; /* else, set advancing stamp wake up time */ diff --git a/cpu/nios/interrupts.c b/cpu/nios/interrupts.c index 450946b..4436805 100644 --- a/cpu/nios/interrupts.c +++ b/cpu/nios/interrupts.c @@ -30,6 +30,7 @@ #include #include #include +#include #ifdef CONFIG_STATUS_LED #include #endif @@ -54,6 +55,7 @@ void reset_timer (void) ulong get_timer (ulong base) { + WATCHDOG_RESET (); return (timestamp - base); } diff --git a/cpu/nios/serial.c b/cpu/nios/serial.c index 61b26ab..34257a2 100644 --- a/cpu/nios/serial.c +++ b/cpu/nios/serial.c @@ -23,6 +23,7 @@ #include +#include #include @@ -62,7 +63,7 @@ void serial_putc( char c ) if (c == '\n') serial_putc('\r'); while( (uart->status & NIOS_UART_TRDY) == 0 ) - ; + WATCHDOG_RESET (); uart->txdata = (unsigned char)c; } @@ -81,6 +82,6 @@ int serial_tstc( void ) int serial_getc( void ) { while( serial_tstc() == 0 ) - ; + WATCHDOG_RESET (); return( uart->rxdata & 0x00ff ); } diff --git a/cpu/ppc4xx/speed.c b/cpu/ppc4xx/speed.c index dfd2a04..e776050 100644 --- a/cpu/ppc4xx/speed.c +++ b/cpu/ppc4xx/speed.c @@ -299,6 +299,10 @@ ulong get_OPB_freq (void) return sys_info.freqOPB; } +#elif defined(CONFIG_XILINX_ML300) +extern void get_sys_info (sys_info_t * sysInfo); +extern ulong get_PCI_freq (void); + #elif defined(CONFIG_405) void get_sys_info (sys_info_t * sysInfo) { -- cgit v1.1