summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2019-06-25 23:52:04 +0300
committerBin Meng <bmeng.cn@gmail.com>2019-08-09 22:24:02 +0800
commit42ef7079224abc7c6073c0bab63f3aa6fffd5d00 (patch)
treed3b7627f469d8ccf81729b0a12d002d8e84069ed
parentfef408679b2f634ebfd6298d9fc99db99e60fb1d (diff)
downloadu-boot-42ef7079224abc7c6073c0bab63f3aa6fffd5d00.tar.gz
x86: edison: Enable SD slot
Enable SD slot on Intel Edison platform. By default firmware doesn't put device on active state. Thus, we have to do this explicitly. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
-rw-r--r--arch/x86/dts/edison.dts5
-rw-r--r--board/intel/edison/edison.c10
-rw-r--r--configs/edison_defconfig1
3 files changed, 11 insertions, 5 deletions
diff --git a/arch/x86/dts/edison.dts b/arch/x86/dts/edison.dts
index c0487656d3..df24aa0d26 100644
--- a/arch/x86/dts/edison.dts
+++ b/arch/x86/dts/edison.dts
@@ -84,15 +84,10 @@
reg = <0xff3fc000 0x1000>;
};
-/*
- * FIXME: For now U-Boot DM model doesn't allow to power up this controller.
- * Enabling it will make U-Boot hang.
- *
sdcard: mmc@ff3fa000 {
compatible = "intel,sdhci-tangier";
reg = <0xff3fa000 0x1000>;
};
- */
pmu: power@ff00b000 {
compatible = "intel,pmu-mid";
diff --git a/board/intel/edison/edison.c b/board/intel/edison/edison.c
index 5faf3c57f2..d80ee3aa8a 100644
--- a/board/intel/edison/edison.c
+++ b/board/intel/edison/edison.c
@@ -13,9 +13,19 @@
#include <linux/usb/gadget.h>
#include <asm/cache.h>
+#include <asm/pmu.h>
#include <asm/scu.h>
#include <asm/u-boot-x86.h>
+/* List of Intel Tangier LSSs */
+#define PMU_LSS_TANGIER_SDIO0_01 1
+
+int board_early_init_r(void)
+{
+ pmu_turn_power(PMU_LSS_TANGIER_SDIO0_01, true);
+ return 0;
+}
+
static struct dwc3_device dwc3_device_data = {
.maximum_speed = USB_SPEED_HIGH,
.base = CONFIG_SYS_USB_OTG_BASE,
diff --git a/configs/edison_defconfig b/configs/edison_defconfig
index 468754493e..cac6e4201f 100644
--- a/configs/edison_defconfig
+++ b/configs/edison_defconfig
@@ -4,6 +4,7 @@ CONFIG_NR_DRAM_BANKS=3
CONFIG_VENDOR_INTEL=y
CONFIG_TARGET_EDISON=y
CONFIG_SMP=y
+CONFIG_BOARD_EARLY_INIT_R=y
CONFIG_LAST_STAGE_INIT=y
CONFIG_HUSH_PARSER=y
# CONFIG_CMDLINE_EDITING is not set