/* arch/arm/mach-zynq/include/mach/uncompress.h * * Copyright (C) 2011 Xilinx * * This software is licensed under the terms of the GNU General Public * License version 2, as published by the Free Software Foundation, and * may be copied, distributed, and modified under those terms. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #ifndef __MACH_UNCOMPRESS_H__ #define __MACH_UNCOMPRESS_H__ #include <linux/io.h> #include <asm/processor.h> #include <mach/zynq_soc.h> #include <mach/uart.h> void arch_decomp_setup(void) { } static inline void flush(void) { /* * Wait while the FIFO is not empty */ while (!(__raw_readl(IOMEM(LL_UART_PADDR + UART_SR_OFFSET)) & UART_SR_TXEMPTY)) cpu_relax(); } #define arch_decomp_wdog() static void putc(char ch) { /* * Wait for room in the FIFO, then write the char into the FIFO */ while (__raw_readl(IOMEM(LL_UART_PADDR + UART_SR_OFFSET)) & UART_SR_TXFULL) cpu_relax(); __raw_writel(ch, IOMEM(LL_UART_PADDR + UART_FIFO_OFFSET)); } #endif