diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
index 0aef13215e770f6fa12e6df4c95c0ebe85a55131..9ed8da39efbc0665f25ba80904b938137efcbe74 100644
--- a/drivers/mmc/Kconfig
+++ b/drivers/mmc/Kconfig
@@ -299,7 +299,7 @@ config MMC_SDHCI_TEGRA
 
 config MMC_SUNXI
 	bool "Allwinner sunxi SD/MMC Host Controller support"
-	depends on ARCH_SUNXI
+	depends on ARCH_SUNXI && !UART0_PORT_F
 	default y
 	help
 	  This selects support for the SD/MMC Host Controller on
diff --git a/drivers/mmc/pic32_sdhci.c b/drivers/mmc/pic32_sdhci.c
index fd2f5e3d5a85ef4ce5d44d0861129c02d8733bb3..c06364cfc1205fe42e59e6a55d04f96a42875933 100644
--- a/drivers/mmc/pic32_sdhci.c
+++ b/drivers/mmc/pic32_sdhci.c
@@ -15,7 +15,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-static int pci32_sdhci_get_cd(struct sdhci_host *host)
+static int pic32_sdhci_get_cd(struct sdhci_host *host)
 {
 	/* PIC32 SDHCI CD errata:
 	 * - set CD_TEST and clear CD_TEST_INS bit
@@ -26,7 +26,7 @@ static int pci32_sdhci_get_cd(struct sdhci_host *host)
 }
 
 static const struct sdhci_ops pic32_sdhci_ops = {
-	.get_cd	= pci32_sdhci_get_cd,
+	.get_cd	= pic32_sdhci_get_cd,
 };
 
 static int pic32_sdhci_probe(struct udevice *dev)
diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
index 3a1f4f758c37f8d286f7c0c5e46c0cb555abb98a..5b404ff4a32b9b35d7a1ed2ef18882720b7cbb5f 100644
--- a/drivers/mmc/sdhci.c
+++ b/drivers/mmc/sdhci.c
@@ -359,7 +359,7 @@ static int sdhci_set_clock(struct mmc *mmc, unsigned int clock)
 		div >>= 1;
 	}
 
-	if (host->ops->set_clock)
+	if (host->ops && host->ops->set_clock)
 		host->ops->set_clock(host, div);
 
 	clk |= (div & SDHCI_DIV_MASK) << SDHCI_DIVIDER_SHIFT;
@@ -427,7 +427,7 @@ static int sdhci_set_ios(struct mmc *mmc)
 	u32 ctrl;
 	struct sdhci_host *host = mmc->priv;
 
-	if (host->ops->set_control_reg)
+	if (host->ops && host->ops->set_control_reg)
 		host->ops->set_control_reg(host);
 
 	if (mmc->clock != host->clock)
@@ -480,7 +480,7 @@ static int sdhci_init(struct mmc *mmc)
 
 	sdhci_set_power(host, fls(mmc->cfg->voltages) - 1);
 
-	if (host->ops->get_cd)
+	if (host->ops && host->ops->get_cd)
 		host->ops->get_cd(host);
 
 	/* Enable only interrupts served by the SD controller */