uncompress.h 813 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. #ifndef __ASM_ARCH_UNCOMPRESS_H
  9. #define __ASM_ARCH_UNCOMPRESS_H
  10. #include <linux/io.h>
  11. #include <mach/hardware.h>
  12. #include <mach/uart.h>
  13. void arch_decomp_setup(void)
  14. {
  15. }
  16. #define arch_decomp_wdog()
  17. static __inline__ void putc(char c)
  18. {
  19. /*
  20. * during kernel decompression, all mappings are flat:
  21. * virt_addr == phys_addr
  22. */
  23. if (!SIRFSOC_UART1_PA_BASE)
  24. return;
  25. while (__raw_readl((void __iomem *)SIRFSOC_UART1_PA_BASE + SIRFSOC_UART_TXFIFO_STATUS)
  26. & SIRFSOC_UART1_TXFIFO_FULL)
  27. barrier();
  28. __raw_writel(c, (void __iomem *)SIRFSOC_UART1_PA_BASE + SIRFSOC_UART_TXFIFO_DATA);
  29. }
  30. static inline void flush(void)
  31. {
  32. }
  33. #endif