xref: /openbmc/linux/arch/arm/mach-footbridge/include/mach/uncompress.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2a09e64fbSRussell King /*
3a09e64fbSRussell King  *  arch/arm/mach-footbridge/include/mach/uncompress.h
4a09e64fbSRussell King  *
5a09e64fbSRussell King  *  Copyright (C) 1996-1999 Russell King
6a09e64fbSRussell King  */
7a09e64fbSRussell King #include <asm/mach-types.h>
8a09e64fbSRussell King 
9a09e64fbSRussell King /*
10a09e64fbSRussell King  * Note! This could cause problems on the NetWinder
11a09e64fbSRussell King  */
12a09e64fbSRussell King #define DC21285_BASE ((volatile unsigned int *)0x42000160)
13a09e64fbSRussell King #define SER0_BASE    ((volatile unsigned char *)0x7c0003f8)
14a09e64fbSRussell King 
putc(char c)15a09e64fbSRussell King static inline void putc(char c)
16a09e64fbSRussell King {
17a09e64fbSRussell King 	if (machine_is_netwinder()) {
18a09e64fbSRussell King 		while ((SER0_BASE[5] & 0x60) != 0x60)
19a09e64fbSRussell King 			barrier();
20a09e64fbSRussell King 		SER0_BASE[0] = c;
21a09e64fbSRussell King 	} else {
22a09e64fbSRussell King 		while (DC21285_BASE[6] & 8);
23a09e64fbSRussell King 		DC21285_BASE[0] = c;
24a09e64fbSRussell King 	}
25a09e64fbSRussell King }
26a09e64fbSRussell King 
flush(void)27a09e64fbSRussell King static inline void flush(void)
28a09e64fbSRussell King {
29a09e64fbSRussell King }
30a09e64fbSRussell King 
31a09e64fbSRussell King /*
32a09e64fbSRussell King  * nothing to do
33a09e64fbSRussell King  */
34a09e64fbSRussell King #define arch_decomp_setup()
35