Hi,
We are using an AM4372-based custom design with a Silicon Labs WFM200 WiFi module connected via MMC3 as SDIO. The module is not being detected by Linux as SDIO device and so we are trying to understand what is going wrong. From an electrical and pin connections point everything seems to be fine.
First question:
The WFM200 module has a bit of a tricky way to enter SDIO mode (by default it is in SPI mode) and, to exclude this as a potential reason for our problems, we would like to do enhanced testing with the reset and delay pins of the module from the Linux prompt.
Will shdci-omap detect a new SDIO module at runtime or does this only work during boot?
Second question:
Below our devicetree configuration. We have removed any special options like wakeup etc. just to get the basic function work first.
Do you have any comments or ideas if this may cause the SDIO module not being detected?
mmc3_pins: mmc3_pins { pinctrl-single,pins = < AM4372_IOPAD(0x88C, PIN_INPUT | MUX_MODE3) // (A12) mmc0_clk.mmc0_clk AM4372_IOPAD(0x888, PIN_INPUT | MUX_MODE3) // (B12) mmc0_cmd.mmc0_cmd AM4372_IOPAD(0x844, PIN_INPUT | MUX_MODE3) // (C5) mmc0_dat0.mmc0_dat0 AM4372_IOPAD(0x848, PIN_INPUT | MUX_MODE3) // (C6) mmc0_dat1.mmc0_dat1 AM4372_IOPAD(0x84C, PIN_INPUT | MUX_MODE3) // (A4) mmc0_dat2.mmc0_dat2 AM4372_IOPAD(0x878, PIN_INPUT | MUX_MODE3) // (A3) mmc0_dat3.mmc0_dat3 >; }; &mmc3 { status = "okay"; dmas = <&edma_xbar 30 0 1>, <&edma_xbar 31 0 2>; dma-names = "tx", "rx"; pinctrl-names = "default"; pinctrl-0 = <&mmc3_pins>; vmmc-supply = <&dcdc4>; bus-width = <4>; cap-power-off-card; ti,non-removable; #address-cells = <1>; #size-cells = <0>; wfx: wfx@1 { compatible = "silabs,wfx-sdio"; reg = <1>; }; };
Thank you and regards
Peter