diff --git a/edk2-rockchip/Platform/FydeInnovations/FydetabDuo/AcpiTables/Dsdt.asl b/edk2-rockchip/Platform/FydeInnovations/FydetabDuo/AcpiTables/Dsdt.asl index 8e190b4f..689c760b 100644 --- a/edk2-rockchip/Platform/FydeInnovations/FydetabDuo/AcpiTables/Dsdt.asl +++ b/edk2-rockchip/Platform/FydeInnovations/FydetabDuo/AcpiTables/Dsdt.asl @@ -21,6 +21,14 @@ #define BOARD_CODEC_GPIO "\\_SB.GPI1" #define BOARD_CODEC_GPIO_PIN GPIO_PIN_PC0 +// +// WORKAROUND: +// SDMMC may be unreliable at UHS-I speeds. +// +#define SDMMC_CAP_DDR50 0 +#define SDMMC_CAP_SDR50 0 +#define SDMMC_CAP_SDR104 0 + DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) { Scope (\_SB_) diff --git a/edk2-rockchip/Silicon/Rockchip/RK3588/AcpiTables/Sdhc.asl b/edk2-rockchip/Silicon/Rockchip/RK3588/AcpiTables/Sdhc.asl index 2f5da837..058e8e94 100644 --- a/edk2-rockchip/Silicon/Rockchip/RK3588/AcpiTables/Sdhc.asl +++ b/edk2-rockchip/Silicon/Rockchip/RK3588/AcpiTables/Sdhc.asl @@ -8,6 +8,16 @@ #include "AcpiTables.h" +#ifndef SDMMC_CAP_DDR50 +#define SDMMC_CAP_DDR50 1 +#endif +#ifndef SDMMC_CAP_SDR50 +#define SDMMC_CAP_SDR50 1 +#endif +#ifndef SDMMC_CAP_SDR104 +#define SDMMC_CAP_SDR104 1 +#endif + Scope (\_SB_) { Name (SDRM, 1) // SD slot is removable @@ -41,9 +51,9 @@ Scope (\_SB_) { Package () { "max-frequency", 200000000 }, Package () { "bus-width", 4 }, Package () { "cap-sd-highspeed", 1 }, - Package () { "sd-uhs-ddr50", 1 }, - Package () { "sd-uhs-sdr50", 1 }, - Package () { "sd-uhs-sdr104", 1 }, + Package () { "sd-uhs-ddr50", SDMMC_CAP_DDR50 }, + Package () { "sd-uhs-sdr50", SDMMC_CAP_SDR50 }, + Package () { "sd-uhs-sdr104", SDMMC_CAP_SDR104 }, } })