board-palmte.c 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /*
  2. * linux/arch/arm/mach-omap1/board-palmte.c
  3. *
  4. * Modified from board-generic.c
  5. *
  6. * Support for the Palm Tungsten E PDA.
  7. *
  8. * Original version : Laurent Gonzalez
  9. *
  10. * Maintainers : http://palmtelinux.sf.net
  11. * palmtelinux-developpers@lists.sf.net
  12. *
  13. * This program is free software; you can redistribute it and/or modify
  14. * it under the terms of the GNU General Public License version 2 as
  15. * published by the Free Software Foundation.
  16. */
  17. #include <linux/kernel.h>
  18. #include <linux/init.h>
  19. #include <linux/platform_device.h>
  20. #include <linux/notifier.h>
  21. #include <linux/clk.h>
  22. #include <asm/hardware.h>
  23. #include <asm/mach-types.h>
  24. #include <asm/mach/arch.h>
  25. #include <asm/mach/map.h>
  26. #include <asm/arch/gpio.h>
  27. #include <asm/arch/mux.h>
  28. #include <asm/arch/usb.h>
  29. #include <asm/arch/board.h>
  30. #include <asm/arch/common.h>
  31. static void __init omap_generic_init_irq(void)
  32. {
  33. omap1_init_common_hw();
  34. omap_init_irq();
  35. }
  36. static struct platform_device palmte_lcd_device = {
  37. .name = "lcd_palmte",
  38. .id = -1,
  39. };
  40. static struct platform_device *devices[] __initdata = {
  41. &palmte_lcd_device,
  42. };
  43. static struct omap_usb_config palmte_usb_config __initdata = {
  44. .register_dev = 1,
  45. .hmc_mode = 0,
  46. .pins[0] = 3,
  47. };
  48. static struct omap_mmc_config palmte_mmc_config __initdata = {
  49. .mmc [0] = {
  50. .enabled = 1,
  51. .wire4 = 1,
  52. .wp_pin = OMAP_MPUIO(3),
  53. .power_pin = -1,
  54. .switch_pin = -1,
  55. },
  56. };
  57. static struct omap_lcd_config palmte_lcd_config __initdata = {
  58. .ctrl_name = "internal",
  59. };
  60. static struct omap_board_config_kernel palmte_config[] = {
  61. { OMAP_TAG_USB, &palmte_usb_config },
  62. { OMAP_TAG_MMC, &palmte_mmc_config },
  63. { OMAP_TAG_LCD, &palmte_lcd_config },
  64. };
  65. static void __init omap_generic_init(void)
  66. {
  67. omap_board_config = palmte_config;
  68. omap_board_config_size = ARRAY_SIZE(palmte_config);
  69. platform_add_devices(devices, ARRAY_SIZE(devices));
  70. }
  71. static void __init omap_generic_map_io(void)
  72. {
  73. omap1_map_common_io();
  74. }
  75. MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E")
  76. .phys_io = 0xfff00000,
  77. .io_pg_offst = ((0xfef00000) >> 18) & 0xfffc,
  78. .boot_params = 0x10000100,
  79. .map_io = omap_generic_map_io,
  80. .init_irq = omap_generic_init_irq,
  81. .init_machine = omap_generic_init,
  82. .timer = &omap_timer,
  83. MACHINE_END