nuc910.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * linux/arch/arm/mach-w90x900/nuc910.c
  3. *
  4. * Based on linux/arch/arm/plat-s3c24xx/s3c244x.c by Ben Dooks
  5. *
  6. * Copyright (c) 2009 Nuvoton corporation.
  7. *
  8. * Wan ZongShun <mcuos.com@gmail.com>
  9. *
  10. * NUC910 cpu support
  11. *
  12. * This program is free software; you can redistribute it and/or modify
  13. * it under the terms of the GNU General Public License as published by
  14. * the Free Software Foundation;version 2 of the License.
  15. *
  16. */
  17. #include <linux/platform_device.h>
  18. #include <asm/mach/map.h>
  19. #include <mach/hardware.h>
  20. #include "cpu.h"
  21. #include "clock.h"
  22. /* define specific CPU platform device */
  23. static struct platform_device *nuc910_dev[] __initdata = {
  24. &nuc900_device_ts,
  25. &nuc900_device_rtc,
  26. &nuc900_device_lcd,
  27. &nuc900_device_kpi,
  28. };
  29. /* define specific CPU platform io map */
  30. static struct map_desc nuc910evb_iodesc[] __initdata = {
  31. IODESC_ENT(USBEHCIHOST),
  32. IODESC_ENT(USBOHCIHOST),
  33. IODESC_ENT(KPI),
  34. IODESC_ENT(USBDEV),
  35. IODESC_ENT(ADC),
  36. };
  37. /*Init NUC910 evb io*/
  38. void __init nuc910_map_io(void)
  39. {
  40. nuc900_map_io(nuc910evb_iodesc, ARRAY_SIZE(nuc910evb_iodesc));
  41. }
  42. /*Init NUC910 clock*/
  43. void __init nuc910_init_clocks(void)
  44. {
  45. nuc900_init_clocks();
  46. }
  47. /*Init NUC910 board info*/
  48. void __init nuc910_board_init(void)
  49. {
  50. nuc900_board_init(nuc910_dev, ARRAY_SIZE(nuc910_dev));
  51. }