Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aca6ad07 authored by Eyal Reizer's avatar Eyal Reizer Committed by Tony Lindgren
Browse files

omap: omap3evm: add support for the WL12xx WLAN module to the omap3evm



This patch is again current omap-for-linus branch

Adds platform initialization for working with the WLAN module
attached to the omap3evm.
The patch includes MMC2 initialization, SDIO and control pins
muxing and platform device registration.

Signed-off-by: default avatarEyal Reizer <eyalr@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 1d90da95
Loading
Loading
Loading
Loading
+22 −10
Original line number Original line Diff line number Diff line
@@ -603,10 +603,8 @@ static struct regulator_init_data omap3evm_vio = {
#define OMAP3EVM_WLAN_PMENA_GPIO	(150)
#define OMAP3EVM_WLAN_PMENA_GPIO	(150)
#define OMAP3EVM_WLAN_IRQ_GPIO		(149)
#define OMAP3EVM_WLAN_IRQ_GPIO		(149)


static struct regulator_consumer_supply omap3evm_vmmc2_supply = {
static struct regulator_consumer_supply omap3evm_vmmc2_supply =
	.supply			= "vmmc",
	REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.1");
	.dev_name		= "mmci-omap-hs.1",
};


/* VMMC2 for driving the WL12xx module */
/* VMMC2 for driving the WL12xx module */
static struct regulator_init_data omap3evm_vmmc2 = {
static struct regulator_init_data omap3evm_vmmc2 = {
@@ -627,7 +625,7 @@ static struct fixed_voltage_config omap3evm_vwlan = {
	.init_data		= &omap3evm_vmmc2,
	.init_data		= &omap3evm_vmmc2,
};
};


static struct platform_device omap3evm_vwlan_device = {
static struct platform_device omap3evm_wlan_regulator = {
	.name		= "reg-fixed-voltage",
	.name		= "reg-fixed-voltage",
	.id		= 1,
	.id		= 1,
	.dev = {
	.dev = {
@@ -637,8 +635,7 @@ static struct platform_device omap3evm_vwlan_device = {


struct wl12xx_platform_data omap3evm_wlan_data __initdata = {
struct wl12xx_platform_data omap3evm_wlan_data __initdata = {
	.irq = OMAP_GPIO_IRQ(OMAP3EVM_WLAN_IRQ_GPIO),
	.irq = OMAP_GPIO_IRQ(OMAP3EVM_WLAN_IRQ_GPIO),
	/* ref clock is 38.4 MHz */
	.board_ref_clock = WL12XX_REFCLOCK_38, /* 38.4 MHz */
	.board_ref_clock = 2,
};
};
#endif
#endif


@@ -765,7 +762,7 @@ static struct omap_board_mux omap35x_board_mux[] __initdata = {
				OMAP_PIN_OFF_NONE),
				OMAP_PIN_OFF_NONE),
#ifdef CONFIG_WL12XX_PLATFORM_DATA
#ifdef CONFIG_WL12XX_PLATFORM_DATA
	/* WLAN IRQ - GPIO 149 */
	/* WLAN IRQ - GPIO 149 */
	OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
	OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),


	/* WLAN POWER ENABLE - GPIO 150 */
	/* WLAN POWER ENABLE - GPIO 150 */
	OMAP3_MUX(UART1_CTS, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
	OMAP3_MUX(UART1_CTS, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
@@ -801,6 +798,21 @@ static struct omap_board_mux omap36x_board_mux[] __initdata = {
	OMAP3_MUX(SYS_BOOT4, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
	OMAP3_MUX(SYS_BOOT4, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
	OMAP3_MUX(SYS_BOOT5, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
	OMAP3_MUX(SYS_BOOT5, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
	OMAP3_MUX(SYS_BOOT6, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
	OMAP3_MUX(SYS_BOOT6, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
#ifdef CONFIG_WL12XX_PLATFORM_DATA
	/* WLAN IRQ - GPIO 149 */
	OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),

	/* WLAN POWER ENABLE - GPIO 150 */
	OMAP3_MUX(UART1_CTS, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),

	/* MMC2 SDIO pin muxes for WL12xx */
	OMAP3_MUX(SDMMC2_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
	OMAP3_MUX(SDMMC2_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
	OMAP3_MUX(SDMMC2_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
	OMAP3_MUX(SDMMC2_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
	OMAP3_MUX(SDMMC2_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
	OMAP3_MUX(SDMMC2_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
#endif


	{ .reg_offset = OMAP_MUX_TERMINATOR },
	{ .reg_offset = OMAP_MUX_TERMINATOR },
};
};
@@ -871,7 +883,7 @@ static void __init omap3_evm_init(void)
	/* WL12xx WLAN Init */
	/* WL12xx WLAN Init */
	if (wl12xx_set_platform_data(&omap3evm_wlan_data))
	if (wl12xx_set_platform_data(&omap3evm_wlan_data))
		pr_err("error setting wl12xx data\n");
		pr_err("error setting wl12xx data\n");
	platform_device_register(&omap3evm_vwlan_device);
	platform_device_register(&omap3evm_wlan_regulator);
#endif
#endif
}
}