162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci *  arch/arm/mach-footbridge/include/mach/uncompress.h
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci *  Copyright (C) 1996-1999 Russell King
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci#include <asm/mach-types.h>
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/*
1062306a36Sopenharmony_ci * Note! This could cause problems on the NetWinder
1162306a36Sopenharmony_ci */
1262306a36Sopenharmony_ci#define DC21285_BASE ((volatile unsigned int *)0x42000160)
1362306a36Sopenharmony_ci#define SER0_BASE    ((volatile unsigned char *)0x7c0003f8)
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cistatic inline void putc(char c)
1662306a36Sopenharmony_ci{
1762306a36Sopenharmony_ci	if (machine_is_netwinder()) {
1862306a36Sopenharmony_ci		while ((SER0_BASE[5] & 0x60) != 0x60)
1962306a36Sopenharmony_ci			barrier();
2062306a36Sopenharmony_ci		SER0_BASE[0] = c;
2162306a36Sopenharmony_ci	} else {
2262306a36Sopenharmony_ci		while (DC21285_BASE[6] & 8);
2362306a36Sopenharmony_ci		DC21285_BASE[0] = c;
2462306a36Sopenharmony_ci	}
2562306a36Sopenharmony_ci}
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_cistatic inline void flush(void)
2862306a36Sopenharmony_ci{
2962306a36Sopenharmony_ci}
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci/*
3262306a36Sopenharmony_ci * nothing to do
3362306a36Sopenharmony_ci */
3462306a36Sopenharmony_ci#define arch_decomp_setup()
35