u300.c 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. *
  3. * arch/arm/mach-u300/u300.c
  4. *
  5. *
  6. * Copyright (C) 2006-2009 ST-Ericsson AB
  7. * License terms: GNU General Public License (GPL) version 2
  8. * Platform machine definition.
  9. * Author: Linus Walleij <linus.walleij@stericsson.com>
  10. */
  11. #include <linux/kernel.h>
  12. #include <linux/init.h>
  13. #include <linux/mm.h>
  14. #include <linux/sched.h>
  15. #include <linux/interrupt.h>
  16. #include <linux/ioport.h>
  17. #include <linux/memblock.h>
  18. #include <linux/platform_device.h>
  19. #include <linux/io.h>
  20. #include <mach/hardware.h>
  21. #include <mach/platform.h>
  22. #include <asm/mach-types.h>
  23. #include <asm/mach/arch.h>
  24. #include <asm/memory.h>
  25. static void __init u300_reserve(void)
  26. {
  27. /*
  28. * U300 - This platform family can share physical memory
  29. * between two ARM cpus, one running Linux and the other
  30. * running another OS.
  31. */
  32. #ifdef CONFIG_MACH_U300_SINGLE_RAM
  33. #if ((CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1) == 1) && \
  34. CONFIG_MACH_U300_2MB_ALIGNMENT_FIX
  35. memblock_reserve(PHYS_OFFSET, 0x00100000);
  36. #endif
  37. #endif
  38. }
  39. static void __init u300_init_machine(void)
  40. {
  41. u300_init_devices();
  42. }
  43. #ifdef CONFIG_MACH_U300_BS2X
  44. #define MACH_U300_STRING "Ericsson AB U300 S25/S26/B25/B26 Prototype Board"
  45. #endif
  46. #ifdef CONFIG_MACH_U300_BS330
  47. #define MACH_U300_STRING "Ericsson AB U330 S330/B330 Prototype Board"
  48. #endif
  49. #ifdef CONFIG_MACH_U300_BS335
  50. #define MACH_U300_STRING "Ericsson AB U335 S335/B335 Prototype Board"
  51. #endif
  52. #ifdef CONFIG_MACH_U300_BS365
  53. #define MACH_U300_STRING "Ericsson AB U365 S365/B365 Prototype Board"
  54. #endif
  55. MACHINE_START(U300, MACH_U300_STRING)
  56. /* Maintainer: Linus Walleij <linus.walleij@stericsson.com> */
  57. .boot_params = BOOT_PARAMS_OFFSET,
  58. .map_io = u300_map_io,
  59. .reserve = u300_reserve,
  60. .init_irq = u300_init_irq,
  61. .timer = &u300_timer,
  62. .init_machine = u300_init_machine,
  63. MACHINE_END