Access to microSD card on custom board


Hi all,

I have a custom PCB for the WP8548. The design omits the I2C bus expanders and connects the SD card I/O to the SDIO pins on the WP8548 module via some bus level shifters (NTB0104). The SD card I/O is powered from a 3V regulator and the SDIO pins are driven from VGPIO.

Problem is that the device is not detected on boot, thus is not mountable. The same microSD card has been working successfully on a mangOH Green board for months.

I get the following mmc0 message from the console port during boot:

[    9.527056] mmc0: bam physical base=0x12182000
[    9.530505] mmc0: bam virtual base=0xd01f0000
[    9.534839] sps:BAM 0x12182000 is registered.
[    9.557057] mmc0: BAM device registered. bam_handle=0xceb5ae00[    9.562246] sps:REVISION of BAM 0xd01f0000 is 0x5.
[    9.567221] mmc0: Qualcomm MSM SDCC-BAM at 0x0000000012182000 irq 130
[    9.575858] mmc0: Qualcomm MSM SDCC-DML at 0x0000000012180800
[    9.580772] mmc0: No card detect facilities available
[    9.590111] mmc0: Qualcomm MSM SDCC-core at 0x0000000012180000 irq 136,0 dma -1 dmacrcri -1
[    9.607050] mmc0: 8 bit data mode disabled
[    9.610132] mmc0: 4 bit data mode enabled
[    9.625911] mmc0: polling status mode disabled
[    9.641110] mmc0: MMC clock 400000 -> 48000000 Hz, PCLK 0 Hz
[    9.653380] mmc0: Slot eject status = 0
[    9.661437] mmc0: Power save feature enable = 1
[    9.670013] mmc0: SPS-BAM data transfer mode available

As you can see it never lists mmcblk0.

What do I need to do to make the SD card discoverable to the kernel since removing the bus expanders?



I noticed from reading the product technical spec that the voltage levels to the WP8548 SDIO pins should actually be 3V, rather than 1.8V. I’ve made the hardware mods necessary but still no luck getting it detected during boot.


All sorted now. Turns out the NTB0104 and NTB0102 are not suitable transceivers for Class 4 SDHC cards.