board-am3517evm.c 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /*
  2. * linux/arch/arm/mach-omap2/board-am3517evm.c
  3. *
  4. * Copyright (C) 2009 Texas Instruments Incorporated
  5. * Author: Ranjith Lohithakshan <ranjithl@ti.com>
  6. *
  7. * Based on mach-omap2/board-omap3evm.c
  8. *
  9. * This program is free software; you can redistribute it and/or modify it
  10. * under the terms of the GNU General Public License as published by the
  11. * Free Software Foundation version 2.
  12. *
  13. * This program is distributed "as is" WITHOUT ANY WARRANTY of any kind,
  14. * whether express or implied; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  16. * General Public License for more details.
  17. */
  18. #include <linux/kernel.h>
  19. #include <linux/init.h>
  20. #include <linux/platform_device.h>
  21. #include <linux/gpio.h>
  22. #include <mach/hardware.h>
  23. #include <asm/mach-types.h>
  24. #include <asm/mach/arch.h>
  25. #include <asm/mach/map.h>
  26. #include <plat/board.h>
  27. #include <plat/common.h>
  28. #include <plat/usb.h>
  29. #include "mux.h"
  30. /*
  31. * Board initialization
  32. */
  33. static struct omap_board_config_kernel am3517_evm_config[] __initdata = {
  34. };
  35. static struct platform_device *am3517_evm_devices[] __initdata = {
  36. };
  37. static void __init am3517_evm_init_irq(void)
  38. {
  39. omap_board_config = am3517_evm_config;
  40. omap_board_config_size = ARRAY_SIZE(am3517_evm_config);
  41. omap2_init_common_hw(NULL, NULL);
  42. omap_init_irq();
  43. omap_gpio_init();
  44. }
  45. static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
  46. .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
  47. .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
  48. .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
  49. .phy_reset = true,
  50. .reset_gpio_port[0] = 57,
  51. .reset_gpio_port[1] = -EINVAL,
  52. .reset_gpio_port[2] = -EINVAL
  53. };
  54. #ifdef CONFIG_OMAP_MUX
  55. static struct omap_board_mux board_mux[] __initdata = {
  56. { .reg_offset = OMAP_MUX_TERMINATOR },
  57. };
  58. #else
  59. #define board_mux NULL
  60. #endif
  61. static void __init am3517_evm_init(void)
  62. {
  63. omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
  64. platform_add_devices(am3517_evm_devices,
  65. ARRAY_SIZE(am3517_evm_devices));
  66. omap_serial_init();
  67. usb_ehci_init(&ehci_pdata);
  68. }
  69. static void __init am3517_evm_map_io(void)
  70. {
  71. omap2_set_globals_343x();
  72. omap2_map_common_io();
  73. }
  74. MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM")
  75. .phys_io = 0x48000000,
  76. .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc,
  77. .boot_params = 0x80000100,
  78. .map_io = am3517_evm_map_io,
  79. .init_irq = am3517_evm_init_irq,
  80. .init_machine = am3517_evm_init,
  81. .timer = &omap_timer,
  82. MACHINE_END