sunxi: Remove the MMC index hack
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Wed, 23 Aug 2017 08:12:22 +0000 (10:12 +0200)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Tue, 3 Oct 2017 17:12:06 +0000 (19:12 +0200)
commitde86fc3859f9c9ae26faed6f9d8fc115e1329b4f
treeca874a378ccb688f362f703ac3bcdff258f8e63a
parentf4c3523c98588b528601f40c0c16106379ea6eda
sunxi: Remove the MMC index hack

The current code, if there's both an eMMC and an MMC slot available on the
board, will swap the MMC indices based on whether we booted from the eMMC
or the MMC. This way, the MMC we're supposed to boot on will always have
the index 0.

However, this causes various issues, for example when using other
components that base their behaviour on the MMC index, such as fastboot.

Let's remove that hack, and take the opposite approach. The MMC will always
have the same index, but the bootcmd will pick the same device than the one
we booted from. This is done through the introduction of the mmc_bootdev
environment variable that will be filled by the board code based on the
boot device informations we can get from the SoC.

In order to not introduce regressions, we also need to adjust the fastboot
MMC device and the environment device in order to set it to the eMMC, over
the MMC, like it used to be the case.

Tested-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
board/sunxi/board.c
cmd/fastboot/Kconfig
configs/A20-OLinuXino-Lime2-eMMC_defconfig
configs/Sinlinx_SinA33_defconfig
configs/parrot_r16_defconfig
include/configs/sunxi-common.h