Enable DM block and DM MMC support on DHCOM iMX6 PDK2.
Convert board code to match the DM support.

Signed-off-by: Marek Vasut <ma...@denx.de>
Cc: Fabio Estevam <fabio.este...@nxp.com>
Cc: Ludwig Zenz <lz...@dh-electronics.com>
Cc: Stefano Babic <sba...@denx.de>
---
V2: No change
---
 board/dhelectronics/dh_imx6/dh_imx6.c | 59 +--------------------------
 configs/dh_imx6_defconfig             |  1 +
 2 files changed, 3 insertions(+), 57 deletions(-)

diff --git a/board/dhelectronics/dh_imx6/dh_imx6.c 
b/board/dhelectronics/dh_imx6/dh_imx6.c
index 44f4ef8130..193bb0eade 100644
--- a/board/dhelectronics/dh_imx6/dh_imx6.c
+++ b/board/dhelectronics/dh_imx6/dh_imx6.c
@@ -6,6 +6,8 @@
  */
 
 #include <common.h>
+#include <dm.h>
+#include <dm/device-internal.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/imx-regs.h>
@@ -189,63 +191,6 @@ int board_eth_init(bd_t *bis)
 }
 #endif
 
-#ifdef CONFIG_FSL_ESDHC
-
-#define USDHC2_CD_GPIO IMX_GPIO_NR(6, 16)
-#define USDHC3_CD_GPIO IMX_GPIO_NR(7, 8)
-
-static struct fsl_esdhc_cfg usdhc_cfg[3] = {
-       { USDHC2_BASE_ADDR },
-       { USDHC3_BASE_ADDR },
-       { USDHC4_BASE_ADDR },
-};
-
-int board_mmc_getcd(struct mmc *mmc)
-{
-       struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
-
-       switch (cfg->esdhc_base) {
-       case USDHC2_BASE_ADDR:
-               return gpio_get_value(USDHC2_CD_GPIO);
-       case USDHC3_BASE_ADDR:
-               return !gpio_get_value(USDHC3_CD_GPIO);
-       case USDHC4_BASE_ADDR:
-               return 1; /* eMMC/uSDHC4 is always present */
-       }
-
-       return 0;
-}
-
-int board_mmc_init(bd_t *bis)
-{
-       int i, ret;
-
-       /*
-        * According to the board_mmc_init() the following map is done:
-        * (U-Boot device node)    (Physical Port)
-        * mmc0                    SD interface
-        * mmc1                    micro SD
-        * mmc2                    eMMC
-        */
-       gpio_request(USDHC2_CD_GPIO, "SD2-CD");
-       gpio_request(USDHC3_CD_GPIO, "SD3-CD");
-       gpio_direction_input(USDHC2_CD_GPIO);
-       gpio_direction_input(USDHC3_CD_GPIO);
-
-       usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
-       usdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
-       usdhc_cfg[2].sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
-
-       for (i = 0; i < CONFIG_SYS_FSL_USDHC_NUM; i++) {
-               ret = fsl_esdhc_initialize(bis, &usdhc_cfg[i]);
-               if (ret)
-                       return ret;
-       }
-
-       return 0;
-}
-#endif
-
 #ifdef CONFIG_USB_EHCI_MX6
 static void setup_usb(void)
 {
diff --git a/configs/dh_imx6_defconfig b/configs/dh_imx6_defconfig
index 9f6ebde777..839963290c 100644
--- a/configs/dh_imx6_defconfig
+++ b/configs/dh_imx6_defconfig
@@ -44,6 +44,7 @@ CONFIG_DWC_AHSATA=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_SYS_BOOTCOUNT_ADDR=0x00900000
 CONFIG_DM_GPIO=y
+CONFIG_DM_MMC=y
 CONFIG_FSL_ESDHC=y
 CONFIG_SPI_FLASH=y
 CONFIG_SF_DEFAULT_MODE=0
-- 
2.20.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to