2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-23 20:53:53 +08:00
linux-next/include/asm-arm/arch-cl7500/uncompress.h
Russell King a081568d70 [ARM] Fix decompressor serial IO to give CRLF not LFCR
As per the corresponding change to the serial drivers, arrange
for ARM decompressors to give CRLF.  Move the common putstr code
into misc.c such that machines only need to supply "putc" and
"flush" functions.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-28 10:24:33 +01:00

36 lines
819 B
C

/*
* linux/include/asm-arm/arch-cl7500/uncompress.h
*
* Copyright (C) 1999, 2000 Nexus Electronics Ltd.
*/
#define BASE 0x03010000
#define SERBASE (BASE + (0x2f8 << 2))
static inline void putc(char c)
{
while (!(*((volatile unsigned int *)(SERBASE + 0x14)) & 0x20))
barrier();
*((volatile unsigned int *)(SERBASE)) = c;
}
static inline void flush(void)
{
}
static __inline__ void arch_decomp_setup(void)
{
int baud = 3686400 / (9600 * 32);
*((volatile unsigned int *)(SERBASE + 0xC)) = 0x80;
*((volatile unsigned int *)(SERBASE + 0x0)) = baud & 0xff;
*((volatile unsigned int *)(SERBASE + 0x4)) = (baud & 0xff00) >> 8;
*((volatile unsigned int *)(SERBASE + 0xC)) = 3; /* 8 bits */
*((volatile unsigned int *)(SERBASE + 0x10)) = 3; /* DTR, RTS */
}
/*
* nothing to do
*/
#define arch_decomp_wdog()