|
@@ -0,0 +1,94 @@
|
|
|
|
+/*
|
|
|
|
+ * Board-specific setup code for the AT91SAM9M10G45 Evaluation Kit family
|
|
|
|
+ *
|
|
|
|
+ * Covers: * AT91SAM9G45-EKES board
|
|
|
|
+ * * AT91SAM9M10G45-EK board
|
|
|
|
+ *
|
|
|
|
+ * Copyright (C) 2009 Atmel Corporation.
|
|
|
|
+ *
|
|
|
|
+ * This program is free software; you can redistribute it and/or modify
|
|
|
|
+ * it under the terms of the GNU General Public License as published by
|
|
|
|
+ * the Free Software Foundation; either version 2 of the License, or
|
|
|
|
+ * (at your option) any later version.
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+#include <linux/types.h>
|
|
|
|
+#include <linux/gpio.h>
|
|
|
|
+#include <linux/init.h>
|
|
|
|
+#include <linux/mm.h>
|
|
|
|
+#include <linux/module.h>
|
|
|
|
+#include <linux/platform_device.h>
|
|
|
|
+#include <linux/spi/spi.h>
|
|
|
|
+#include <linux/fb.h>
|
|
|
|
+#include <linux/gpio_keys.h>
|
|
|
|
+#include <linux/input.h>
|
|
|
|
+#include <linux/leds.h>
|
|
|
|
+#include <linux/atmel-mci.h>
|
|
|
|
+#include <linux/delay.h>
|
|
|
|
+
|
|
|
|
+#include <linux/platform_data/at91_adc.h>
|
|
|
|
+
|
|
|
|
+#include <mach/hardware.h>
|
|
|
|
+#include <video/atmel_lcdc.h>
|
|
|
|
+#include <media/soc_camera.h>
|
|
|
|
+#include <media/atmel-isi.h>
|
|
|
|
+
|
|
|
|
+#include <asm/setup.h>
|
|
|
|
+#include <asm/mach-types.h>
|
|
|
|
+#include <asm/irq.h>
|
|
|
|
+
|
|
|
|
+#include <asm/mach/arch.h>
|
|
|
|
+#include <asm/mach/map.h>
|
|
|
|
+#include <asm/mach/irq.h>
|
|
|
|
+
|
|
|
|
+#include <mach/at91sam9_smc.h>
|
|
|
|
+#include <mach/system_rev.h>
|
|
|
|
+
|
|
|
|
+#include "at91_aic.h"
|
|
|
|
+#include "at91_shdwc.h"
|
|
|
|
+#include "board.h"
|
|
|
|
+#include "sam9_smc.h"
|
|
|
|
+#include "generic.h"
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+static void __init ek_init_early(void)
|
|
|
|
+{
|
|
|
|
+ /* Initialize processor: 12.000 MHz crystal */
|
|
|
|
+ at91_initialize(12000000);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * USB HS Host port (common to OHCI & EHCI)
|
|
|
|
+ */
|
|
|
|
+static struct at91_usbh_data __initdata ek_usbh_hs_data = {
|
|
|
|
+ .ports = 2,
|
|
|
|
+ .vbus_pin = {AT91_PIN_PD1, AT91_PIN_PD3},
|
|
|
|
+ .vbus_pin_active_low = {1, 1},
|
|
|
|
+ .overcurrent_pin= {-EINVAL, -EINVAL},
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * USB HS Device port
|
|
|
|
+ */
|
|
|
|
+static struct usba_platform_data __initdata ek_usba_udc_data = {
|
|
|
|
+ .vbus_pin = AT91_PIN_PB19,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * SPI devices.
|
|
|
|
+ */
|
|
|
|
+static struct spi_board_info ek_spi_devices[] = {
|
|
|
|
+ { /* DataFlash chip */
|
|
|
|
+ .modalias = "mtd_dataflash",
|
|
|
|
+ .chip_select = 0,
|
|
|
|
+ .max_speed_hz = 15 * 1000 * 1000,
|
|
|
|
+ .bus_num = 0,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * MCI (SD/MMC)
|