This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Interfacing a Wifi module with MMC0 using SDIO

Other Parts Discussed in Thread: AM3352

Hi,

I am using am3352 CPU on a custom board which is very similar to Beaglebone Balck. Redpine RS9110 wifi module is attached to MMC0.

But the wifi module is not detected the MMC0.

In Uboot i have pinpuxed MMC0 in the following way,

static struct module_pin_mux mmc0_pin_mux_cioffi[] = {

    {OFFSET(mmc0_dat3), (MODE(0) | RXACTIVE | PULLUP_EN)},  /* MMC0_DAT3 */

    {OFFSET(mmc0_dat2), (MODE(0) | RXACTIVE | PULLUP_EN)},  /* MMC0_DAT2 */

    {OFFSET(mmc0_dat1), (MODE(0) | RXACTIVE | PULLUP_EN)},  /* MMC0_DAT1 */

    {OFFSET(mmc0_dat0), (MODE(0) | RXACTIVE | PULLUP_EN)},  /* MMC0_DAT0 */

    {OFFSET(mmc0_clk), (MODE(0) | RXACTIVE | PULLUP_EN)},   /* MMC0_CLK */

    {OFFSET(mmc0_cmd), (MODE(0) | RXACTIVE | PULLUP_EN)},   /* MMC0_CMD */

    /*{OFFSET(mcasp0_aclkr), (MODE(4) | RXACTIVE)},*////        /* MMC0_WP */

    /*{OFFSET(spi0_cs1), (MODE(5) | RXACTIVE | PULLUP_EN)}*////,    /* MMC0_CD */

    {-1},

};

When I test it from Uboot CLI, the SDIO interface is working. (I attached SD card slot temporarily and insert a card, Was able to read card info ).

But the issue is after Linux is booted, MMC0 does not detect the wifi module as a SDIO slave, and Wifi interface is not created.

(I did not get the "MMC0 Higs speed SDIO is detected" message in boot log)

Im my device tree I have configured MMC0 as follows,

314         mmc1: mmc@48060000 {                       

315             compatible = "ti,omap4-hsmmc";         

316             ti,hwmods = "mmc1";                    

317             ti,dual-volt;                          

318             ti,needs-special-reset;                

319             ti,needs-special-hs-handling;          

320             dmas = <&edma 24                       

321                 &edma 25>; 

322             dma-names = "tx", "rx";

323             interrupts = <64>;

324             interrupt-parent = <&intc>;

325             reg = <0x48060000 0x1000>;

326             status = "disabled";

327         };

     mmc1_pins_default: pinmux_mmc1_pins {

152         pinctrl-single,pins = <

153             0x0F0 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc0_dat3.mmc0_dat3 */

154             0x0F4 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc0_dat2.mmc0_dat2 */

155             0x0F8 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc0_dat1.mmc0_dat1 */

156             0x0FC (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc0_dat0.mmc0_dat0 */

157             0x100 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc0_clk.mmc0_clk */

158             0x104 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc0_cmd.mmc0_cmd */

159             /*0x1A0 (PIN_INPUT_PULLUP | MUX_MODE7)*/    /* mcasp0_aclkr.gpio3_18 */ /*Not using */

160             /*0x160 (PIN_INPUT | MUX_MODE7)*/       /* spi0_cs1.gpio0_6 */ /* Not using */

161         >;

162     };

&mmc1 {

336     status = "okay";

337     bus-width = <0x4>;

338     pinctrl-names = "default";

339     pinctrl-0 = <&mmc1_pins_default>;

340     /*pinctrl-1 = <&mmc1_pins_sleep>;*/

341     /*cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;*/

342     /*cd-inverted;*/

343    ti,non-removable;            /* I am not using cd-gpios as the wifi module is permanently wired */

343 };

And my wifi module is powered separately using a pmic.

I am not quite sure whether i need following DT pat,

24 &mmc1 {

25     vmmc-supply = <&vmmcsd_fixed>;

26 };

But any way I have tried both ways with vmmc-supply and without it.

vmmc-supply is some thing in am335x-bone-common.dtsi, as follows, but i do not have such a regulator in my pmic.

       vmmcsd_fixed: fixedregulator@0 {
 57                 compatible = "regulator-fixed";
 58                 regulator-name = "vmmcsd_fixed";
 59                 regulator-min-microvolt = <3300000>;
 60                 regulator-max-microvolt = <3300000>;
 61         };

Any help or information would be highly appreciated.

Thanks

Nilan