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

Attachment: signature.asc
Description: PGP signature

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to