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>