19 #include <linux/kernel.h>
26 #include <linux/input.h>
28 #include <linux/omapfb.h>
35 #include <mach/flash.h>
41 #include <mach/hardware.h>
48 #define INNOVATOR1610_ETHR_START 0x04000300
50 static const unsigned int innovator_keymap[] = {
103 .parts = innovator_partitions,
107 static struct resource innovator_flash_resource = {
114 .name =
"physmap-flash",
117 .platform_data = &innovator_flash_data,
120 .resource = &innovator_flash_resource,
123 static struct resource innovator_kp_resources[] = {
132 .keymap = innovator_keymap,
139 .keymap_data = &innovator_keymap_data,
144 .name =
"omap-keypad",
147 .platform_data = &innovator_kp_data,
149 .num_resources =
ARRAY_SIZE(innovator_kp_resources),
150 .resource = innovator_kp_resources,
159 #ifdef CONFIG_ARCH_OMAP15XX
175 static struct resource innovator1510_smc91x_resources[] = {
192 .platform_data = &innovator_smc91x_info,
194 .num_resources =
ARRAY_SIZE(innovator1510_smc91x_resources),
195 .resource = innovator1510_smc91x_resources,
199 .
name =
"lcd_inn1510",
204 .
name =
"spi_inn1510",
209 &innovator_flash_device,
210 &innovator1510_smc91x_device,
211 &innovator_kp_device,
212 &innovator1510_lcd_device,
213 &innovator1510_spi_device,
216 static int innovator_get_pendown_state(
void)
223 .vref_delay_usecs = 100,
226 .get_pendown_state = innovator_get_pendown_state,
229 static struct spi_board_info __initdata innovator1510_boardinfo[] = { {
231 .modalias =
"ads7846",
232 .platform_data = &innovator1510_ts_info,
234 .max_speed_hz = 120000
242 #ifdef CONFIG_ARCH_OMAP16XX
244 static struct resource innovator1610_smc91x_resources[] = {
259 .platform_data = &innovator_smc91x_info,
261 .num_resources =
ARRAY_SIZE(innovator1610_smc91x_resources),
262 .resource = innovator1610_smc91x_resources,
266 .
name =
"inn1610_lcd",
271 &innovator_flash_device,
272 &innovator1610_smc91x_device,
273 &innovator_kp_device,
274 &innovator1610_lcd_device,
279 static void __init innovator_init_smc91x(
void)
287 printk(
"Error requesting gpio 0 for smc91x irq\n");
293 #ifdef CONFIG_ARCH_OMAP15XX
307 .ctrl_name =
"internal",
311 #ifdef CONFIG_ARCH_OMAP16XX
316 #ifdef CONFIG_USB_GADGET_OMAP
319 #elif defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
328 .ctrl_name =
"internal",
332 #if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE)
334 static int mmc_set_power(
struct device *
dev,
int slot,
int power_on,
355 .set_power = mmc_set_power,
363 static void __init innovator_mmc_init(
void)
365 mmc_data[0] = &mmc1_data;
370 static inline void innovator_mmc_init(
void)
375 static void __init innovator_init(
void)
379 innovator_init_smc91x();
381 #ifdef CONFIG_ARCH_OMAP15XX
408 #ifdef CONFIG_ARCH_OMAP16XX
416 #ifdef CONFIG_ARCH_OMAP15XX
422 #ifdef CONFIG_ARCH_OMAP16XX
430 innovator_mmc_init();
438 static void __init innovator_map_io(
void)
446 pr_debug(
"Innovator FPGA Rev %d.%d Board Rev %d\n",
454 .atag_offset = 0x100,
455 .map_io = innovator_map_io,
459 .init_machine = innovator_init,