15 #include <linux/kernel.h>
22 #include <linux/input.h>
42 #include <linux/export.h>
60 #define OMAP3_EVM_TS_GPIO 175
61 #define OMAP3_EVM_EHCI_VBUS 22
62 #define OMAP3_EVM_EHCI_SELECT 61
64 #define OMAP3EVM_ETHR_START 0x2c000000
65 #define OMAP3EVM_ETHR_SIZE 1024
66 #define OMAP3EVM_ETHR_ID_REV 0x50
67 #define OMAP3EVM_ETHR_GPIO_IRQ 176
68 #define OMAP3EVM_SMSC911X_CS 5
74 #define OMAP3EVM_GEN1_ETHR_GPIO_RST 64
75 #define OMAP3EVM_GEN2_ETHR_GPIO_RST 7
89 static u8 omap3_evm_version;
91 static u8 get_omap3_evm_rev(
void)
93 return omap3_evm_version;
96 static void __init omap3_evm_get_revision(
void)
120 #if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
130 static inline void __init omap3evm_init_smsc911x(
void)
144 static inline void __init omap3evm_init_smsc911x(
void) {
return; }
150 #define OMAP3EVM_LCD_PANEL_LR 2
151 #define OMAP3EVM_LCD_PANEL_UD 3
152 #define OMAP3EVM_LCD_PANEL_INI 152
153 #define OMAP3EVM_LCD_PANEL_ENVDD 153
154 #define OMAP3EVM_LCD_PANEL_QVGA 154
155 #define OMAP3EVM_LCD_PANEL_RESB 155
156 #define OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO 210
157 #define OMAP3EVM_DVI_PANEL_EN_GPIO 199
168 static int lcd_enabled;
169 static int dvi_enabled;
171 static void __init omap3_evm_display_init(
void)
212 .driver_name =
"sharp_ls_panel",
214 .phy.dpi.data_lines = 18,
215 .platform_enable = omap3_evm_enable_lcd,
216 .platform_disable = omap3_evm_disable_lcd,
230 .driver_name =
"venc",
233 .platform_enable = omap3_evm_enable_tv,
234 .platform_disable = omap3_evm_disable_tv,
244 .driver_name =
"tfp410",
246 .phy.dpi.data_lines = 24,
250 &omap3_evm_lcd_device,
251 &omap3_evm_tv_device,
252 &omap3_evm_dvi_device,
256 .num_devices =
ARRAY_SIZE(omap3_evm_dss_devices),
257 .devices = omap3_evm_dss_devices,
258 .default_device = &omap3_evm_lcd_device,
280 .num_consumer_supplies =
ARRAY_SIZE(omap3evm_vmmc1_supply),
281 .consumer_supplies = omap3evm_vmmc1_supply,
295 .num_consumer_supplies =
ARRAY_SIZE(omap3evm_vsim_supply),
296 .consumer_supplies = omap3evm_vsim_supply,
307 #ifdef CONFIG_WL12XX_PLATFORM_DATA
314 .nonremovable =
true,
320 static struct gpio_led gpio_leds[] = {
322 .name =
"omap3evm::ledb",
324 .default_trigger =
"default-on",
339 .platform_data = &gpio_led_info,
344 static int omap3evm_twl_gpio_setup(
struct device *
dev,
345 unsigned gpio,
unsigned ngpio)
351 omap_hsmmc_late_init(mmc);
376 #ifdef CONFIG_TWL4030_CORE
391 .setup = omap3evm_twl_gpio_setup,
417 .keymap = board_keymap,
422 .keymap_data = &board_map_data,
444 .num_consumer_supplies =
ARRAY_SIZE(omap3evm_vio_supply),
445 .consumer_supplies = omap3evm_vio_supply,
448 #ifdef CONFIG_WL12XX_PLATFORM_DATA
450 #define OMAP3EVM_WLAN_PMENA_GPIO (150)
451 #define OMAP3EVM_WLAN_IRQ_GPIO (149)
462 .num_consumer_supplies =
ARRAY_SIZE(omap3evm_vmmc2_supply),
463 .consumer_supplies = omap3evm_vmmc2_supply,
468 .microvolts = 1800000,
469 .gpio = OMAP3EVM_WLAN_PMENA_GPIO,
470 .startup_delay = 70000,
472 .enabled_at_boot = 0,
473 .init_data = &omap3evm_vmmc2,
477 .
name =
"reg-fixed-voltage",
480 .platform_data = &omap3evm_vwlan,
507 .num_consumer_supplies =
ARRAY_SIZE(omap3evm_vaux2_supplies),
508 .consumer_supplies = omap3evm_vaux2_supplies,
513 .keypad = &omap3evm_kp_data,
514 .gpio = &omap3evm_gpio_data,
515 .vio = &omap3evm_vio,
516 .vmmc1 = &omap3evm_vmmc1,
517 .vsim = &omap3evm_vsim,
520 static int __init omap3_evm_i2c_init(
void)
527 omap3evm_twldata.
vdac->constraints.apply_uV =
true;
528 omap3evm_twldata.
vpll2->constraints.apply_uV =
true;
530 omap3_pmic_init(
"twl4030", &omap3evm_twldata);
544 .reset_gpio_port[0] = -
EINVAL,
545 .reset_gpio_port[1] = -
EINVAL,
546 .reset_gpio_port[2] = -
EINVAL
549 #ifdef CONFIG_OMAP_MUX
561 #ifdef CONFIG_WL12XX_PLATFORM_DATA
599 #ifdef CONFIG_WL12XX_PLATFORM_DATA
618 #define omap35x_board_mux NULL
619 #define omap36x_board_mux NULL
622 static struct omap_musb_board_data musb_board_data = {
623 .interface_type = MUSB_INTERFACE_ULPI,
628 static struct gpio omap3_evm_ehci_gpios[] __initdata = {
633 static void __init omap3_evm_wl12xx_init(
void)
635 #ifdef CONFIG_WL12XX_PLATFORM_DATA
639 omap3evm_wlan_data.irq =
gpio_to_irq(OMAP3EVM_WLAN_IRQ_GPIO);
642 pr_err(
"error setting wl12xx data: %d\n", ret);
645 pr_err(
"error registering wl12xx device: %d\n", ret);
669 .name =
"U-Boot Env",
679 .name =
"File system",
685 static void __init omap3_evm_init(
void)
689 omap3_evm_get_revision();
696 omap_hsmmc_init(mmc);
699 omap3evm_twldata.
vaux2 = &omap3evm_vaux2;
701 omap3_evm_i2c_init();
722 usbhs_bdata.reset_gpio_port[1] = 21;
725 musb_board_data.power = 500;
726 musb_board_data.extvbus = 1;
730 usbhs_bdata.reset_gpio_port[1] = 135;
738 omap3evm_init_smsc911x();
739 omap3_evm_display_init();
740 omap3_evm_wl12xx_init();
746 .atag_offset = 0x100,
751 .handle_irq = omap3_intc_handle_irq,
752 .init_machine = omap3_evm_init,