1

I have a custom designed board using the compute module 3+, booting from the EMMC with an SD card interface connected to GPIO 34-39. From what I've read elsewhere the only thing I need to do is to setup the sdio overlay in /boot/config.txt:

dtoverlay=sdio,poll_once=0,gpios_34_39=1

The output of vcdbg log msg indicates the overlay was loaded correctly however the output of dmesg contains:

mmc1: card never left busy state
mmc1: error -110 whilst initialising SD card

Is there something more or different that I should be doing to get the SD card interface to work? Its possible that the issue is with the connections on the custom board however I want to make sure I am doing everything correctly from the software side before I go back to the engineers at the board house.

UPDATE It turns out the SD card interface wasn't getting power due to a hardware issue however I am still unable to get the SD card to work, the error message has changed to:

mmc1: host does not support reading read-only switch, assuming write-enable
mmc1: error -110 whilst initialising SD card
1

I was able to get it working by adding sdio_overclock=25 to the dtoverlay line to set the clock speed to 25mhz. That said, I am not sure if this is specific to the interface on the board, the SD card I was testing with, a Samsung 32GB EVO Select, or the compute module itself but I would have thought this is something that would be auto-detected...

To complete the answer, I was able to get it to work by adding this to /boot/config.txt:

dtoverlay=sdio,sdio_overclock=25,poll_once=0,gpios_34_39=1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.