summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2017-06-26 23:36:15 (GMT)
committerBin Meng <bmeng.cn@gmail.com>2017-06-27 08:31:30 (GMT)
commitda2364cc14a0b34411c4a228ae687a23504afe04 (patch)
tree137855067bd0e1c6413fb6cbe4341a531cf9ef88 /arch
parent7df4ff2c2689a6d3c16eb0c3cce098fcac622b0c (diff)
downloadu-boot-da2364cc14a0b34411c4a228ae687a23504afe04.tar.xz
Revert "x86: Convert MMC to driver model"
This reverts commit ddb3ac3c716f56cead695444e65a7ba7b0946555. With MMC converted to driver model, SCSI driver is broken due to zero address access at (ops->read) in block_dread() function. The fix (SCSI driver converted to DM) is ready in u-boot-dm branch, but it is too late for this relese to get that in. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/Kconfig1
-rw-r--r--arch/x86/cpu/baytrail/valleyview.c12
-rw-r--r--arch/x86/cpu/quark/quark.c10
-rw-r--r--arch/x86/cpu/queensbay/Makefile2
-rw-r--r--arch/x86/cpu/queensbay/topcliff.c20
5 files changed, 43 insertions, 2 deletions
diff --git a/arch/Kconfig b/arch/Kconfig
index e447671..d04ab9f 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -96,7 +96,6 @@ config X86
select DM_SPI
select DM_SPI_FLASH
select USB_EHCI_HCD
- select DM_MMC if MMC
imply CMD_FPGA_LOADMK
imply CMD_GETTIME
imply CMD_IO
diff --git a/arch/x86/cpu/baytrail/valleyview.c b/arch/x86/cpu/baytrail/valleyview.c
index c58f6a8..87ba849 100644
--- a/arch/x86/cpu/baytrail/valleyview.c
+++ b/arch/x86/cpu/baytrail/valleyview.c
@@ -11,6 +11,18 @@
#include <asm/mrccache.h>
#include <asm/post.h>
+static struct pci_device_id mmc_supported[] = {
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BYT_SDIO },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BYT_SD },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BYT_EMMC2 },
+ {},
+};
+
+int cpu_mmc_init(bd_t *bis)
+{
+ return pci_mmc_init("ValleyView SDHCI", mmc_supported);
+}
+
#ifndef CONFIG_EFI_APP
int arch_cpu_init(void)
{
diff --git a/arch/x86/cpu/quark/quark.c b/arch/x86/cpu/quark/quark.c
index c36a589..0c2cea4 100644
--- a/arch/x86/cpu/quark/quark.c
+++ b/arch/x86/cpu/quark/quark.c
@@ -16,6 +16,11 @@
#include <asm/arch/msg_port.h>
#include <asm/arch/quark.h>
+static struct pci_device_id mmc_supported[] = {
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QRK_SDIO },
+ {},
+};
+
static void quark_setup_mtrr(void)
{
u32 base, mask;
@@ -323,6 +328,11 @@ int arch_early_init_r(void)
return 0;
}
+int cpu_mmc_init(bd_t *bis)
+{
+ return pci_mmc_init("Quark SDHCI", mmc_supported);
+}
+
int arch_misc_init(void)
{
#ifdef CONFIG_ENABLE_MRC_CACHE
diff --git a/arch/x86/cpu/queensbay/Makefile b/arch/x86/cpu/queensbay/Makefile
index c068199..af3ffad 100644
--- a/arch/x86/cpu/queensbay/Makefile
+++ b/arch/x86/cpu/queensbay/Makefile
@@ -5,4 +5,4 @@
#
obj-y += fsp_configs.o irq.o
-obj-y += tnc.o
+obj-y += tnc.o topcliff.o
diff --git a/arch/x86/cpu/queensbay/topcliff.c b/arch/x86/cpu/queensbay/topcliff.c
new file mode 100644
index 0000000..b76dd7d
--- /dev/null
+++ b/arch/x86/cpu/queensbay/topcliff.c
@@ -0,0 +1,20 @@
+/*
+ * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <mmc.h>
+#include <pci_ids.h>
+
+static struct pci_device_id mmc_supported[] = {
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TCF_SDIO_0 },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TCF_SDIO_1 },
+ {},
+};
+
+int cpu_mmc_init(bd_t *bis)
+{
+ return pci_mmc_init("Topcliff SDHCI", mmc_supported);
+}