From 131206c8a1a0ea587425d433151781183ecb3c3d Mon Sep 17 00:00:00 2001 From: Ye Li Date: Tue, 8 Nov 2016 10:35:04 +0800 Subject: MLK-13440-2 mx6sllevk: Update USDHC2 parameter for using 1.8V I/O Set the vs18_enable field to 1 for USDHC2 controller which connects to eMMC. Also remove the explicit USDCH2 vendorspec register settings in board codes, since the driver will take charge of it. Signed-off-by: Ye Li (cherry picked from commit 03b2d94b925cf12d627527af2cd08054bb15dd4e) --- board/freescale/mx6sllevk/mx6sllevk.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/board/freescale/mx6sllevk/mx6sllevk.c b/board/freescale/mx6sllevk/mx6sllevk.c index cfcb4bc..fa90cfa 100644 --- a/board/freescale/mx6sllevk/mx6sllevk.c +++ b/board/freescale/mx6sllevk/mx6sllevk.c @@ -170,7 +170,7 @@ static void setup_iomux_uart(void) #ifdef CONFIG_FSL_ESDHC static struct fsl_esdhc_cfg usdhc_cfg[CONFIG_SYS_FSL_USDHC_NUM] = { {USDHC1_BASE_ADDR, 0, 8, 1}, - {USDHC2_BASE_ADDR, 0, 8}, + {USDHC2_BASE_ADDR, 0, 8, 0, 1}, /* fixed 1.8v IO voltage for eMMC chip */ {USDHC3_BASE_ADDR, 0, 4}, }; @@ -210,7 +210,7 @@ int board_mmc_getcd(struct mmc *mmc) int board_mmc_init(bd_t *bis) { - int i, ret; + int i; /* * According to the board_mmc_init() the following map is done: @@ -230,10 +230,6 @@ int board_mmc_init(bd_t *bis) case 1: imx_iomux_v3_setup_multiple_pads( usdhc2_pads, ARRAY_SIZE(usdhc2_pads)); - /* eMMC connect to 1.8v, so need to set eMMC I/O voltage to 1.8v */ - ret = readl(usdhc_cfg[1].esdhc_base + 0xc0); /* vend_spec */ - ret |= 0x2; - writel(ret, (usdhc_cfg[1].esdhc_base + 0xc0)); usdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK); gpio_direction_output(USDHC2_PWR_GPIO, 1); break; -- cgit v1.1