mmc: tmio: Simplify pinmux handling
authorMarek Vasut <marek.vasut+renesas@gmail.com>
Sun, 28 Oct 2018 12:54:10 +0000 (13:54 +0100)
committerMarek Vasut <marex@denx.de>
Fri, 2 Nov 2018 14:57:14 +0000 (15:57 +0100)
commit645a575aeb384c7bf4ffb1204a93d140c0984fee
tree528060f93ba72eb6803dc87d91854573cbfd4645
parente5cb6bd9a2db28338d3595bb3ea30f63624936d6
mmc: tmio: Simplify pinmux handling

The SD UHS SDR12, SDR25, SDR50, SDR104, DDR50 and MMC HS200, HS400
modes all use 1.8V signaling, while all the legacy modes use 3.3V
signaling. While there are extra modes which use 1.2V signaling,
the existing hardware does not support those.

Simplify the pinmux such that 3.3V signaling implies legacy mode
pinmux and the rest implies UHS mode pinmux. This prevents the
massive case statement from growing further. Moreover, it fixes
an edge case where during SD 1.8V switch, the bus mode is still
set to default while the signaling is already set to 1.8V, which
results in an attempt to communicate with a 1.8V card using pins
in 3.3V mode and thus communication failure.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
drivers/mmc/tmio-common.c