uncompress.h 982 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * linux/include/asm-arm/arch-l7200/uncompress.h
  3. *
  4. * Copyright (C) 2000 Steve Hill (sjhill@cotw.com)
  5. *
  6. * Changelog:
  7. * 05-01-2000 SJH Created
  8. * 05-13-2000 SJH Filled in function bodies
  9. * 07-26-2000 SJH Removed hard coded buad rate
  10. */
  11. #include <asm/hardware.h>
  12. #define IO_UART IO_START + 0x00044000
  13. #define __raw_writeb(v,p) (*(volatile unsigned char *)(p) = (v))
  14. #define __raw_readb(p) (*(volatile unsigned char *)(p))
  15. static __inline__ void putc(char c)
  16. {
  17. while(__raw_readb(IO_UART + 0x18) & 0x20 ||
  18. __raw_readb(IO_UART + 0x18) & 0x08);
  19. __raw_writeb(c, IO_UART + 0x00);
  20. }
  21. static void putstr(const char *s)
  22. {
  23. while (*s) {
  24. if (*s == 10) { /* If a LF, add CR */
  25. putc(10);
  26. putc(13);
  27. }
  28. putc(*(s++));
  29. }
  30. }
  31. static __inline__ void arch_decomp_setup(void)
  32. {
  33. __raw_writeb(0x00, IO_UART + 0x08); /* Set HSB */
  34. __raw_writeb(0x00, IO_UART + 0x20); /* Disable IRQs */
  35. __raw_writeb(0x01, IO_UART + 0x14); /* Enable UART */
  36. }
  37. #define arch_decomp_wdog()