1 /* 2 * arch/arm/mach-sa1100/include/mach/uncompress.h 3 * 4 * (C) 1999 Nicolas Pitre <nico@fluxnic.net> 5 * 6 * Reorganised to be machine independent. 7 */ 8 9 #include "hardware.h" 10 11 /* 12 * The following code assumes the serial port has already been 13 * initialized by the bootloader. We search for the first enabled 14 * port in the most probable order. If you didn't setup a port in 15 * your bootloader then nothing will appear (which might be desired). 16 */ 17 18 #define UART(x) (*(volatile unsigned long *)(serial_port + (x))) 19 20 static void putc(int c) 21 { 22 unsigned long serial_port; 23 24 do { 25 serial_port = _Ser3UTCR0; 26 if (UART(UTCR3) & UTCR3_TXE) break; 27 serial_port = _Ser1UTCR0; 28 if (UART(UTCR3) & UTCR3_TXE) break; 29 serial_port = _Ser2UTCR0; 30 if (UART(UTCR3) & UTCR3_TXE) break; 31 return; 32 } while (0); 33 34 /* wait for space in the UART's transmitter */ 35 while (!(UART(UTSR1) & UTSR1_TNF)) 36 barrier(); 37 38 /* send the character out. */ 39 UART(UTDR) = c; 40 } 41 42 static inline void flush(void) 43 { 44 } 45 46 /* 47 * Nothing to do for these 48 */ 49 #define arch_decomp_setup() 50 #define arch_decomp_wdog() 51