tegra: mmc: Set the bus width correctly
authorSimon Glass <sjg@chromium.org>
Thu, 8 Jun 2017 03:11:48 +0000 (21:11 -0600)
committerTom Warren <twarren@nvidia.com>
Tue, 20 Jun 2017 16:47:59 +0000 (09:47 -0700)
commit542b5f85674b297f0d9aee7e6e50801f6c24bb45
treeac38c4abc9bf273f142fc5d7c3516a139c77d017
parente2351d5cf1e97408b4c52bafeaa85e0ca85c920c
tegra: mmc: Set the bus width correctly

The driver currently does not reset bit 5 of the hostctl register even if
the MMC stack requests it. Then means that once a bus width of 8 is
selected it is not possible to change it back to 1. This breaks
'mmc rescan' which needs to start off with a bus width of 1.

The problem was surfaced by enabling CONFIG_DM_MMC_OPS on tegra. Without
this option the MMC stack fully reinits the driver on a 'mmc rescan'.
But with this option driver model does not re-probe a driver once it has
been probed once.

Fix the driver to honour the request.

Signed-off-by: Simon Glass <sjg@chromium.org>
Tested-by: Peter Chubb <peter.chubb@data61.csiro.au>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
drivers/mmc/tegra_mmc.c