u-boot-brain/drivers
Marek Vasut b9a2a0e2e9 mmc: Add support for downgrading HS200/HS400 to HS mode
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+renesas@gmail.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
2019-01-15 15:28:42 -05:00
..
adc dm: adc: add uclass's mask and conversion helpers 2018-11-20 12:35:25 -05:00
ata scsi: ceva: add ls2080a soc support 2018-12-06 14:38:03 -08:00
axi drivers: cosmetic: Convert SPDX license tags to Linux Kernel style 2018-10-28 09:26:39 -04:00
bios_emulator bios_emulator: remove assignment without effect 2018-07-23 14:33:21 -04:00
block blk: Rework guard around part_init call 2018-12-12 12:14:22 -05:00
board drivers: cosmetic: Convert SPDX license tags to Linux Kernel style 2018-10-28 09:26:39 -04:00
bootcount bootcount: add a DM RTC backing store for bootcount 2018-12-10 10:04:45 +01:00
clk clk: MediaTek: bind ethsys reset controller 2019-01-14 17:43:18 -05:00
core syscon: update syscon_node_to_regmap to use the DM functions 2018-12-15 11:49:56 -05:00
cpu cpu: Add a RISC-V CPU driver 2018-12-18 09:56:26 +08:00
crypto SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ddr drivers: ddr: introduce DDR driver for i.MX8M 2019-01-01 14:12:18 +01:00
demo SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dfu dfu: nand: Add missing dependency on CMD_MTDPARTS 2018-11-13 18:53:10 +05:30
dma dma: add bcm6348-iudma support 2018-12-19 15:23:00 +01:00
fastboot drivers: cosmetic: Convert SPDX license tags to Linux Kernel style 2018-10-28 09:26:39 -04:00
firmware firmware: psci: introduce SPL_ARM_PSCI_FW 2018-12-12 12:14:25 -05:00
fpga arm: socfpga: stratix10: Add Stratix10 FPGA into FPGA device table 2018-12-20 17:12:25 +01:00
gpio gpio: stm32f7: Fix SPL code size 2019-01-09 07:13:33 -05:00
hwspinlock hwspinlock: add stm32 hardware spinlock support 2018-12-06 23:26:33 -05:00
i2c i2c: tegra: Fix regression by implementing a dummy probe_chip() callback 2018-12-12 06:06:14 +01:00
input input: i8042: Use remove() instead of exported functions 2018-12-05 06:01:35 -07:00
led dm: led: move default state support in led uclass 2018-08-10 10:27:32 -04:00
mailbox drivers: cosmetic: Convert SPDX license tags to Linux Kernel style 2018-10-28 09:26:39 -04:00
memory SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
misc misc: imx8: scu: use platdata instead of priv data 2019-01-09 17:04:03 +01:00
mmc mmc: Add support for downgrading HS200/HS400 to HS mode 2019-01-15 15:28:42 -05:00
mtd Merge branch 'master' of git://git.denx.de/u-boot-spi 2019-01-02 14:20:29 -05:00
net ethernet: MediaTek: add ethernet driver for MediaTek ARM-based SoCs 2019-01-14 17:43:18 -05:00
nvme blk: Call part_init() in the post_probe() method 2018-11-14 09:16:27 -08:00
pch SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pci video: Allow driver to specify the line length 2018-12-03 19:09:44 +01:00
pcmcia SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
phy phy: omap_usb2: Add support for am437x 2018-12-14 17:59:09 +01:00
pinctrl Revert "dm: pinctrl: Prevent (re-)configuring pins when already done before relocation" 2019-01-11 10:03:42 -05:00
power power: regulator: Allow PWM regulator to be omitted from SPL. 2019-01-02 22:38:09 +01:00
pwm pwm: sunxi: choose best prescaler to improve PWM resolution 2018-10-24 21:57:16 +05:30
qe drivers: qe: add TFABOOT support 2018-12-06 14:37:51 -08:00
ram rockchip: ram: update license for sdram driver 2019-01-02 22:37:10 +01:00
remoteproc spl: Allow remoteproc drivers to be used within SPL 2018-09-11 08:32:55 -04:00
reset reset: MedaiTek: add reset controller driver for MediaTek SoCs 2019-01-14 17:43:18 -05:00
rtc rtc: m41t62: Convert the RTC driver to support the driver model (DM) 2018-12-03 10:44:10 -05:00
scsi blk: Call part_init() in the post_probe() method 2018-11-14 09:16:27 -08:00
serial drivers: serial: Add SiFive UART driver 2018-12-18 09:56:54 +08:00
smem drivers: smem: sandbox 2018-07-19 16:31:38 -04:00
soc SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sound dm: sound: Use the correct number of channels for sound 2018-12-13 16:37:10 -07:00
spi spi: sun4i: Add rx_buf NULL pointer check 2019-01-02 00:54:05 +05:30
spmi SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sysreset sandbox: sysreset: Update to support power-on reset 2018-12-05 06:01:34 -07:00
tee tee: change return code for REE FS supplicant cmd 2018-12-15 11:49:19 -05:00
thermal SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
timer timer: Add generic driver for RISC-V privileged architecture defined timer 2018-12-18 09:56:26 +08:00
tpm tpm: Export the open/close functions 2018-11-29 09:30:06 -07:00
usb dm: usb: gadget: Fix boot breakage on sunxi platforms 2019-01-10 18:53:03 +01:00
video video: Add a default TrueType font 2018-12-28 12:27:53 +01:00
virtio virtio: Add a Sandbox transport driver 2018-11-14 09:16:28 -08:00
w1 w1: Add driver for i.MX bus master controller 2019-01-01 14:12:18 +01:00
w1-eeprom w1-eeprom: Add support for Maxim DS2502 add only memory 2018-11-16 16:51:55 -05:00
watchdog watchdog: imx: add config to disable wdog reset 2019-01-01 14:12:18 +01:00
Kconfig dm: Add Hardware Spinlock class 2018-12-06 23:26:32 -05:00
Makefile Kconfig: rename CONFIG_SPL_USB_GADGET_SUPPORT as CONFIG_SPL_USB_GADGET 2019-01-10 18:52:55 +01:00