1/* 2 * Copyright (C) 2008 STMicroelectronics 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 */ 18 19#ifndef __ASM_ARCH_UNCOMPRESS_H 20#define __ASM_ARCH_UNCOMPRESS_H 21 22#include <asm/setup.h> 23#include <asm/io.h> 24#include <mach/hardware.h> 25 26/* we need the constants in amba/serial.h, but it refers to amba_device */ 27struct amba_device; 28#include <linux/amba/serial.h> 29 30#define NOMADIK_UART_DR 0x101FB000 31#define NOMADIK_UART_LCRH 0x101FB02c 32#define NOMADIK_UART_CR 0x101FB030 33#define NOMADIK_UART_FR 0x101FB018 34 35static void putc(const char c) 36{ 37 /* Do nothing if the UART is not enabled. */ 38 if (!(readb(NOMADIK_UART_CR) & UART01x_CR_UARTEN)) 39 return; 40 41 if (c == '\n') 42 putc('\r'); 43 44 while (readb(NOMADIK_UART_FR) & UART01x_FR_TXFF) 45 barrier(); 46 writeb(c, NOMADIK_UART_DR); 47} 48 49static void flush(void) 50{ 51 if (!(readb(NOMADIK_UART_CR) & UART01x_CR_UARTEN)) 52 return; 53 while (readb(NOMADIK_UART_FR) & UART01x_FR_BUSY) 54 barrier(); 55} 56 57static inline void arch_decomp_setup(void) 58{ 59} 60 61#define arch_decomp_wdog() /* nothing to do here */ 62 63#endif /* __ASM_ARCH_UNCOMPRESS_H */ 64