Commit 42ef7079224abc7c6073c0bab63f3aa6fffd5d00

Authored by Andy Shevchenko
Committed by Bin Meng
1 parent fef408679b

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>

Showing 3 changed files with 11 additions and 5 deletions Side-by-side Diff

arch/x86/dts/edison.dts
... ... @@ -84,15 +84,10 @@
84 84 reg = <0xff3fc000 0x1000>;
85 85 };
86 86  
87   -/*
88   - * FIXME: For now U-Boot DM model doesn't allow to power up this controller.
89   - * Enabling it will make U-Boot hang.
90   - *
91 87 sdcard: mmc@ff3fa000 {
92 88 compatible = "intel,sdhci-tangier";
93 89 reg = <0xff3fa000 0x1000>;
94 90 };
95   - */
96 91  
97 92 pmu: power@ff00b000 {
98 93 compatible = "intel,pmu-mid";
board/intel/edison/edison.c
... ... @@ -13,8 +13,18 @@
13 13 #include <linux/usb/gadget.h>
14 14  
15 15 #include <asm/cache.h>
  16 +#include <asm/pmu.h>
16 17 #include <asm/scu.h>
17 18 #include <asm/u-boot-x86.h>
  19 +
  20 +/* List of Intel Tangier LSSs */
  21 +#define PMU_LSS_TANGIER_SDIO0_01 1
  22 +
  23 +int board_early_init_r(void)
  24 +{
  25 + pmu_turn_power(PMU_LSS_TANGIER_SDIO0_01, true);
  26 + return 0;
  27 +}
18 28  
19 29 static struct dwc3_device dwc3_device_data = {
20 30 .maximum_speed = USB_SPEED_HIGH,
configs/edison_defconfig
... ... @@ -4,6 +4,7 @@
4 4 CONFIG_VENDOR_INTEL=y
5 5 CONFIG_TARGET_EDISON=y
6 6 CONFIG_SMP=y
  7 +CONFIG_BOARD_EARLY_INIT_R=y
7 8 CONFIG_LAST_STAGE_INIT=y
8 9 CONFIG_HUSH_PARSER=y
9 10 # CONFIG_CMDLINE_EDITING is not set