Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Sep 2018 00:52:38 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   A possible e.MMC CMD protocol violation?
Message-ID:  <10C361F4-9DA4-4FD8-9D33-13112AE41DA4@yahoo.com>

next in thread | raw e-mail | index | archive | help
In my investigation that lead to a hack that allows
use of e.MMC on a microsd card adapter to boot
a Pine64+ 2GB, I ran into a separate, earlier in
time issue that seemed to contradict what I was
reading about the e.MMC protocol's Device states
and what operations are allowed/expected in each
state vs. not being allowed/expected.

In:

mmc0: Card at relative address 0x0002 added:
mmc0:  card: MMCHC DJNB4R 0.7 SN 9F43B2E7 MFG 06/2016 by 21 0x0000
mmc0:  quirks: 0
mmc0:  bus: 4bit, 200MHz (HS200 timing)
mmc0:  memory: 244277248 blocks, erase sector 1024 blocks
mmc0: REQUEST: CMD7 arg 0 flags 0
uhub2: 1 port with 1 removable, self powered
mmc0: REQUEST: CMD2 arg 0 flags 0x67
AW_MMC_INT_RESP_TIMEOUT 
mmc0: CMD2 RESULT: 1
mmc0: REQUEST: CMD2 arg 0 flags 0x67
AW_MMC_INT_RESP_TIMEOUT 
mmc0: CMD2 RESULT: 1
mmc0: REQUEST: CMD2 arg 0 flags 0x67
AW_MMC_INT_RESP_TIMEOUT 
mmc0: CMD2 RESULT: 1
mmc0: REQUEST: CMD2 arg 0 flags 0x67
AW_MMC_INT_RESP_TIMEOUT 
mmc0: CMD2 RESULT: 1

the context has already been classified as
mmc instead of sd for the media. The:

mmc0: REQUEST: CMD7 arg 0 flags 0

is always a "device is not addressed" CMD7 and
does one of the following state transitions:

tran -> stby
data -> stby
prg  -> dis
irq  -> stby

No other current-states allow/expect CMD7.

But for:

mmc0: REQUEST: CMD2 arg 0 flags 0x67

there is only:

ready -> ident (device wins bus)
ready -> ready (device loses bus)
irq   -> stby  (both win and lose)

No other current-states allow/expect CMD2.
So stby and dis do not.

(I  got this from a "Device state transitions"
table.)

Yet the sequence above is that form of CMD7 followed
by 4 failing retries of CMD2.

Seems odd to me, unless I've misinterpreted
something.

It may be that the CMD2's are only slightly wasteful
so the "always an error" statue might be a very minor
violation.


[This all resulted from attempting to re-enable using
media that I used to use in the Pine64+ 2GB microsd card
slot and in other example microsd card slot contexts.
For now I've only access to the Pine64+ 2GB as something
with a microsd card slot. But I'm hoping to have all the
examples work when I again have access. The above does
not block use but I figured I'd mention it.]

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?10C361F4-9DA4-4FD8-9D33-13112AE41DA4>