1 /* 2 * arch/arm/mach-prima2/include/mach/uncompress.h 3 * 4 * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company. 5 * 6 * Licensed under GPLv2 or later. 7 */ 8 9 #ifndef __ASM_ARCH_UNCOMPRESS_H 10 #define __ASM_ARCH_UNCOMPRESS_H 11 12 #include <linux/io.h> 13 #include <mach/hardware.h> 14 #include <mach/uart.h> 15 arch_decomp_setup(void)16void arch_decomp_setup(void) 17 { 18 } 19 20 #define arch_decomp_wdog() 21 putc(char c)22static __inline__ void putc(char c) 23 { 24 /* 25 * during kernel decompression, all mappings are flat: 26 * virt_addr == phys_addr 27 */ 28 while (__raw_readl(SIRFSOC_UART1_PA_BASE + SIRFSOC_UART_TXFIFO_STATUS) 29 & SIRFSOC_UART1_TXFIFO_FULL) 30 barrier(); 31 32 __raw_writel(c, SIRFSOC_UART1_PA_BASE + SIRFSOC_UART_TXFIFO_DATA); 33 } 34 flush(void)35static inline void flush(void) 36 { 37 } 38 39 #endif 40 41