main.c 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /*
  2. * Board-specific setup code for the AT91SAM9M10G45 Evaluation Kit family
  3. *
  4. * Covers: * AT91SAM9G45-EKES board
  5. * * AT91SAM9M10G45-EK board
  6. *
  7. * Copyright (C) 2009 Atmel Corporation.
  8. *
  9. * This program is free software; you can redistribute it and/or modify
  10. * it under the terms of the GNU General Public License as published by
  11. * the Free Software Foundation; either version 2 of the License, or
  12. * (at your option) any later version.
  13. *
  14. */
  15. #include <linux/types.h>
  16. #include <linux/gpio.h>
  17. #include <linux/init.h>
  18. #include <linux/mm.h>
  19. #include <linux/module.h>
  20. #include <linux/platform_device.h>
  21. #include <linux/spi/spi.h>
  22. #include <linux/fb.h>
  23. #include <linux/gpio_keys.h>
  24. #include <linux/input.h>
  25. #include <linux/leds.h>
  26. #include <linux/atmel-mci.h>
  27. #include <linux/delay.h>
  28. #include <linux/platform_data/at91_adc.h>
  29. #include <mach/hardware.h>
  30. #include <video/atmel_lcdc.h>
  31. #include <media/soc_camera.h>
  32. #include <media/atmel-isi.h>
  33. #include <asm/setup.h>
  34. #include <asm/mach-types.h>
  35. #include <asm/irq.h>
  36. #include <asm/mach/arch.h>
  37. #include <asm/mach/map.h>
  38. #include <asm/mach/irq.h>
  39. #include <mach/at91sam9_smc.h>
  40. #include <mach/system_rev.h>
  41. #include "at91_aic.h"
  42. #include "at91_shdwc.h"
  43. #include "board.h"
  44. #include "sam9_smc.h"
  45. #include "generic.h"
  46. static void __init ek_init_early(void)
  47. {
  48. /* Initialize processor: 12.000 MHz crystal */
  49. at91_initialize(12000000);
  50. }
  51. /*
  52. * USB HS Host port (common to OHCI & EHCI)
  53. */
  54. static struct at91_usbh_data __initdata ek_usbh_hs_data = {
  55. .ports = 2,
  56. .vbus_pin = {AT91_PIN_PD1, AT91_PIN_PD3},
  57. .vbus_pin_active_low = {1, 1},
  58. .overcurrent_pin= {-EINVAL, -EINVAL},
  59. };
  60. /*
  61. * USB HS Device port
  62. */
  63. static struct usba_platform_data __initdata ek_usba_udc_data = {
  64. .vbus_pin = AT91_PIN_PB19,
  65. };
  66. /*
  67. * SPI devices.
  68. */
  69. static struct spi_board_info ek_spi_devices[] = {
  70. { /* DataFlash chip */
  71. .modalias = "mtd_dataflash",
  72. .chip_select = 0,
  73. .max_speed_hz = 15 * 1000 * 1000,
  74. .bus_num = 0,
  75. },
  76. };
  77. /*
  78. * MCI (SD/MMC)