mmc: if possible, poll the busy state using DAT0
authorJean-Jacques Hiblot <jjhiblot@ti.com>
Tue, 2 Jul 2019 08:53:53 +0000 (10:53 +0200)
committerPeng Fan <peng.fan@nxp.com>
Mon, 15 Jul 2019 02:16:49 +0000 (10:16 +0800)
commitcd0b80ec9c97bdd9fb6642671efad8ef3cb33858
treebc7e8387fdbcb8ecc01046ef8fdcf434e73b449a
parent863d10044aae5ee40a9cf9a76aed62822cf45c30
mmc: if possible, poll the busy state using DAT0

Using the DAT0 line as a rdy/busy line is an alternative to reading the
status register of the card. It especially useful in situation where the
bus is not in a good shape, like when modes are switched.
This is also how the linux driver behaves.

Note of warning: As per the specification, while polling on DAT0 the CLK
must not turned off: "[...] Without a clock edge the Device (unless
previously disconnected by a deselect command (CMD7)) will force the DAT0
line down, forever. [...]"

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
drivers/mmc/mmc-uclass.c
drivers/mmc/mmc.c
include/mmc.h