On Thu, Jan 03, 2019 at 09:19:24PM +0100, Marek Vasut wrote: > The mmc_select_mode_and_width() function can be called while the card > is in HS200/HS400 mode and can be used to downgrade the card to lower > mode, e.g. HS. This is used for example by mmc_boot_part_access_chk() > which cannot access the card in HS200/HS400 mode and which is in turn > called by saveenv if env is in the MMC. > > In such case, forcing the card clock to legacy frequency cannot work. > Instead, the card must be switched to HS mode first, from which it can > then be reprogrammed as needed. > > However, this procedure needs additional code changes, since the current > implementation checks whether the card correctly switched to HS mode in > mmc_set_card_speed(). The check only expects that the card will be going > to HS mode from lower modes, not from higher modes, hence add a parameter > which indicates that the HS200/HS400 to HS downgrade is happening. This > makes the code send the switch command first, reconfigure the controller > next and finally perform the EXT_CSD readback check. The last two steps > cannot be done in reverse order as the card is already in HS mode when > the clock are being switched on the controller side. > > Signed-off-by: Marek Vasut <marek.vasut+rene...@gmail.com> > Cc: Jaehoon Chung <jh80.ch...@samsung.com>
Applied to u-boot/master, thanks! -- Tom
signature.asc
Description: PGP signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot