1 /* 2 * linux/include/asm-arm/arch-brutus/uncompress.h 3 * 4 * (C) 1999 Nicolas Pitre <nico@cam.org> 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 puts(const char * s)20static void puts( const char *s ) 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 for (; *s; s++) { 35 /* wait for space in the UART's transmiter */ 36 while (!(UART(UTSR1) & UTSR1_TNF)) 37 barrier(); 38 39 /* send the character out. */ 40 UART(UTDR) = *s; 41 42 /* if a LF, also do CR... */ 43 if (*s == 10) { 44 while (!(UART(UTSR1) & UTSR1_TNF)) 45 barrier(); 46 UART(UTDR) = 13; 47 } 48 } 49 } 50 51 /* 52 * Nothing to do for these 53 */ 54 #define arch_decomp_setup() 55 #define arch_decomp_wdog() 56