]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - board/ti/dra7xx/evm.c
ARM: DRA7x/AM57x: Add MMC/SD fixups for rev1.0 and rev 1.1
[people/ms/u-boot.git] / board / ti / dra7xx / evm.c
index 519475e01f534d69edec9f1060c272cb1a2a9126..06f061c92c88118c7f6aa007b83c4cf7a3d3c98d 100644 (file)
@@ -866,6 +866,35 @@ void board_mmc_poweron_ldo(uint voltage)
                palmas_mmc1_poweron_ldo(LDO1_VOLTAGE, LDO1_CTRL, voltage);
        }
 }
+
+static const struct mmc_platform_fixups dra7x_es1_1_mmc1_fixups = {
+       .hw_rev = "rev11",
+       .unsupported_caps = MMC_CAP(MMC_HS_200) |
+                           MMC_CAP(UHS_SDR104),
+       .max_freq = 96000000,
+};
+
+static const struct mmc_platform_fixups dra7x_es1_1_mmc23_fixups = {
+       .hw_rev = "rev11",
+       .unsupported_caps = MMC_CAP(MMC_HS_200) |
+                           MMC_CAP(UHS_SDR104) |
+                           MMC_CAP(UHS_SDR50),
+       .max_freq = 48000000,
+};
+
+const struct mmc_platform_fixups *platform_fixups_mmc(uint32_t addr)
+{
+       switch (omap_revision()) {
+       case DRA752_ES1_0:
+       case DRA752_ES1_1:
+               if (addr == OMAP_HSMMC1_BASE)
+                       return &dra7x_es1_1_mmc1_fixups;
+               else
+                       return &dra7x_es1_1_mmc23_fixups;
+       default:
+               return NULL;
+       }
+}
 #endif
 
 #ifdef CONFIG_USB_DWC3