Skip to contentSkip to conversation

mmc: forced sector mode when accessing OCR register

PATCH New Davide Bonfanti 2 participants 3 messages Nov 29, 2012 MMC, SD and SDIO

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mmc: forced sector mode when accessing OCR register

Some eMMC require this setting to work properly. Tested on:
- Toshiba THGBM2G8D8FBAIB (the one giving the problem)
- Toshiba THGBM4G4D1HBAR
- Micron MTFC4GMVEA
- Hynix H26M64002BNR
- SanDisk SDIN5E1-32G

---
 drivers/mmc/mmc.c |    3 ++-
 include/mmc.h     |    1 +
 2 files changed, 3 insertions(+), 1 deletion(-)
drivers/mmc/mmc.c +2 -1
index 5ffd8c5..cf66811 100644
@@ -530,7 +530,8 @@ static int mmc_send_op_cond(struct mmc *mmc)
   cmd.cmdarg = (mmc_host_is_spi(mmc) ? 0 :
     (mmc->voltages &
     (cmd.response[0] & OCR_VOLTAGE_MASK)) |
-    (cmd.response[0] & OCR_ACCESS_MODE));
+    (cmd.response[0] & OCR_ACCESS_MODE)) |
+    OCR_ACCESS_SECTOR_MODE;
 
   if (mmc->host_caps & MMC_MODE_HC)
    cmd.cmdarg |= OCR_HCS;
include/mmc.h +1 -0
index a13e2bd..f1314d8 100644
@@ -108,6 +108,7 @@
 #define OCR_HCS   0x40000000
 #define OCR_VOLTAGE_MASK 0x007FFF80
 #define OCR_ACCESS_MODE  0x60000000
+#define OCR_ACCESS_SECTOR_MODE  (1 << 30)
 
 #define SECURE_ERASE  0x80000000
 
Signature · 20 lines
1.7.9.5



Ce message, ainsi que tous les fichiers joints ? ce message,
peuvent contenir des informations sensibles et/ ou confidentielles
ne devant pas ?tre divulgu?es. Si vous n'?tes pas le destinataire
de ce message (ou que vous recevez ce message par erreur), nous
vous remercions de le notifier imm?diatement ? son exp?diteur, et
de d?truire ce message. Toute copie, divulgation, modification,
utilisation ou diffusion, non autoris?e, directe ou indirecte, de
tout ou partie de ce message, est strictement interdite.

This e-mail, and any document attached hereby, may contain
confidential and/or privileged information. If you are not the
intended recipient (or have received this e-mail in error) please
notify the sender immediately and destroy this e-mail. Any
unauthorized, direct or indirect, copying, disclosure, distribution
or other use of the material or parts thereof is strictly
forbidden.
#1 lore raw

PATCH 1/1 mmc: forced sector mode when accessing OCR register

Hi,

i didn't understand why need to set by force?

Best Regards,
Jaehoon Chung

2012/11/29 Davide Bonfanti <[email protected]>:

Quoted 66 lines

Some eMMC require this setting to work properly. Tested on:
- Toshiba THGBM2G8D8FBAIB (the one giving the problem)
- Toshiba THGBM4G4D1HBAR
- Micron MTFC4GMVEA
- Hynix H26M64002BNR
- SanDisk SDIN5E1-32G

---
 drivers/mmc/mmc.c |    3 ++-
 include/mmc.h     |    1 +
 2 files changed, 3 insertions(+), 1 deletion(-)
drivers/mmc/mmc.c +2 -1
index 5ffd8c5..cf66811 100644
@@ -530,7 +530,8 @@ static int mmc_send_op_cond(struct mmc *mmc)
   cmd.cmdarg = (mmc_host_is_spi(mmc) ? 0 :
     (mmc->voltages &
     (cmd.response[0] & OCR_VOLTAGE_MASK)) |
-    (cmd.response[0] & OCR_ACCESS_MODE));
+    (cmd.response[0] & OCR_ACCESS_MODE)) |
+    OCR_ACCESS_SECTOR_MODE;
 
   if (mmc->host_caps & MMC_MODE_HC)
    cmd.cmdarg |= OCR_HCS;
include/mmc.h +1 -1
index a13e2bd..f1314d8 100644
@@ -108,6 +108,7 @@
 #define OCR_HCS   0x40000000
 #define OCR_VOLTAGE_MASK 0x007FFF80
 #define OCR_ACCESS_MODE  0x60000000
+#define OCR_ACCESS_SECTOR_MODE  (1 << 30)
 
 #define SECURE_ERASE  0x80000000
 
--

1.7.9.5

Ce message, ainsi que tous les fichiers joints ? ce message, peuvent contenir des informations sensibles et/ ou confidentielles ne devant pas ?tre divulgu?es. Si vous n'?tes pas le destinataire de ce message (ou que vous recevez ce message par erreur), nous vous remercions de le notifier imm?diatement ? son exp?diteur, et de d?truire ce message. Toute copie, divulgation, modification, utilisation ou diffusion, non autoris?e, directe ou indirecte, de tout ou partie de ce message, est strictement interdite.

This e-mail, and any document attached hereby, may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized, direct or indirect, copying, disclosure, distribution or other use of the material or parts thereof is strictly forbidden.
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

#2 lore raw

PATCH 1/1 mmc: forced sector mode when accessing OCR register

It seems to me a bug of the specific mmc like if that it declares byte-mode, but supports only sector mode.

Sincerely I don't know if it is a good idea to accept a workaround like this, but this is the only way I found to have my board working.

Best Regards,
Davide Bonfanti

-----Jae hoon Chung <[email protected]> ha scritto: -----Per: Davide Bonfanti <[email protected]>
Da: Jae hoon Chung <[email protected]>
Data: 29/11/2012 16:10
Cc: u-boot at lists.denx.de, afleming at gmail.com, Jaehoon Chung <[email protected]>
Oggetto: Re: [U-Boot] [PATCH v0] mmc: forced sector mode when accessing OCR register

Hi,

i didn't understand why need to set by force?

Best Regards,
Jaehoon Chung

2012/11/29 Davide Bonfanti <[email protected]>:

Quoted 66 lines

Some eMMC require this setting to work properly. Tested on:
?- Toshiba THGBM2G8D8FBAIB (the one giving the problem) ?- Toshiba THGBM4G4D1HBAR
?- Micron MTFC4GMVEA
?- Hynix H26M64002BNR
?- SanDisk SDIN5E1-32G

---
?drivers/mmc/mmc.c | ? ?3 ++-
?include/mmc.h ? ? | ? ?1 +
?2 files changed, 3 insertions(+), 1 deletion(-)

drivers/mmc/mmc.c +0 -0
index 5ffd8c5..cf66811 100644
@@ -530,7 +530,8 @@ static int mmc_send_op_cond(struct mmc *mmc)

? ?cmd.cmdarg = (mmc_host_is_spi(mmc) ? 0 :
? ? ?(mmc->voltages &
? ? ?(cmd.response[0] & OCR_VOLTAGE_MASK)) |
- ? ?(cmd.response[0] & OCR_ACCESS_MODE));
+ ? ?(cmd.response[0] & OCR_ACCESS_MODE)) |
+ ? ?OCR_ACCESS_SECTOR_MODE;

? ?if (mmc->host_caps & MMC_MODE_HC)
? ? cmd.cmdarg |= OCR_HCS;

include/mmc.h +0 -0
index a13e2bd..f1314d8 100644
@@ -108,6 +108,7 @@

?#define OCR_HCS ? 0x40000000
?#define OCR_VOLTAGE_MASK 0x007FFF80
?#define OCR_ACCESS_MODE ?0x60000000
+#define OCR_ACCESS_SECTOR_MODE ?(1 << 30)

?#define SECURE_ERASE ?0x80000000

--
1.7.9.5

Ce message, ainsi que tous les fichiers joints ? ce message, peuvent contenir des informations sensibles et/ ou confidentielles ne devant pas ?tre divulgu?es. Si vous n'?tes pas le destinataire de ce message (ou que vous recevez ce message par erreur), nous vous remercions de le notifier imm?diatement ? son exp?diteur, et de d?truire ce message. Toute copie, divulgation, modification, utilisation ou diffusion, non autoris?e, directe ou indirecte, de tout ou partie de ce message, est strictement interdite.

This e-mail, and any document attached hereby, may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized, direct or indirect, copying, disclosure, distribution or other use of the material or parts thereof is strictly forbidden.
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot