We have a custom iMX53 based platform running Android Gingerbread,
Linux kernel 2.6.35 with a TiWi-BLE Wlan/Bluetooth device using the SDIO
interface for WLAN.
We have a problem when the radio is being restarted where the OS loses communication with the radio.
It looks like the problem is caused by the fact that the power control initialisation in the platform-specific section is not being done correctly. The WL12xx porting guide
http://processors.wiki.ti.com/index.php/WL127x_Porting_Guide#Board_Initialization_file
has a section on power control and details how to register the power
control function with the MMC device. Specifically the key piece of code
is
static void wl12xx_init(int evm_id, int profile) { struct device *dev; struct omap_mmc_platform_data *pdata; … … pdata->slots[0].set_power = wl12xx_set_power; out: return; }
This sets the wl12xx_set_power power function in the omap_mmc_platform_data structure.However this is TI/OMAP specific. I do have a set_power function that
toggles the WL_EN signal but it's not clear how to register this with
the MMC device on a Freescale platform.
Can anyone suggest if this is the correct thing to do and how to register the power control function with the MMC device on an iMX53 Freescale platform?
Thanks,
Bruno