1 /* 2 * arch/arm/mach-clps711x/include/mach/uncompress.h 3 * 4 * Copyright (C) 2000 Deep Blue Solutions Ltd 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 */ 20 #include <mach/clps711x.h> 21 22 #ifdef CONFIG_DEBUG_CLPS711X_UART2 23 #define SYSFLGx SYSFLG2 24 #define UARTDRx UARTDR2 25 #else 26 #define SYSFLGx SYSFLG1 27 #define UARTDRx UARTDR1 28 #endif 29 30 #define phys_reg(x) (*(volatile u32 *)(CLPS711X_PHYS_BASE + (x))) 31 32 /* 33 * The following code assumes the serial port has already been 34 * initialized by the bootloader. If you didn't setup a port in 35 * your bootloader then nothing will appear (which might be desired). 36 * 37 * This does not append a newline 38 */ putc(int c)39static inline void putc(int c) 40 { 41 while (phys_reg(SYSFLGx) & SYSFLG_UTXFF) 42 barrier(); 43 phys_reg(UARTDRx) = c; 44 } 45 flush(void)46static inline void flush(void) 47 { 48 while (phys_reg(SYSFLGx) & SYSFLG_UBUSY) 49 barrier(); 50 } 51 52 /* 53 * nothing to do 54 */ 55 #define arch_decomp_setup() 56