18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * arch/arm/mach-footbridge/include/mach/uncompress.h 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 1996-1999 Russell King 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci#include <asm/mach-types.h> 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci/* 108c2ecf20Sopenharmony_ci * Note! This could cause problems on the NetWinder 118c2ecf20Sopenharmony_ci */ 128c2ecf20Sopenharmony_ci#define DC21285_BASE ((volatile unsigned int *)0x42000160) 138c2ecf20Sopenharmony_ci#define SER0_BASE ((volatile unsigned char *)0x7c0003f8) 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_cistatic inline void putc(char c) 168c2ecf20Sopenharmony_ci{ 178c2ecf20Sopenharmony_ci if (machine_is_netwinder()) { 188c2ecf20Sopenharmony_ci while ((SER0_BASE[5] & 0x60) != 0x60) 198c2ecf20Sopenharmony_ci barrier(); 208c2ecf20Sopenharmony_ci SER0_BASE[0] = c; 218c2ecf20Sopenharmony_ci } else { 228c2ecf20Sopenharmony_ci while (DC21285_BASE[6] & 8); 238c2ecf20Sopenharmony_ci DC21285_BASE[0] = c; 248c2ecf20Sopenharmony_ci } 258c2ecf20Sopenharmony_ci} 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_cistatic inline void flush(void) 288c2ecf20Sopenharmony_ci{ 298c2ecf20Sopenharmony_ci} 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci/* 328c2ecf20Sopenharmony_ci * nothing to do 338c2ecf20Sopenharmony_ci */ 348c2ecf20Sopenharmony_ci#define arch_decomp_setup() 35