<snip> /* Force PIO for the tuning */ caps = priv->caps; priv->caps &= ~TMIO_SD_CAP_DMA_INTERNAL; ret = mmc_send_tuning(mmc, opcode, NULL); priv->caps = caps; if (ret == 0) taps |= BIT(i); <snip> When doing this, the value of taps is non-zero. For this card, it is fefe In U-Boot smpcmp is also the save value. However, Linux does not disable the DMA, and the value of taps is zero and the tuning ultimately fails. I did some experiments to attempt to disable it, but when I do, it usually ends up hanging or a kernel panic. Does anyone have a suggestion on how I can properly attempt to disable the DMA and use PIO during the tuning phase to see if this fixes the micro SD card initialization issue I'm seeing. If I manually set taps to match priv->smpcmp when taps=0, the microSD card enumerates correctly. thanks adam >