Force SDIO 2.0 high speed mode on 4373.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
MiSa_2357281
Level 3
Level 3
Distributor - Macnica (Japan)
5 replies posted 250 sign-ins First solution authored

Hello,

We try to test using SDIOv3 UHS-1(SDR104) mode.
It has supported this mode by SDIO Host controller.

However , We need to test using SDIO2.0 High Seppd Mode .

Does you have a good idea to force the Infineon 4373 to work in SDIO 2.0 High Speed mode?


Thanks,,

0 Likes
1 Solution
KeOn_
Level 5
Level 5
Distributor - Macnica (Japan)
100 sign-ins 25 replies posted 10 solutions authored

I think that there is way to modify the mmc driver for kernel.
Please apply this patch.
It will be disabled the SDIO 3.0 setting.

--- a/drivers/mmc/core/sdio.c
+++ a/drivers/mmc/core/sdio.c
@@ -148,6 +148,7 @@
         card->scr.sda_spec3 = 0;
         card->sw_caps.sd3_bus_mode = 0;
         card->sw_caps.sd3_drv_type = 0;
+#if 0        
         if (cccr_vsn >= SDIO_CCCR_REV_3_00 && uhs) {
             card->scr.sda_spec3 = 1;
             ret = mmc_io_rw_direct(card, 0, 0,
@@ -181,6 +182,7 @@
             if (data & SDIO_DRIVE_SDTD)
                 card->sw_caps.sd3_drv_type |= SD_DRIVER_TYPE_D;
         }
+#endif

         /* if no uhs mode ensure we check for high speed */
         if (!card->sw_caps.sd3_bus_mode) {


This patch is for Linux Kernel 5.4.

View solution in original post

1 Reply
KeOn_
Level 5
Level 5
Distributor - Macnica (Japan)
100 sign-ins 25 replies posted 10 solutions authored

I think that there is way to modify the mmc driver for kernel.
Please apply this patch.
It will be disabled the SDIO 3.0 setting.

--- a/drivers/mmc/core/sdio.c
+++ a/drivers/mmc/core/sdio.c
@@ -148,6 +148,7 @@
         card->scr.sda_spec3 = 0;
         card->sw_caps.sd3_bus_mode = 0;
         card->sw_caps.sd3_drv_type = 0;
+#if 0        
         if (cccr_vsn >= SDIO_CCCR_REV_3_00 && uhs) {
             card->scr.sda_spec3 = 1;
             ret = mmc_io_rw_direct(card, 0, 0,
@@ -181,6 +182,7 @@
             if (data & SDIO_DRIVE_SDTD)
                 card->sw_caps.sd3_drv_type |= SD_DRIVER_TYPE_D;
         }
+#endif

         /* if no uhs mode ensure we check for high speed */
         if (!card->sw_caps.sd3_bus_mode) {


This patch is for Linux Kernel 5.4.