diff --git a/patch/kernel/rockchip64-current/general-emmc-hs400es-init-tweak.patch b/patch/kernel/rockchip64-current/general-emmc-hs400es-init-tweak.patch new file mode 100644 index 0000000000..2e09e3eef2 --- /dev/null +++ b/patch/kernel/rockchip64-current/general-emmc-hs400es-init-tweak.patch @@ -0,0 +1,22 @@ +This patch is required to boot some Rock Pi 4 and NanoPC T4 units +with kernel 5.3+ and is on par with how it is done in Rockchip's BSP. + +diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c +index de8fbc396..95858e554 100644 +--- a/drivers/mmc/core/mmc.c ++++ b/drivers/mmc/core/mmc.c +@@ -1371,12 +1371,12 @@ static int mmc_select_hs400es(struct mmc_card *card) + } + + mmc_set_timing(host, MMC_TIMING_MMC_HS); ++ mmc_set_clock(host, card->ext_csd.hs_max_dtr); ++ + err = mmc_switch_status(card); + if (err) + goto out_err; + +- mmc_set_clock(host, card->ext_csd.hs_max_dtr); +- + /* Switch card to DDR with strobe bit */ + val = EXT_CSD_DDR_BUS_WIDTH_8 | EXT_CSD_BUS_WIDTH_STROBE; + err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, diff --git a/patch/kernel/rockchip64-dev/general-emmc-hs400es-init-tweak.patch b/patch/kernel/rockchip64-dev/general-emmc-hs400es-init-tweak.patch new file mode 100644 index 0000000000..2e09e3eef2 --- /dev/null +++ b/patch/kernel/rockchip64-dev/general-emmc-hs400es-init-tweak.patch @@ -0,0 +1,22 @@ +This patch is required to boot some Rock Pi 4 and NanoPC T4 units +with kernel 5.3+ and is on par with how it is done in Rockchip's BSP. + +diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c +index de8fbc396..95858e554 100644 +--- a/drivers/mmc/core/mmc.c ++++ b/drivers/mmc/core/mmc.c +@@ -1371,12 +1371,12 @@ static int mmc_select_hs400es(struct mmc_card *card) + } + + mmc_set_timing(host, MMC_TIMING_MMC_HS); ++ mmc_set_clock(host, card->ext_csd.hs_max_dtr); ++ + err = mmc_switch_status(card); + if (err) + goto out_err; + +- mmc_set_clock(host, card->ext_csd.hs_max_dtr); +- + /* Switch card to DDR with strobe bit */ + val = EXT_CSD_DDR_BUS_WIDTH_8 | EXT_CSD_BUS_WIDTH_STROBE; + err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,