Hi All,
I have a Wifi module based on 8797 Marvell chipset and it using SDIO 3.0. The sdio controller (drivers/mmc/core/sdio.c) switched the speed to 4bit mode since the 8797 supports it.
The problem right now, the host controller and the 8797 couldn't communicate to each other correctly, if the speed is set to 4bit mode. Then, if I set it to a 1bit mode, the two can communicate correctly. Also, I tried the SDHCI controller to use the ADMA then SDMA, but both of them are no effect.
I would like to know if anyone have resolved the issue or anyone has idea how to fix it?
Regards,
John
Just to follow on my question: I used the Marvell module on pandaboard ES using kernel 3.4.0-1490-omap4, it works on pandaboard using a 4bit mode.
Not sure right now why it's not working on iMX6 SD board.
Regards,
john
Can you please post your patch here so that we can look at it?
Hi Fabio,
I did not make any modification to the kernel. The other testing that I've made is to use the same kernel (3.9 stable released) to boot the pandaboard. When, I boot it with same kernel the wifi works...
Also, I have to apply this patch (http://www.spinics.net/lists/linux-mmc/msg19905.html)
Hello Guys,
I would like to inform you that the 4bit mode is working now. On my device tree (imx6q-sabresd.dts), I just disabled the cd-gpios.
&usdhc2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc2_1>;
/*cd-gpios = <&gpio2 2 0>;*/
wp-gpios = <&gpio2 3 0>;
status = "okay";
};
The thing that I've noticed between 1bit vs 4bit mode is that loading the firmware on 1bit mode is too fast <2 sec (upon inserting the module), it will show the firmware is loaded "mwifiex_sdio mmc0:0001:1: driver_version = mwifiex 1.0 (14.66.11.p151)". When, running a 4bit mode, it took almost 30secs to load the firmware.
I am expecting 4bit mode is faster than 1bit mode and I am not sure why it taking so long...
any other idea?.
Regards,
John
Regards,
John
Hello John,
I am also using a marvell 8787 based Wi-Fi module on sabrelite board. The Wi-Fi module is connected on UDHC3 port. But immediately after the firmware download it fails to read the interrupt status register. I am using 3.12 kernel which I have verified all patches are up to date. Below is the console prints when I insert the Wi-Fi module.
...
mmc0: new high speed SDIO card at address 0001
mwifiex_sdio mmc0:0001:1: WLAN FW is active
ieee80211 phy2: ignoring F/W country code US
mwifiex_sdio mmc0:0001:1: driver_version = mwifiex 1.0 (14.66.9.p96)
mwifiex_sdio mmc0:0001:1: read mp_regs failed
mwifiex_sdio mmc0:0001:1: read mp_regs failed
mwifiex_sdio mmc0:0001:1: read mp_regs failed
mwifiex_sdio mmc0:0001:1: read mp_regs failed
mwifiex_sdio mmc0:0001:1: read mp_regs failed
Did you phase the same problem while bringing up the Wi-Fi module ?
Appreciate your pointers...
regards
Krishnan
Hi Krishnan,
I did not encounter that error. But, you may try to set the bus-width to 1 bit mode in your .dts file (usdhc3 declaration). You may also test your 8797 eval board in different embedded board like pandaboard just to make sure your 8797 is fully functional.
Regards,
john
John
This discussion is closed since no activity. If you still need help, please feel free to reply with an update to this
discussion, or create another discussion.
Thanks,
Yixing
John
Had your issue got resolved? If yes, we are going to close the discussion in 3 days. If you still need help please feel
free to contact Freescale.
Thanks,
Yixing
just guess your bsp need to modify to support it, including the source code of board device and host controll.