diff options
Diffstat (limited to 'include/asm-arm/arch-sa1100/uncompress.h')
-rw-r--r-- | include/asm-arm/arch-sa1100/uncompress.h | 71 |
1 files changed, 32 insertions, 39 deletions
diff --git a/include/asm-arm/arch-sa1100/uncompress.h b/include/asm-arm/arch-sa1100/uncompress.h index 33ced71ba..69b3140d3 100644 --- a/include/asm-arm/arch-sa1100/uncompress.h +++ b/include/asm-arm/arch-sa1100/uncompress.h @@ -2,58 +2,51 @@ * linux/include/asm-arm/arch-brutus/uncompress.h * * (C) 1999 Nicolas Pitre <nico@cam.org> + * + * Reorganised to use machine_is_*() macros. */ -#include <linux/config.h> - -#if defined(CONFIG_SA1100_EMPEG) || \ - defined(CONFIG_SA1100_VICTOR) || \ - defined(CONFIG_SA1100_LART) -#define SERBASE _Ser3UTCR0; -#elif defined(CONFIG_SA1100_BRUTUS) -#define SERBASE _Ser1UTCR0; -#endif - - -#ifdef SERBASE - #include "hardware.h" #include "serial_reg.h" -static volatile unsigned long* serial_port = (unsigned long*)SERBASE; - /* * The following code assumes the serial port has already been * initialized by the bootloader or such... */ - static void puts( const char *s ) { - int i; - - for (i = 0; *s; i++, s++) { - /* wait for space in the UART's transmiter */ - while( !(serial_port[UTSR1] & UTSR1_TNF) ); - - /* send the character out. */ - serial_port[UART_TX] = *s; - - /* if a LF, also do CR... */ - if (*s == 10) { - while( !(serial_port[UTSR1] & UTSR1_TNF) ); - serial_port[UART_TX] = 13; + volatile unsigned long *serial_port; + + if (machine_is_assabet()) { + if (0/*SA1111 connected*/) + serial_port = (unsigned long *)_Ser3UTCR0; + else + serial_port = (unsigned long *)_Ser1UTCR0; + } else if (machine_is_brutus()) + serial_port = (unsigned long *)_Ser1UTCR0; + else if (machine_is_empeg() || machine_is_bitsy() || + machine_is_victor() || machine_is_lart()) + serial_port = (unsigned long *)_Ser3UTCR0; + else + return; + + for (; *s; s++) { + /* wait for space in the UART's transmiter */ + while (!(serial_port[UTSR1] & UTSR1_TNF)); + + /* send the character out. */ + serial_port[UART_TX] = *s; + + /* if a LF, also do CR... */ + if (*s == 10) { + while (!(serial_port[UTSR1] & UTSR1_TNF)); + serial_port[UART_TX] = 13; + } } - } } -#else - -static inline void puts( const char *s ) {} - -#endif - - -/* Nothing to do for these */ +/* + * Nothing to do for these + */ #define arch_decomp_setup() #define arch_decomp_wdog() - |