1/* 2 * linux/include/asm-arm/arch-cl7500/uncompress.h 3 * 4 * Copyright (C) 1999, 2000 Nexus Electronics Ltd. 5 */ 6#define BASE 0x03010000 7#define SERBASE (BASE + (0x2f8 << 2)) 8 9static inline void putc(char c) 10{ 11 while (!(*((volatile unsigned int *)(SERBASE + 0x14)) & 0x20)) 12 barrier(); 13 14 *((volatile unsigned int *)(SERBASE)) = c; 15} 16 17static inline void flush(void) 18{ 19} 20 21static __inline__ void arch_decomp_setup(void) 22{ 23 int baud = 3686400 / (9600 * 32); 24 25 *((volatile unsigned int *)(SERBASE + 0xC)) = 0x80; 26 *((volatile unsigned int *)(SERBASE + 0x0)) = baud & 0xff; 27 *((volatile unsigned int *)(SERBASE + 0x4)) = (baud & 0xff00) >> 8; 28 *((volatile unsigned int *)(SERBASE + 0xC)) = 3; /* 8 bits */ 29 *((volatile unsigned int *)(SERBASE + 0x10)) = 3; /* DTR, RTS */ 30} 31 32/* 33 * nothing to do 34 */ 35#define arch_decomp_wdog() 36