WLAN board configuration

GPIO Configuration
Brief summary of WLAN HW configuration in OMAP platforms.

WLAN is connected to OMAP via MMC lines and we also need a power enable GPIO and an irg GPIO.

Find below the summary of configurations of these two GPIOs in OMAP development platforms,

Clock Configuration (fref,tcxo)
How to change clock configuration in kernel as per WiLink module being used.

The ref_clock and tcxo_clock configuration needs to define in kernel board file for functioning of WiFi. The clock configuration depends on COM module being used and the clock hardware architecture. The clock setting has to match the architecture otherwise the WLAN functionality will fail to work at all.

By default the board files for Blaze (arch/arm/mach-omap2/board-4430sdp.c) and Tablet (arch/arm/mach-omap2/board-44xx-tablet.c) configures both ref_clock and txco_clock to 26 MHz. This configuration is used for COM7 module.

static struct wl12xx_platform_data omap4_sdp4430_wlan_data __initdata = { .irq = OMAP_GPIO_IRQ(GPIO_WIFI_IRQ), .board_ref_clock = WL12XX_REFCLOCK_26, .board_tcxo_clock = WL12XX_TCXOCLOCK_26, };

Please change the clock configuration based on the clock being used in COM6, COM7, and COM8 modules.

Typical configurations:

COM6 (WL127x) module (with 38.4 MHz TCXO)

struct wl12xx_platform_data am335xevm_wlan_data = { .irq = OMAP_GPIO_IRQ(AM335XEVM_WLAN_IRQ_GPIO), .board_ref_clock = WL12XX_REFCLOCK_38_XTAL, };

COM7 (WL128x) module static struct wl12xx_platform_data omap4_sdp4430_wlan_data __initdata = { .irq = OMAP_GPIO_IRQ(GPIO_WIFI_IRQ), .board_ref_clock = WL12XX_REFCLOCK_26, .board_tcxo_clock = WL12XX_TCXOCLOCK_26, };

COM8 (WL18xx) module

static struct wl12xx_platform_data omap5_sdp5430_wlan_data __initdata = { .irq               = OMAP_GPIO_IRQ(GPIO_WIFI_IRQ), .board_ref_clock   = WL12XX_REFCLOCK_26, .board_tcxo_clock  = WL12XX_TCXOCLOCK_26, };