mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 20:53:53 +08:00
a081568d70
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>
36 lines
819 B
C
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()
|