spear600_evb.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * arch/arm/mach-spear6xx/spear600_evb.c
  3. *
  4. * SPEAr600 evaluation board source file
  5. *
  6. * Copyright (C) 2009 ST Microelectronics
  7. * Viresh Kumar<viresh.kumar@st.com>
  8. *
  9. * This file is licensed under the terms of the GNU General Public
  10. * License version 2. This program is licensed "as is" without any
  11. * warranty of any kind, whether express or implied.
  12. */
  13. #include <asm/hardware/vic.h>
  14. #include <asm/mach/arch.h>
  15. #include <asm/mach-types.h>
  16. #include <mach/generic.h>
  17. #include <mach/hardware.h>
  18. static struct amba_device *amba_devs[] __initdata = {
  19. &gpio_device[0],
  20. &gpio_device[1],
  21. &gpio_device[2],
  22. &uart_device[0],
  23. &uart_device[1],
  24. };
  25. static struct platform_device *plat_devs[] __initdata = {
  26. };
  27. static void __init spear600_evb_init(void)
  28. {
  29. unsigned int i;
  30. /* call spear600 machine init function */
  31. spear600_init();
  32. /* Add Platform Devices */
  33. platform_add_devices(plat_devs, ARRAY_SIZE(plat_devs));
  34. /* Add Amba Devices */
  35. for (i = 0; i < ARRAY_SIZE(amba_devs); i++)
  36. amba_device_register(amba_devs[i], &iomem_resource);
  37. }
  38. MACHINE_START(SPEAR600, "ST-SPEAR600-EVB")
  39. .atag_offset = 0x100,
  40. .map_io = spear6xx_map_io,
  41. .init_irq = spear6xx_init_irq,
  42. .handle_irq = vic_handle_irq,
  43. .timer = &spear6xx_timer,
  44. .init_machine = spear600_evb_init,
  45. .restart = spear_restart,
  46. MACHINE_END