Port wl1271 to Freescale platform - register power control function with MMC device

42 views
Skip to first unread message

Bruno De Paoli

unread,
Sep 25, 2014, 6:44:22 AM9/25/14
to android...@googlegroups.com

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

Reply all
Reply to author
Forward
0 new messages