Cannot be detected by some SD cards

hello Wayne.

The problem has been resolved.
When setting the speed mode to high speed or less (using only 3.3V signal voltage) like us, it was necessary to modify the driver of the kernel below.

--- kernel/kernel-4.9/drivers/mmc/core/sd.c.org	
+++ kernel/kernel-4.9/drivers/mmc/core/sd.c	
@@ -801,7 +801,7 @@
 	 */
 	if (!mmc_host_is_spi(host) && rocr &&
 	   ((*rocr & 0x41000000) == 0x41000000)) {
-		err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_180,
+		err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330,
 					pocr);
 		if (err == -EAGAIN) {
 			retries--;
@@ -823,7 +823,7 @@
 		 * commands at 1.8V will fail and the host controller enumerates
 		 * the card in HS mode in the next retry.
 		 */
-		err = __mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_180);
+		err = __mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330);
 		if (!err) {
 			*rocr |= SD_ROCR_S18A;
 		}

Thank you.

Hi,

I have helped around 20~ 30 cases to enable sdmmc3 over custom board. None of them needs to add this patch.

This patch only proves the fact that your board still has some design problem so that you need to force the 3.3v.