From cdc69550d21f38c99a3c2428598f1a6f126e955e Mon Sep 17 00:00:00 2001
From: Yangbo Lu <yangbo.lu@freescale.com>
Date: Thu, 17 Sep 2015 10:27:12 +0800
Subject: [PATCH] mmc: fsl_esdhc: enable dat[4:7] for eMMC4.5 Adapter Card

If adapter card type identification is supported for platform, we would
enable dat[4:7] for eMMC4.5 Adapter Card.

Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
---
 board/freescale/common/qixis.h | 2 ++
 drivers/mmc/fsl_esdhc.c        | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/board/freescale/common/qixis.h b/board/freescale/common/qixis.h
index 51ce9c328d..450cd0ddbd 100644
--- a/board/freescale/common/qixis.h
+++ b/board/freescale/common/qixis.h
@@ -127,6 +127,8 @@ void qixis_write_i2c(unsigned int reg, u8 value);
 #define QIXIS_ESDHC_NO_ADAPTER                  0x7	/* No Card is Present*/
 #define QIXIS_SDCLKIN		0x08
 #define QIXIS_SDCLKOUT		0x02
+#define QIXIS_DAT5_6_7		0X02
+#define QIXIS_DAT4		0X01
 #endif
 
 #endif
diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
index f36b794969..5c20627c1c 100644
--- a/drivers/mmc/fsl_esdhc.c
+++ b/drivers/mmc/fsl_esdhc.c
@@ -748,6 +748,9 @@ void mmc_adapter_card_type_ident(void)
 
 	switch (card_id) {
 	case QIXIS_ESDHC_ADAPTER_TYPE_EMMC45:
+		value = QIXIS_READ(brdcfg[5]);
+		value |= (QIXIS_DAT4 | QIXIS_DAT5_6_7);
+		QIXIS_WRITE(brdcfg[5], value);
 		break;
 	case QIXIS_ESDHC_ADAPTER_TYPE_SDMMC_LEGACY:
 		break;
-- 
2.39.5