diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-omap3evm.c')
-rw-r--r-- | arch/arm/mach-omap2/board-omap3evm.c | 197 |
1 files changed, 185 insertions, 12 deletions
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index c2a0fca4aa53..d4a115712290 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
@@ -30,6 +30,8 @@ | |||
30 | #include <linux/usb/otg.h> | 30 | #include <linux/usb/otg.h> |
31 | #include <linux/smsc911x.h> | 31 | #include <linux/smsc911x.h> |
32 | 32 | ||
33 | #include <linux/wl12xx.h> | ||
34 | #include <linux/regulator/fixed.h> | ||
33 | #include <linux/regulator/machine.h> | 35 | #include <linux/regulator/machine.h> |
34 | #include <linux/mmc/host.h> | 36 | #include <linux/mmc/host.h> |
35 | 37 | ||
@@ -58,6 +60,13 @@ | |||
58 | #define OMAP3EVM_ETHR_ID_REV 0x50 | 60 | #define OMAP3EVM_ETHR_ID_REV 0x50 |
59 | #define OMAP3EVM_ETHR_GPIO_IRQ 176 | 61 | #define OMAP3EVM_ETHR_GPIO_IRQ 176 |
60 | #define OMAP3EVM_SMSC911X_CS 5 | 62 | #define OMAP3EVM_SMSC911X_CS 5 |
63 | /* | ||
64 | * Eth Reset signal | ||
65 | * 64 = Generation 1 (<=RevD) | ||
66 | * 7 = Generation 2 (>=RevE) | ||
67 | */ | ||
68 | #define OMAP3EVM_GEN1_ETHR_GPIO_RST 64 | ||
69 | #define OMAP3EVM_GEN2_ETHR_GPIO_RST 7 | ||
61 | 70 | ||
62 | static u8 omap3_evm_version; | 71 | static u8 omap3_evm_version; |
63 | 72 | ||
@@ -124,10 +133,15 @@ static struct platform_device omap3evm_smsc911x_device = { | |||
124 | 133 | ||
125 | static inline void __init omap3evm_init_smsc911x(void) | 134 | static inline void __init omap3evm_init_smsc911x(void) |
126 | { | 135 | { |
127 | int eth_cs; | 136 | int eth_cs, eth_rst; |
128 | struct clk *l3ck; | 137 | struct clk *l3ck; |
129 | unsigned int rate; | 138 | unsigned int rate; |
130 | 139 | ||
140 | if (get_omap3_evm_rev() == OMAP3EVM_BOARD_GEN_1) | ||
141 | eth_rst = OMAP3EVM_GEN1_ETHR_GPIO_RST; | ||
142 | else | ||
143 | eth_rst = OMAP3EVM_GEN2_ETHR_GPIO_RST; | ||
144 | |||
131 | eth_cs = OMAP3EVM_SMSC911X_CS; | 145 | eth_cs = OMAP3EVM_SMSC911X_CS; |
132 | 146 | ||
133 | l3ck = clk_get(NULL, "l3_ck"); | 147 | l3ck = clk_get(NULL, "l3_ck"); |
@@ -136,6 +150,27 @@ static inline void __init omap3evm_init_smsc911x(void) | |||
136 | else | 150 | else |
137 | rate = clk_get_rate(l3ck); | 151 | rate = clk_get_rate(l3ck); |
138 | 152 | ||
153 | /* Configure ethernet controller reset gpio */ | ||
154 | if (cpu_is_omap3430()) { | ||
155 | if (gpio_request(eth_rst, "SMSC911x gpio") < 0) { | ||
156 | pr_err(KERN_ERR "Failed to request %d for smsc911x\n", | ||
157 | eth_rst); | ||
158 | return; | ||
159 | } | ||
160 | |||
161 | if (gpio_direction_output(eth_rst, 1) < 0) { | ||
162 | pr_err(KERN_ERR "Failed to set direction of %d for" \ | ||
163 | " smsc911x\n", eth_rst); | ||
164 | return; | ||
165 | } | ||
166 | /* reset pulse to ethernet controller*/ | ||
167 | usleep_range(150, 220); | ||
168 | gpio_set_value(eth_rst, 0); | ||
169 | usleep_range(150, 220); | ||
170 | gpio_set_value(eth_rst, 1); | ||
171 | usleep_range(1, 2); | ||
172 | } | ||
173 | |||
139 | if (gpio_request(OMAP3EVM_ETHR_GPIO_IRQ, "SMSC911x irq") < 0) { | 174 | if (gpio_request(OMAP3EVM_ETHR_GPIO_IRQ, "SMSC911x irq") < 0) { |
140 | printk(KERN_ERR "Failed to request GPIO%d for smsc911x IRQ\n", | 175 | printk(KERN_ERR "Failed to request GPIO%d for smsc911x IRQ\n", |
141 | OMAP3EVM_ETHR_GPIO_IRQ); | 176 | OMAP3EVM_ETHR_GPIO_IRQ); |
@@ -235,9 +270,9 @@ static int omap3_evm_enable_lcd(struct omap_dss_device *dssdev) | |||
235 | gpio_set_value(OMAP3EVM_LCD_PANEL_ENVDD, 0); | 270 | gpio_set_value(OMAP3EVM_LCD_PANEL_ENVDD, 0); |
236 | 271 | ||
237 | if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2) | 272 | if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2) |
238 | gpio_set_value(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 0); | 273 | gpio_set_value_cansleep(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 0); |
239 | else | 274 | else |
240 | gpio_set_value(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 1); | 275 | gpio_set_value_cansleep(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 1); |
241 | 276 | ||
242 | lcd_enabled = 1; | 277 | lcd_enabled = 1; |
243 | return 0; | 278 | return 0; |
@@ -248,9 +283,9 @@ static void omap3_evm_disable_lcd(struct omap_dss_device *dssdev) | |||
248 | gpio_set_value(OMAP3EVM_LCD_PANEL_ENVDD, 1); | 283 | gpio_set_value(OMAP3EVM_LCD_PANEL_ENVDD, 1); |
249 | 284 | ||
250 | if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2) | 285 | if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2) |
251 | gpio_set_value(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 1); | 286 | gpio_set_value_cansleep(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 1); |
252 | else | 287 | else |
253 | gpio_set_value(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 0); | 288 | gpio_set_value_cansleep(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 0); |
254 | 289 | ||
255 | lcd_enabled = 0; | 290 | lcd_enabled = 0; |
256 | } | 291 | } |
@@ -289,7 +324,7 @@ static int omap3_evm_enable_dvi(struct omap_dss_device *dssdev) | |||
289 | return -EINVAL; | 324 | return -EINVAL; |
290 | } | 325 | } |
291 | 326 | ||
292 | gpio_set_value(OMAP3EVM_DVI_PANEL_EN_GPIO, 1); | 327 | gpio_set_value_cansleep(OMAP3EVM_DVI_PANEL_EN_GPIO, 1); |
293 | 328 | ||
294 | dvi_enabled = 1; | 329 | dvi_enabled = 1; |
295 | return 0; | 330 | return 0; |
@@ -297,7 +332,7 @@ static int omap3_evm_enable_dvi(struct omap_dss_device *dssdev) | |||
297 | 332 | ||
298 | static void omap3_evm_disable_dvi(struct omap_dss_device *dssdev) | 333 | static void omap3_evm_disable_dvi(struct omap_dss_device *dssdev) |
299 | { | 334 | { |
300 | gpio_set_value(OMAP3EVM_DVI_PANEL_EN_GPIO, 0); | 335 | gpio_set_value_cansleep(OMAP3EVM_DVI_PANEL_EN_GPIO, 0); |
301 | 336 | ||
302 | dvi_enabled = 0; | 337 | dvi_enabled = 0; |
303 | } | 338 | } |
@@ -381,6 +416,16 @@ static struct omap2_hsmmc_info mmc[] = { | |||
381 | .gpio_cd = -EINVAL, | 416 | .gpio_cd = -EINVAL, |
382 | .gpio_wp = 63, | 417 | .gpio_wp = 63, |
383 | }, | 418 | }, |
419 | #ifdef CONFIG_WL12XX_PLATFORM_DATA | ||
420 | { | ||
421 | .name = "wl1271", | ||
422 | .mmc = 2, | ||
423 | .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD, | ||
424 | .gpio_wp = -EINVAL, | ||
425 | .gpio_cd = -EINVAL, | ||
426 | .nonremovable = true, | ||
427 | }, | ||
428 | #endif | ||
384 | {} /* Terminator */ | 429 | {} /* Terminator */ |
385 | }; | 430 | }; |
386 | 431 | ||
@@ -411,6 +456,8 @@ static struct platform_device leds_gpio = { | |||
411 | static int omap3evm_twl_gpio_setup(struct device *dev, | 456 | static int omap3evm_twl_gpio_setup(struct device *dev, |
412 | unsigned gpio, unsigned ngpio) | 457 | unsigned gpio, unsigned ngpio) |
413 | { | 458 | { |
459 | int r; | ||
460 | |||
414 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ | 461 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ |
415 | omap_mux_init_gpio(63, OMAP_PIN_INPUT); | 462 | omap_mux_init_gpio(63, OMAP_PIN_INPUT); |
416 | mmc[0].gpio_cd = gpio + 0; | 463 | mmc[0].gpio_cd = gpio + 0; |
@@ -426,8 +473,12 @@ static int omap3evm_twl_gpio_setup(struct device *dev, | |||
426 | */ | 473 | */ |
427 | 474 | ||
428 | /* TWL4030_GPIO_MAX + 0 == ledA, LCD Backlight control */ | 475 | /* TWL4030_GPIO_MAX + 0 == ledA, LCD Backlight control */ |
429 | gpio_request(gpio + TWL4030_GPIO_MAX, "EN_LCD_BKL"); | 476 | r = gpio_request(gpio + TWL4030_GPIO_MAX, "EN_LCD_BKL"); |
430 | gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0); | 477 | if (!r) |
478 | r = gpio_direction_output(gpio + TWL4030_GPIO_MAX, | ||
479 | (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2) ? 1 : 0); | ||
480 | if (r) | ||
481 | printk(KERN_ERR "failed to get/set lcd_bkl gpio\n"); | ||
431 | 482 | ||
432 | /* gpio + 7 == DVI Enable */ | 483 | /* gpio + 7 == DVI Enable */ |
433 | gpio_request(gpio + 7, "EN_DVI"); | 484 | gpio_request(gpio + 7, "EN_DVI"); |
@@ -538,6 +589,69 @@ static struct regulator_init_data omap3_evm_vpll2 = { | |||
538 | .consumer_supplies = &omap3_evm_vpll2_supply, | 589 | .consumer_supplies = &omap3_evm_vpll2_supply, |
539 | }; | 590 | }; |
540 | 591 | ||
592 | /* ads7846 on SPI */ | ||
593 | static struct regulator_consumer_supply omap3evm_vio_supply = | ||
594 | REGULATOR_SUPPLY("vcc", "spi1.0"); | ||
595 | |||
596 | /* VIO for ads7846 */ | ||
597 | static struct regulator_init_data omap3evm_vio = { | ||
598 | .constraints = { | ||
599 | .min_uV = 1800000, | ||
600 | .max_uV = 1800000, | ||
601 | .apply_uV = true, | ||
602 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
603 | | REGULATOR_MODE_STANDBY, | ||
604 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
605 | | REGULATOR_CHANGE_STATUS, | ||
606 | }, | ||
607 | .num_consumer_supplies = 1, | ||
608 | .consumer_supplies = &omap3evm_vio_supply, | ||
609 | }; | ||
610 | |||
611 | #ifdef CONFIG_WL12XX_PLATFORM_DATA | ||
612 | |||
613 | #define OMAP3EVM_WLAN_PMENA_GPIO (150) | ||
614 | #define OMAP3EVM_WLAN_IRQ_GPIO (149) | ||
615 | |||
616 | static struct regulator_consumer_supply omap3evm_vmmc2_supply = { | ||
617 | .supply = "vmmc", | ||
618 | .dev_name = "mmci-omap-hs.1", | ||
619 | }; | ||
620 | |||
621 | /* VMMC2 for driving the WL12xx module */ | ||
622 | static struct regulator_init_data omap3evm_vmmc2 = { | ||
623 | .constraints = { | ||
624 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, | ||
625 | }, | ||
626 | .num_consumer_supplies = 1, | ||
627 | .consumer_supplies = &omap3evm_vmmc2_supply, | ||
628 | }; | ||
629 | |||
630 | static struct fixed_voltage_config omap3evm_vwlan = { | ||
631 | .supply_name = "vwl1271", | ||
632 | .microvolts = 1800000, /* 1.80V */ | ||
633 | .gpio = OMAP3EVM_WLAN_PMENA_GPIO, | ||
634 | .startup_delay = 70000, /* 70ms */ | ||
635 | .enable_high = 1, | ||
636 | .enabled_at_boot = 0, | ||
637 | .init_data = &omap3evm_vmmc2, | ||
638 | }; | ||
639 | |||
640 | static struct platform_device omap3evm_vwlan_device = { | ||
641 | .name = "reg-fixed-voltage", | ||
642 | .id = 1, | ||
643 | .dev = { | ||
644 | .platform_data = &omap3evm_vwlan, | ||
645 | }, | ||
646 | }; | ||
647 | |||
648 | struct wl12xx_platform_data omap3evm_wlan_data __initdata = { | ||
649 | .irq = OMAP_GPIO_IRQ(OMAP3EVM_WLAN_IRQ_GPIO), | ||
650 | /* ref clock is 38.4 MHz */ | ||
651 | .board_ref_clock = 2, | ||
652 | }; | ||
653 | #endif | ||
654 | |||
541 | static struct twl4030_platform_data omap3evm_twldata = { | 655 | static struct twl4030_platform_data omap3evm_twldata = { |
542 | .irq_base = TWL4030_IRQ_BASE, | 656 | .irq_base = TWL4030_IRQ_BASE, |
543 | .irq_end = TWL4030_IRQ_END, | 657 | .irq_end = TWL4030_IRQ_END, |
@@ -550,6 +664,7 @@ static struct twl4030_platform_data omap3evm_twldata = { | |||
550 | .codec = &omap3evm_codec_data, | 664 | .codec = &omap3evm_codec_data, |
551 | .vdac = &omap3_evm_vdac, | 665 | .vdac = &omap3_evm_vdac, |
552 | .vpll2 = &omap3_evm_vpll2, | 666 | .vpll2 = &omap3_evm_vpll2, |
667 | .vio = &omap3evm_vio, | ||
553 | }; | 668 | }; |
554 | 669 | ||
555 | static struct i2c_board_info __initdata omap3evm_i2c_boardinfo[] = { | 670 | static struct i2c_board_info __initdata omap3evm_i2c_boardinfo[] = { |
@@ -651,14 +766,61 @@ static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = { | |||
651 | }; | 766 | }; |
652 | 767 | ||
653 | #ifdef CONFIG_OMAP_MUX | 768 | #ifdef CONFIG_OMAP_MUX |
654 | static struct omap_board_mux board_mux[] __initdata = { | 769 | static struct omap_board_mux omap35x_board_mux[] __initdata = { |
770 | OMAP3_MUX(SYS_NIRQ, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP | | ||
771 | OMAP_PIN_OFF_INPUT_PULLUP | OMAP_PIN_OFF_OUTPUT_LOW | | ||
772 | OMAP_PIN_OFF_WAKEUPENABLE), | ||
773 | OMAP3_MUX(MCSPI1_CS1, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP | | ||
774 | OMAP_PIN_OFF_INPUT_PULLUP | OMAP_PIN_OFF_OUTPUT_LOW | | ||
775 | OMAP_PIN_OFF_WAKEUPENABLE), | ||
776 | OMAP3_MUX(SYS_BOOT5, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP | | ||
777 | OMAP_PIN_OFF_NONE), | ||
778 | OMAP3_MUX(GPMC_WAIT2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP | | ||
779 | OMAP_PIN_OFF_NONE), | ||
780 | #ifdef CONFIG_WL12XX_PLATFORM_DATA | ||
781 | /* WLAN IRQ - GPIO 149 */ | ||
782 | OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP), | ||
783 | |||
784 | /* WLAN POWER ENABLE - GPIO 150 */ | ||
785 | OMAP3_MUX(UART1_CTS, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | ||
786 | |||
787 | /* MMC2 SDIO pin muxes for WL12xx */ | ||
788 | OMAP3_MUX(SDMMC2_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
789 | OMAP3_MUX(SDMMC2_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
790 | OMAP3_MUX(SDMMC2_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
791 | OMAP3_MUX(SDMMC2_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
792 | OMAP3_MUX(SDMMC2_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
793 | OMAP3_MUX(SDMMC2_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
794 | #endif | ||
795 | { .reg_offset = OMAP_MUX_TERMINATOR }, | ||
796 | }; | ||
797 | |||
798 | static struct omap_board_mux omap36x_board_mux[] __initdata = { | ||
655 | OMAP3_MUX(SYS_NIRQ, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP | | 799 | OMAP3_MUX(SYS_NIRQ, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP | |
656 | OMAP_PIN_OFF_INPUT_PULLUP | OMAP_PIN_OFF_OUTPUT_LOW | | 800 | OMAP_PIN_OFF_INPUT_PULLUP | OMAP_PIN_OFF_OUTPUT_LOW | |
657 | OMAP_PIN_OFF_WAKEUPENABLE), | 801 | OMAP_PIN_OFF_WAKEUPENABLE), |
658 | OMAP3_MUX(MCSPI1_CS1, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP | | 802 | OMAP3_MUX(MCSPI1_CS1, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP | |
659 | OMAP_PIN_OFF_INPUT_PULLUP | OMAP_PIN_OFF_OUTPUT_LOW), | 803 | OMAP_PIN_OFF_INPUT_PULLUP | OMAP_PIN_OFF_OUTPUT_LOW | |
804 | OMAP_PIN_OFF_WAKEUPENABLE), | ||
805 | /* AM/DM37x EVM: DSS data bus muxed with sys_boot */ | ||
806 | OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), | ||
807 | OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), | ||
808 | OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), | ||
809 | OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), | ||
810 | OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), | ||
811 | OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), | ||
812 | OMAP3_MUX(SYS_BOOT0, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), | ||
813 | OMAP3_MUX(SYS_BOOT1, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), | ||
814 | OMAP3_MUX(SYS_BOOT3, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), | ||
815 | OMAP3_MUX(SYS_BOOT4, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), | ||
816 | OMAP3_MUX(SYS_BOOT5, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), | ||
817 | OMAP3_MUX(SYS_BOOT6, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), | ||
818 | |||
660 | { .reg_offset = OMAP_MUX_TERMINATOR }, | 819 | { .reg_offset = OMAP_MUX_TERMINATOR }, |
661 | }; | 820 | }; |
821 | #else | ||
822 | #define omap35x_board_mux NULL | ||
823 | #define omap36x_board_mux NULL | ||
662 | #endif | 824 | #endif |
663 | 825 | ||
664 | static struct omap_musb_board_data musb_board_data = { | 826 | static struct omap_musb_board_data musb_board_data = { |
@@ -670,7 +832,11 @@ static struct omap_musb_board_data musb_board_data = { | |||
670 | static void __init omap3_evm_init(void) | 832 | static void __init omap3_evm_init(void) |
671 | { | 833 | { |
672 | omap3_evm_get_revision(); | 834 | omap3_evm_get_revision(); |
673 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | 835 | |
836 | if (cpu_is_omap3630()) | ||
837 | omap3_mux_init(omap36x_board_mux, OMAP_PACKAGE_CBB); | ||
838 | else | ||
839 | omap3_mux_init(omap35x_board_mux, OMAP_PACKAGE_CBB); | ||
674 | 840 | ||
675 | omap3_evm_i2c_init(); | 841 | omap3_evm_i2c_init(); |
676 | 842 | ||
@@ -714,6 +880,13 @@ static void __init omap3_evm_init(void) | |||
714 | ads7846_dev_init(); | 880 | ads7846_dev_init(); |
715 | omap3evm_init_smsc911x(); | 881 | omap3evm_init_smsc911x(); |
716 | omap3_evm_display_init(); | 882 | omap3_evm_display_init(); |
883 | |||
884 | #ifdef CONFIG_WL12XX_PLATFORM_DATA | ||
885 | /* WL12xx WLAN Init */ | ||
886 | if (wl12xx_set_platform_data(&omap3evm_wlan_data)) | ||
887 | pr_err("error setting wl12xx data\n"); | ||
888 | platform_device_register(&omap3evm_vwlan_device); | ||
889 | #endif | ||
717 | } | 890 | } |
718 | 891 | ||
719 | MACHINE_START(OMAP3EVM, "OMAP3 EVM") | 892 | MACHINE_START(OMAP3EVM, "OMAP3 EVM") |