WIFI over SDIO over USB – Do I have to reflect that in the device tree

device-treeembeddedsdiousbwifi

I am currently extending an embedded hardware platform which runs a linux kernel 3.16. I want to connect an external SDIO controller to the USB bus, and then run a WIFI module using that SDIO controller.

Since I have only little experience with SDIO devices (I know how to configure eMMC, SD-Card, … in the device tree), I am unsure about how to proceed if an USB-SDIO-bridge is used.

Does such a setup run without any device tree adaption (aka "Hey, its USB, let's simply plug it in!"), or must I specify the exact location of the SDIO controller in the device tree file?

Best Answer

With regards to SDIO to USB adapters like something based off of a VUB300, under Linux, the bridge itself will Hot-plug USB and do the "right" things.

The SDIO device, on the other hand...depends on whether the vendor (giving TI a nasty, nasty look right now...grrr...) did something non-standard and their drivers RELY on that off in the weeds behavior. The WiLink series parts use an OOB interrupt to speed things up. Problem is...their drivers don't work right without said interrupt. There's quite a bit of BROKEN there with that. Now...your mileage may vary. Some devices will drop straight in no worries. At least some of them have...issues...like I related here.

Related Question