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.