I’m trying to use the Wi2Wi WM828CC6 (Marvell 88W8887) Wifi module on SDIO2 interface of a iMX6dl module.
I can not see any SDIO2 on linux, so I guess some device-tree error is occurring.
Basically, these are the modifications I did on device-tree:
imx6dl-colibri-eval-v3.dts
aliases {
mmc2 = &usdhc2;
}
&usdhc2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc2>;
no-1-8-v;
disable-wp;
enable-sdio-wakeup;
keep-power-in-suspend;
broken-cd;
/* non-removable;*/
status = "okay";
/*
* Does not work for a WiFi chip since vmmc get turned on only during
* SDIO communication...
*/
// vmmc-supply = <®_wifi_pwd>;
};
I’m not sure about the pins. I have tried to modify my device tree based on imx6ull module but some pins conflict were related so I believe it s not the same configuration.
thank you @jaski.tx for the reply.
Module: Colibri iMX6Dl 512MB IT V1.1A.
The system was built using Yocto Rocko Kernel version: 4.1.44-2.8.1 based on layers meta-toradex-bsp-common, meta-toradex-nxp.
We have developed our own board. You can find attached the wifi connection scheme and the dmesg log.
Thank you @marcel.tx. It means the first thing should I do is upgrading my bsp version? There is some alternative for us double check it before to execute this bsp upgrade? I Just ask it because I have some drivers which probably I’ll need to update to execute them in a new bsp in this board we made and we are using. I just suppose it because I had some issues in older versions, so If I could test something before it will take less time probably. Anyway, I go starting work to execute the bsp upgrade. It is an old version. Thank you, appreciate it so much.
Hi
Like Marcel said, you should flash the Bsp 2.8b5 and just do the needed changes for your board in kernel or device tree and do a Kernel Compilation as described here. This approach will be more simple and faster than creating a complete updated custom image using Yocto.
Update on this: we have tested this using the latest BSP and the Wi-Fi module still doesn’t work.
This is what we’ve done so far:
First, we brought up SDIO2 and tested it was working with an SD card.
Then we built an image with Yocto, enabling the MWIFIEX and MWIFIEX_SDIO kernel modules, patching the device tree to bring up SDIO2 and installing linux-firmware.
Upon flashing this new image and running modprobe on the module, we have:
As for the W-iFi drivers are you using backports like we usually do in our BSPs? Is that particular device known to work in any other configuration? If the slot is working with SD cards then it is most likely a hardware issue on the Wi-Fi device side.
We tried using non-removable instead of broken-cd but the result is the same.
We can’t assess if the device is stuck in hardware reset because there’s no indication of it being ever detected in Linux and we don’t have access to the Wi-Fi module pins on the board, for now.
You have some nice testpoints to work with. What do you measure on
TP 51,52,14,17,18,19,65,66?
-The module needs to be powered (via enable_wf_bt)
-32khz clock needs to be on
-gpio shouldn’t assert powerDown-
Hmm, maybe it’s as easy as asserting enable_wf_bt in U-boot before loading kernel?
ALTF5 for mxm.77 = GPIO3_IO18
Looks like mxm.77 = (3-1)*2+18= Linux GPIO_82?
Try using “GPIO clear 82” or “GPIO set 82” in U-boot before running kernel? You can check with the probe on the testpoint that I calculated the right GPIO#