From: Hannes Petermaier <hannes@petermaier.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] mmc: question about capacity detection
Date: Tue, 05 Aug 2014 09:20:31 +0200 [thread overview]
Message-ID: <53E085BF.709@petermaier.org> (raw)
hi folks,
i am actually trying to enable the "enhanced data area" on an 4GB emmc
device, this i've done successfully with the linux mmc-utils and the
card has after this "partitioning" 2GB user-partition.
Linux kernel deals correctly with the card.
U-Boot doesn't:
"
MMC: block number 0x301 exceeds max(0x0)
spl: mmc blk read err - 0
### ERROR ### Please RESET the board ###
"
So i debugged around and found the capacity-calculation, which i don't
fully understand.
"
if (mmc->high_capacity) {
csize = (mmc->csd[1] & 0x3f) << 16
| (mmc->csd[2] & 0xffff0000) >> 16;
cmult = 8;
} else {
csize = (mmc->csd[1] & 0x3ff) << 2
| (mmc->csd[2] & 0xc0000000) >> 30;
cmult = (mmc->csd[2] & 0x00038000) >> 15;
}
"
The else path does for my opinion the right calculation according the
mmc-specification, the "high_capacity" path i do not understand at all,
neither i found some specification for this.
In fact my 4GB card (with 2GB enhanced area) works only with "the else"
path.
my csd Registers:
MMC-card dection:
ocr : 0xc0ff8080
csd[0] : 0xd04f0132
csd[1] : 0x0f5a13ff
csd[2] : 0xffffffe7
csd[3] : 0x8a4000f1
c_size : 0x00000000003fffff
c_mult : 0x0000000000000008
U-Boot (BuR V2.0)# mmc info
Device: OMAP SD/MMC
Manufacturer ID: fe
OEM: 14e
Name: MMC04
Tran Speed: 52000000
Rd Block Len: 512
MMC version 4.41
High Capacity: Yes
Capacity: 4 TiB
Bus Width: 1-bit
any ideas ?
best regards,
Hannes
next reply other threads:[~2014-08-05 7:20 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-05 7:20 Hannes Petermaier [this message]
2014-08-05 8:55 ` [U-Boot] mmc: question about capacity detection Hannes Petermaier
2014-08-05 11:07 ` [U-Boot] hw_watchdog andrew
2014-08-05 12:22 ` Hannes Petermaier
2014-08-05 18:49 ` Jeroen Hofstee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53E085BF.709@petermaier.org \
--to=hannes@petermaier.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.