diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-omap3beagle.c')
-rw-r--r-- | arch/arm/mach-omap2/board-omap3beagle.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 41480bd0e58a..6ada8029f9a8 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -41,10 +41,10 @@ | |||
41 | #include <plat/common.h> | 41 | #include <plat/common.h> |
42 | #include <plat/gpmc.h> | 42 | #include <plat/gpmc.h> |
43 | #include <plat/nand.h> | 43 | #include <plat/nand.h> |
44 | #include <plat/mux.h> | ||
45 | #include <plat/usb.h> | 44 | #include <plat/usb.h> |
46 | #include <plat/timer-gp.h> | 45 | #include <plat/timer-gp.h> |
47 | 46 | ||
47 | #include "mux.h" | ||
48 | #include "mmc-twl4030.h" | 48 | #include "mmc-twl4030.h" |
49 | 49 | ||
50 | #define GPMC_CS0_BASE 0x60 | 50 | #define GPMC_CS0_BASE 0x60 |
@@ -140,10 +140,10 @@ static int beagle_twl_gpio_setup(struct device *dev, | |||
140 | unsigned gpio, unsigned ngpio) | 140 | unsigned gpio, unsigned ngpio) |
141 | { | 141 | { |
142 | if (system_rev >= 0x20 && system_rev <= 0x34301000) { | 142 | if (system_rev >= 0x20 && system_rev <= 0x34301000) { |
143 | omap_cfg_reg(AG9_34XX_GPIO23); | 143 | omap_mux_init_gpio(23, OMAP_PIN_INPUT); |
144 | mmc[0].gpio_wp = 23; | 144 | mmc[0].gpio_wp = 23; |
145 | } else { | 145 | } else { |
146 | omap_cfg_reg(AH8_34XX_GPIO29); | 146 | omap_mux_init_gpio(29, OMAP_PIN_INPUT); |
147 | } | 147 | } |
148 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ | 148 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ |
149 | mmc[0].gpio_cd = gpio + 0; | 149 | mmc[0].gpio_cd = gpio + 0; |
@@ -422,14 +422,23 @@ static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | |||
422 | .reset_gpio_port[2] = -EINVAL | 422 | .reset_gpio_port[2] = -EINVAL |
423 | }; | 423 | }; |
424 | 424 | ||
425 | #ifdef CONFIG_OMAP_MUX | ||
426 | static struct omap_board_mux board_mux[] __initdata = { | ||
427 | { .reg_offset = OMAP_MUX_TERMINATOR }, | ||
428 | }; | ||
429 | #else | ||
430 | #define board_mux NULL | ||
431 | #endif | ||
432 | |||
425 | static void __init omap3_beagle_init(void) | 433 | static void __init omap3_beagle_init(void) |
426 | { | 434 | { |
435 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | ||
427 | omap3_beagle_i2c_init(); | 436 | omap3_beagle_i2c_init(); |
428 | platform_add_devices(omap3_beagle_devices, | 437 | platform_add_devices(omap3_beagle_devices, |
429 | ARRAY_SIZE(omap3_beagle_devices)); | 438 | ARRAY_SIZE(omap3_beagle_devices)); |
430 | omap_serial_init(); | 439 | omap_serial_init(); |
431 | 440 | ||
432 | omap_cfg_reg(J25_34XX_GPIO170); | 441 | omap_mux_init_gpio(170, OMAP_PIN_INPUT); |
433 | gpio_request(170, "DVI_nPD"); | 442 | gpio_request(170, "DVI_nPD"); |
434 | /* REVISIT leave DVI powered down until it's needed ... */ | 443 | /* REVISIT leave DVI powered down until it's needed ... */ |
435 | gpio_direction_output(170, true); | 444 | gpio_direction_output(170, true); |
@@ -439,8 +448,8 @@ static void __init omap3_beagle_init(void) | |||
439 | omap3beagle_flash_init(); | 448 | omap3beagle_flash_init(); |
440 | 449 | ||
441 | /* Ensure SDRC pins are mux'd for self-refresh */ | 450 | /* Ensure SDRC pins are mux'd for self-refresh */ |
442 | omap_cfg_reg(H16_34XX_SDRC_CKE0); | 451 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); |
443 | omap_cfg_reg(H17_34XX_SDRC_CKE1); | 452 | omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT); |
444 | } | 453 | } |
445 | 454 | ||
446 | static void __init omap3_beagle_map_io(void) | 455 | static void __init omap3_beagle_map_io(void) |