diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-apollon.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-apollon.c | 30 | 
1 files changed, 22 insertions, 8 deletions
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c index bd75642aee6..c6421a72514 100644 --- a/arch/arm/mach-omap2/board-apollon.c +++ b/arch/arm/mach-omap2/board-apollon.c @@ -35,13 +35,14 @@  #include <mach/gpio.h>  #include <plat/led.h> -#include <plat/mux.h>  #include <plat/usb.h>  #include <plat/board.h>  #include <plat/common.h>  #include <plat/gpmc.h>  #include <plat/control.h> +#include "mux.h" +  /* LED & Switch macros */  #define LED0_GPIO13		13  #define LED1_GPIO14		14 @@ -244,7 +245,7 @@ static inline void __init apollon_init_smc91x(void)  	apollon_smc91x_resources[0].end   = base + 0x30f;  	udelay(100); -	omap_cfg_reg(W4__24XX_GPIO74); +	omap_mux_init_gpio(74, 0);  	if (gpio_request(APOLLON_ETHR_GPIO_IRQ, "SMC91x irq") < 0) {  		printk(KERN_ERR "Failed to request GPIO%d for smc91x IRQ\n",  			APOLLON_ETHR_GPIO_IRQ); @@ -286,15 +287,15 @@ static void __init omap_apollon_init_irq(void)  static void __init apollon_led_init(void)  {  	/* LED0 - AA10 */ -	omap_cfg_reg(AA10_242X_GPIO13); +	omap_mux_init_signal("vlynq_clk.gpio_13", 0);  	gpio_request(LED0_GPIO13, "LED0");  	gpio_direction_output(LED0_GPIO13, 0);  	/* LED1  - AA6 */ -	omap_cfg_reg(AA6_242X_GPIO14); +	omap_mux_init_signal("vlynq_rx1.gpio_14", 0);  	gpio_request(LED1_GPIO14, "LED1");  	gpio_direction_output(LED1_GPIO14, 0);  	/* LED2  - AA4 */ -	omap_cfg_reg(AA4_242X_GPIO15); +	omap_mux_init_signal("vlynq_rx0.gpio_15", 0);  	gpio_request(LED2_GPIO15, "LED2");  	gpio_direction_output(LED2_GPIO15, 0);  } @@ -303,22 +304,35 @@ static void __init apollon_usb_init(void)  {  	/* USB device */  	/* DEVICE_SUSPEND */ -	omap_cfg_reg(P21_242X_GPIO12); +	omap_mux_init_signal("mcbsp2_clkx.gpio_12", 0);  	gpio_request(12, "USB suspend");  	gpio_direction_output(12, 0); -	omap_usb_init(&apollon_usb_config); +	omap2_usbfs_init(&apollon_usb_config);  } +#ifdef CONFIG_OMAP_MUX +static struct omap_board_mux board_mux[] __initdata = { +	{ .reg_offset = OMAP_MUX_TERMINATOR }, +}; +#else +#define board_mux	NULL +#endif +  static void __init omap_apollon_init(void)  {  	u32 v; +	omap2420_mux_init(board_mux, OMAP_PACKAGE_ZAC); +  	apollon_led_init();  	apollon_flash_init();  	apollon_usb_init();  	/* REVISIT: where's the correct place */ -	omap_cfg_reg(W19_24XX_SYS_NIRQ); +	omap_mux_init_signal("sys_nirq", OMAP_PULL_ENA | OMAP_PULL_UP); + +	/* LCD PWR_EN */ +	omap_mux_init_signal("mcbsp2_dr.gpio_11", OMAP_PULL_ENA | OMAP_PULL_UP);  	/* Use Interal loop-back in MMC/SDIO Module Input Clock selection */  	v = omap_ctrl_readl(OMAP2_CONTROL_DEVCONF0);  |