ARM: imx: novena: Convert block devices to DM
authorMarek Vasut <marex@denx.de>
Fri, 17 May 2019 18:32:17 +0000 (20:32 +0200)
committerStefano Babic <sbabic@denx.de>
Tue, 11 Jun 2019 08:42:48 +0000 (10:42 +0200)
Enable DM block, DM MMC and DM SATA support on iMX6Q Novena
convert board code to match the DM support.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Vagrant Cascadian <vagrant@debian.org>
arch/arm/dts/imx6q-novena.dts
board/kosagi/novena/novena.c
configs/novena_defconfig
include/configs/novena.h

index 61347a545d6c2136b24740807711bd6c0495d914..35383c9a2b1f9a9bef60b98a9a52c2b2eb778a80 100644 (file)
                reg = <0x10000000 0>;
        };
 
+       aliases {
+               mmc0 = &usdhc3;
+               mmc1 = &usdhc2;
+       };
+
        chosen {
                stdout-path = &uart2;
        };
index 0750c4667ee5859ad24629b245d0d728aaee3c7a..d897f8f1cd8d6da5d6f304855292821b99ff48a1 100644 (file)
@@ -6,6 +6,9 @@
  */
 
 #include <common.h>
+#include <dm.h>
+#include <dm/device-internal.h>
+#include <ahci.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
@@ -20,6 +23,7 @@
 #include <asm/mach-imx/mxc_i2c.h>
 #include <asm/mach-imx/sata.h>
 #include <asm/mach-imx/video.h>
+#include <dwc_ahsata.h>
 #include <environment.h>
 #include <fsl_esdhc.h>
 #include <i2c.h>
@@ -101,60 +105,6 @@ int drv_keyboard_init(void)
 }
 #endif
 
-/*
- * SDHC
- */
-#ifdef CONFIG_FSL_ESDHC
-static struct fsl_esdhc_cfg usdhc_cfg[] = {
-       { USDHC3_BASE_ADDR, 0, 4 },     /* Micro SD */
-       { USDHC2_BASE_ADDR, 0, 4 },     /* Big SD */
-};
-
-int board_mmc_getcd(struct mmc *mmc)
-{
-       struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
-
-       /* There is no CD for a microSD card, assume always present. */
-       if (cfg->esdhc_base == USDHC3_BASE_ADDR)
-               return 1;
-       else
-               return !gpio_get_value(NOVENA_SD_CD);
-}
-
-int board_mmc_getwp(struct mmc *mmc)
-{
-       struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
-
-       /* There is no WP for a microSD card, assume always read-write. */
-       if (cfg->esdhc_base == USDHC3_BASE_ADDR)
-               return 0;
-       else
-               return gpio_get_value(NOVENA_SD_WP);
-}
-
-
-int board_mmc_init(bd_t *bis)
-{
-       s32 status = 0;
-       int index;
-
-       usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
-       usdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
-
-       /* Big SD write-protect and card-detect */
-       gpio_direction_input(NOVENA_SD_WP);
-       gpio_direction_input(NOVENA_SD_CD);
-
-       for (index = 0; index < ARRAY_SIZE(usdhc_cfg); index++) {
-               status = fsl_esdhc_initialize(bis, &usdhc_cfg[index]);
-               if (status)
-                       return status;
-       }
-
-       return status;
-}
-#endif
-
 int board_early_init_f(void)
 {
 #if defined(CONFIG_VIDEO_IPUV3)
@@ -169,10 +119,6 @@ int board_init(void)
        /* address of boot parameters */
        gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
 
-#ifdef CONFIG_SATA
-       setup_sata();
-#endif
-
        return 0;
 }
 
index c74f6351217c52a1abda2c33e5c0d1bcc780bd4f..fa5fdea278ee31996734ec25256aa9f2f3b82069 100644 (file)
@@ -13,6 +13,7 @@ CONFIG_SPL=y
 CONFIG_SPL_FS_FAT=y
 CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_CMD_HDMIDETECT=y
+CONFIG_AHCI=y
 CONFIG_DISTRO_DEFAULTS=y
 # CONFIG_SYS_MALLOC_F is not set
 CONFIG_FIT=y
@@ -48,6 +49,7 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_DM=y
 CONFIG_DWC_AHSATA=y
 CONFIG_DM_GPIO=y
+CONFIG_DM_MMC=y
 CONFIG_FSL_ESDHC=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
@@ -56,6 +58,7 @@ CONFIG_MII=y
 CONFIG_PCI=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
+CONFIG_DM_SCSI=y
 CONFIG_USB=y
 CONFIG_USB_KEYBOARD=y
 CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP=y
index bb5bf808c2b013752114ba0516cf16905fd3bed1..bc7383e957897ad3a0e9e7ba639cf91836aab819 100644 (file)
 #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08
 
 /* SATA Configs */
-#ifdef CONFIG_CMD_SATA
-#define CONFIG_SYS_SATA_MAX_DEVICE     1
-#define CONFIG_DWC_AHSATA_PORT_ID      0
-#define CONFIG_DWC_AHSATA_BASE_ADDR    SATA_ARB_BASE_ADDR
 #define CONFIG_LBA48
-#endif
 
 /* UART */
 #define CONFIG_MXC_UART