OrangePi-RV2: Speedup for fast SD cards with the Linux MMC kernel driver.
Disable U-Boot CONFIG_MMC_UHS_SUPPORT otherwise a fast SD card does not report "1.8 Volt mode switch possible" on kernel init which in turn does not enable SDR104 for my SDXC card. Fast mode ok is visible in the kernel log after booting from SD card: root@orangepirv2:~# dmesg |grep mmc [ 2.198816] mmc0: SDHCI controller on d4280000.sdh [d4280000.sdh] using ADMA [ 2.224576] mmc1: SDHCI controller on d4280800.sdh [d4280800.sdh] using ADMA [ 2.272657] mmc0: set tx_delaycode: 159 [ 2.273950] mmc0: pass window [6 68) [ 2.276301] mmc0: pass window [72 198) [ 2.277591] mmc0: pass window [219 255) [ 2.277599] mmc0: tuning done, use the firstly delay_code:134 [ 2.277611] mmc0: new ultra high speed SDR104 SDXC card at address b36b With UHS already enabled in u-boot, no tuning and no SDR104 mode is switched on in the Linux kernel. Seems to be a side effect of an un-complete mmc_deinit() in u-boot/driver/mmc/mmc.c. With MMC_UHS_SUPPORT disabled, the SD card does report SD_ROCR_S18A with then leads to enter spacemit_sdhci_execute_sw_tuning() and the subsequent switch to SDK104 or probably other 1.8 Volt modes is fine. This is at least true for my OrangePi RV2 board. Signed-off-by: Sven-Ola Tuecke <sven-ola@gmx.de>
This commit is contained in:
parent
7c0d37997c
commit
2be970ac84
@ -10,6 +10,11 @@ SRC_EXTLINUX="yes"
|
||||
SRC_CMDLINE="earlycon=sbi console=tty1 console=ttyS0,115200 loglevel=1"
|
||||
PACKAGE_LIST_BOARD=""
|
||||
|
||||
function post_config_uboot_target__extra_configs_for_orangepi() {
|
||||
display_alert "$BOARD" "disable MMC UHS support to speed up MMC under Linux" "info"
|
||||
run_host_command_logged scripts/config --disable CONFIG_MMC_UHS_SUPPORT
|
||||
}
|
||||
|
||||
write_uboot_platform_mtd() {
|
||||
if [ -b /dev/mtdblock0 ]; then
|
||||
dd if="${1}/bootinfo_spinor.bin" of=/dev/mtdblock0 bs=65536 status=none;
|
||||
|
||||
@ -16,6 +16,11 @@ case "${BRANCH}" in edge)
|
||||
enable_extension "bcmdhd-spacemit"
|
||||
;;esac
|
||||
|
||||
function post_config_uboot_target__extra_configs_for_orangepi() {
|
||||
display_alert "$BOARD" "disable MMC UHS support to speed up MMC under Linux" "info"
|
||||
run_host_command_logged scripts/config --disable CONFIG_MMC_UHS_SUPPORT
|
||||
}
|
||||
|
||||
write_uboot_platform_mtd() {
|
||||
if [ -b /dev/mtdblock0 ]; then
|
||||
dd if="${1}/bootinfo_spinor.bin" of=/dev/mtdblock0 bs=65536 status=none;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user