cpu.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * arch/arm/mach-nuc93x/cpu.h
  3. *
  4. * Copyright (c) 2008 Nuvoton technology corporation
  5. * All rights reserved.
  6. *
  7. * Header file for NUC93X CPU support
  8. *
  9. * Wan ZongShun <mcuos.com@gmail.com>
  10. *
  11. * This program is free software; you can redistribute it and/or modify
  12. * it under the terms of the GNU General Public License version 2 as
  13. * published by the Free Software Foundation.
  14. *
  15. */
  16. #define IODESC_ENT(y) \
  17. { \
  18. .virtual = (unsigned long)NUC93X_VA_##y, \
  19. .pfn = __phys_to_pfn(NUC93X_PA_##y), \
  20. .length = NUC93X_SZ_##y, \
  21. .type = MT_DEVICE, \
  22. }
  23. #define NUC93X_8250PORT(name) \
  24. { \
  25. .membase = name##_BA, \
  26. .mapbase = name##_PA, \
  27. .irq = IRQ_##name, \
  28. .uartclk = 57139200, \
  29. .regshift = 2, \
  30. .iotype = UPIO_MEM, \
  31. .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, \
  32. }
  33. /*Cpu identifier register*/
  34. #define NUC93XPDID NUC93X_VA_GCR
  35. #define NUC932_CPUID 0x29550091
  36. /* extern file from cpu.c */
  37. extern void nuc93x_clock_source(struct device *dev, unsigned char *src);
  38. extern void nuc93x_init_clocks(void);
  39. extern void nuc93x_map_io(struct map_desc *mach_desc, int mach_size);
  40. extern void nuc93x_board_init(struct platform_device **device, int size);
  41. extern struct platform_device nuc93x_serial_device;