|  | @@ -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)
 |