29 #include <linux/kernel.h>
34 #include <linux/i2c.h>
37 #include <linux/omapfb.h>
49 #include <mach/flash.h>
53 #include <mach/hardware.h>
59 #define OMAP_OSK_ETHR_START 0x04800300
64 #define OSK_TPS_GPIO_BASE (OMAP_MAX_GPIO_LINES + 16 )
65 # define OSK_TPS_GPIO_USB_PWR_EN (OSK_TPS_GPIO_BASE + 0)
66 # define OSK_TPS_GPIO_LED_D3 (OSK_TPS_GPIO_BASE + 1)
67 # define OSK_TPS_GPIO_LAN_RESET (OSK_TPS_GPIO_BASE + 2)
68 # define OSK_TPS_GPIO_DSP_PWR_EN (OSK_TPS_GPIO_BASE + 3)
69 # define OSK_TPS_GPIO_LED_D9 (OSK_TPS_GPIO_BASE + 4)
70 # define OSK_TPS_GPIO_LED_D2 (OSK_TPS_GPIO_BASE + 5)
102 .parts = osk_partitions,
106 static struct resource osk_flash_resource = {
112 .name =
"physmap-flash",
115 .platform_data = &osk_flash_data,
118 .resource = &osk_flash_resource,
127 static struct resource osk5912_smc91x_resources[] = {
142 .platform_data = &osk5912_smc91x_info,
144 .num_resources =
ARRAY_SIZE(osk5912_smc91x_resources),
145 .resource = osk5912_smc91x_resources,
148 static struct resource osk5912_cf_resources[] = {
158 .platform_data = (
void *) 2 ,
161 .resource = osk5912_cf_resources,
165 &osk5912_flash_device,
166 &osk5912_smc91x_device,
170 static struct gpio_led tps_leds[] = {
175 .default_trigger =
"ide-disk", },
178 .default_trigger =
"heartbeat", },
189 .dev.platform_data = &tps_leds_data,
226 osk5912_tps_leds.
dev.parent = &client->
dev;
235 .setup = osk_tps_setup,
241 .platform_data = &tps_board,
252 static void __init osk_init_smc91x(
void)
257 printk(
"Error requesting gpio 0 for smc91x irq\n");
267 static void __init osk_init_cf(
void)
271 printk(
"Error requesting gpio 62 for CF irq\n");
283 #ifdef CONFIG_USB_GADGET_OMAP
294 #ifdef CONFIG_OMAP_OSK_MISTRAL
296 .ctrl_name =
"internal",
300 #ifdef CONFIG_OMAP_OSK_MISTRAL
302 #include <linux/input.h>
314 static struct i2c_board_info __initdata mistral_i2c_board_info[] = {
318 .platform_data = &at24c04,
325 static const unsigned int osk_keymap[] = {
346 .keymap_data = &osk_keymap_data,
350 static struct resource osk5912_kp_resources[] = {
359 .
name =
"omap-keypad",
362 .platform_data = &osk_kp_data,
364 .num_resources =
ARRAY_SIZE(osk5912_kp_resources),
365 .resource = osk5912_kp_resources,
376 .platform_data = &mistral_bl_data,
385 static struct gpio_led mistral_gpio_led_pins[] = {
387 .
name =
"mistral:red",
388 .default_trigger =
"heartbeat",
392 .name =
"mistral:green",
393 .default_trigger =
"cpu0",
399 .
leds = mistral_gpio_led_pins,
400 .num_leds =
ARRAY_SIZE(mistral_gpio_led_pins),
407 .platform_data = &mistral_gpio_led_data,
418 static int mistral_get_pendown_state(
void)
425 .vref_delay_usecs = 100,
428 .get_pendown_state = mistral_get_pendown_state,
434 .platform_data = &mistral_ts_info,
435 .max_speed_hz = 120000
443 osk_mistral_wake_interrupt(
int irq,
void *
ignored)
449 static void __init osk_mistral_init(
void)
485 pr_debug(
"OSK+Mistral: CAM_PWDN is awol\n");
520 &osk_mistral_wake_interrupt,
522 &osk_mistral_wake_interrupt);
528 enable_irq_wake(irq);
552 static void __init osk_mistral_init(
void) { }
555 #define EMIFS_CS3_VAL (0x88013141)
557 static void __init osk_init(
void)
573 osk_flash_resource.
end = osk_flash_resource.
start = omap_cs3_phys();
598 #ifdef CONFIG_OMAP_OSK_MISTRAL
606 .atag_offset = 0x100,
607 .map_io = omap16xx_map_io,
611 .init_machine = osk_init,