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 #define IOMEM(x) (x) 12 13 /* 14 * The following code assumes the serial port has already been 15 * initialized by the bootloader. We search for the first enabled 16 * port in the most probable order. If you didn't setup a port in 17 * your bootloader then nothing will appear (which might be desired). 18 */ 19 20 #define UART(x) (*(volatile unsigned long *)(serial_port + (x))) 21 22 static inline void putc(int c) 23 { 24 unsigned long serial_port; 25 26 do { 27 serial_port = _Ser3UTCR0; 28 if (UART(UTCR3) & UTCR3_TXE) break; 29 serial_port = _Ser1UTCR0; 30 if (UART(UTCR3) & UTCR3_TXE) break; 31 serial_port = _Ser2UTCR0; 32 if (UART(UTCR3) & UTCR3_TXE) break; 33 return; 34 } while (0); 35 36 /* wait for space in the UART's transmitter */ 37 while (!(UART(UTSR1) & UTSR1_TNF)) 38 barrier(); 39 40 /* send the character out. */ 41 UART(UTDR) = c; 42 } 43 44 static inline void flush(void) 45 { 46 } 47 48 /* 49 * Nothing to do for these 50 */ 51 #define arch_decomp_setup() 52