[PATCH 09/11] imx: ventana: enable dm support for MMC and SATA

Tim Harvey tharvey at gateworks.com
Mon Mar 1 23:33:35 CET 2021


Enable driver model support for MMC and SATA.

Note that DM_MMC requires aliases for your mmc devices so
they are added to the dts. Linux does not support enumerating mmc
devices by alias so these are not present in the Linux dts.

Note that we still need board_mmc_init() and board_mmc_getcd() for
not DM SPL to support MMC.

Signed-off-by: Tim Harvey <tharvey at gateworks.com>
---
 arch/arm/dts/imx6qdl-gw52xx.dtsi        | 1 +
 arch/arm/dts/imx6qdl-gw53xx.dtsi        | 1 +
 arch/arm/dts/imx6qdl-gw54xx.dtsi        | 1 +
 arch/arm/dts/imx6qdl-gw560x.dtsi        | 2 ++
 arch/arm/dts/imx6qdl-gw5904.dtsi        | 1 +
 arch/arm/dts/imx6qdl-gw5910.dtsi        | 1 +
 arch/arm/dts/imx6qdl-gw5912.dtsi        | 1 +
 board/gateworks/gw_ventana/gw_ventana.c | 5 -----
 configs/gwventana_emmc_defconfig        | 2 ++
 configs/gwventana_gw5904_defconfig      | 2 ++
 configs/gwventana_nand_defconfig        | 2 ++
 11 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/arch/arm/dts/imx6qdl-gw52xx.dtsi b/arch/arm/dts/imx6qdl-gw52xx.dtsi
index de54b7c217..6eedf8d40d 100644
--- a/arch/arm/dts/imx6qdl-gw52xx.dtsi
+++ b/arch/arm/dts/imx6qdl-gw52xx.dtsi
@@ -13,6 +13,7 @@
 		led0 = &led0;
 		led1 = &led1;
 		led2 = &led2;
+		mmc0 = &usdhc3;
 		nand = &gpmi;
 		ssi0 = &ssi1;
 		usb0 = &usbh1;
diff --git a/arch/arm/dts/imx6qdl-gw53xx.dtsi b/arch/arm/dts/imx6qdl-gw53xx.dtsi
index 64bb88dc74..9deec7e352 100644
--- a/arch/arm/dts/imx6qdl-gw53xx.dtsi
+++ b/arch/arm/dts/imx6qdl-gw53xx.dtsi
@@ -13,6 +13,7 @@
 		led0 = &led0;
 		led1 = &led1;
 		led2 = &led2;
+		mmc0 = &usdhc3;
 		nand = &gpmi;
 		ssi0 = &ssi1;
 		usb0 = &usbh1;
diff --git a/arch/arm/dts/imx6qdl-gw54xx.dtsi b/arch/arm/dts/imx6qdl-gw54xx.dtsi
index 56d090ec0f..a30ba4848e 100644
--- a/arch/arm/dts/imx6qdl-gw54xx.dtsi
+++ b/arch/arm/dts/imx6qdl-gw54xx.dtsi
@@ -14,6 +14,7 @@
 		led0 = &led0;
 		led1 = &led1;
 		led2 = &led2;
+		mmc0 = &usdhc3;
 		nand = &gpmi;
 		ssi0 = &ssi1;
 		usb0 = &usbh1;
diff --git a/arch/arm/dts/imx6qdl-gw560x.dtsi b/arch/arm/dts/imx6qdl-gw560x.dtsi
index d5468fb260..0786b0d546 100644
--- a/arch/arm/dts/imx6qdl-gw560x.dtsi
+++ b/arch/arm/dts/imx6qdl-gw560x.dtsi
@@ -55,6 +55,8 @@
 		led0 = &led0;
 		led1 = &led1;
 		led2 = &led2;
+		mmc0 = &usdhc2;
+		mmc1 = &usdhc3;
 		ssi0 = &ssi1;
 		usb0 = &usbh1;
 		usb1 = &usbotg;
diff --git a/arch/arm/dts/imx6qdl-gw5904.dtsi b/arch/arm/dts/imx6qdl-gw5904.dtsi
index 52b255b726..5b7bd56932 100644
--- a/arch/arm/dts/imx6qdl-gw5904.dtsi
+++ b/arch/arm/dts/imx6qdl-gw5904.dtsi
@@ -55,6 +55,7 @@
 		led0 = &led0;
 		led1 = &led1;
 		led2 = &led2;
+		mmc0 = &usdhc3;
 		usb0 = &usbh1;
 		usb1 = &usbotg;
 	};
diff --git a/arch/arm/dts/imx6qdl-gw5910.dtsi b/arch/arm/dts/imx6qdl-gw5910.dtsi
index 56d0c4ff6c..248e077a56 100644
--- a/arch/arm/dts/imx6qdl-gw5910.dtsi
+++ b/arch/arm/dts/imx6qdl-gw5910.dtsi
@@ -13,6 +13,7 @@
 		led0 = &led0;
 		led1 = &led1;
 		led2 = &led2;
+		mmc0 = &usdhc3;
 	};
 
 	chosen {
diff --git a/arch/arm/dts/imx6qdl-gw5912.dtsi b/arch/arm/dts/imx6qdl-gw5912.dtsi
index 797f160249..7593872c07 100644
--- a/arch/arm/dts/imx6qdl-gw5912.dtsi
+++ b/arch/arm/dts/imx6qdl-gw5912.dtsi
@@ -13,6 +13,7 @@
 		led0 = &led0;
 		led1 = &led1;
 		led2 = &led2;
+		mmc0 = &usdhc3;
 		nand = &gpmi;
 		usb0 = &usbh1;
 		usb1 = &usbotg;
diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c
index 78dee5723d..4c6e5097a4 100644
--- a/board/gateworks/gw_ventana/gw_ventana.c
+++ b/board/gateworks/gw_ventana/gw_ventana.c
@@ -27,7 +27,6 @@
 #include <hwconfig.h>
 #include <i2c.h>
 #include <fdt_support.h>
-#include <fsl_esdhc_imx.h>
 #include <jffs2/load_kernel.h>
 #include <linux/ctype.h>
 #include <miiphy.h>
@@ -649,10 +648,6 @@ int board_init(void)
 	setup_ventana_i2c(1);
 	setup_ventana_i2c(2);
 
-#ifdef CONFIG_SATA
-	setup_sata();
-#endif
-
 	setup_iomux_gpio(board_type, &ventana_info);
 
 	return 0;
diff --git a/configs/gwventana_emmc_defconfig b/configs/gwventana_emmc_defconfig
index 696f49ca8a..d383a85f8b 100644
--- a/configs/gwventana_emmc_defconfig
+++ b/configs/gwventana_emmc_defconfig
@@ -19,6 +19,7 @@ CONFIG_SPL=y
 CONFIG_ENV_OFFSET_REDUND=0xD1400
 CONFIG_CMD_HDMIDETECT=y
 CONFIG_DEFAULT_DEVICE_TREE="imx6q-gw54xx"
+CONFIG_AHCI=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
@@ -79,6 +80,7 @@ CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DWC_AHSATA=y
+CONFIG_DM_MMC=y
 CONFIG_SUPPORT_EMMC_RPMB=y
 CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_FSL_USDHC=y
diff --git a/configs/gwventana_gw5904_defconfig b/configs/gwventana_gw5904_defconfig
index 0e697017b1..b6ef9e6f8a 100644
--- a/configs/gwventana_gw5904_defconfig
+++ b/configs/gwventana_gw5904_defconfig
@@ -19,6 +19,7 @@ CONFIG_SPL=y
 CONFIG_ENV_OFFSET_REDUND=0xD1400
 CONFIG_CMD_HDMIDETECT=y
 CONFIG_DEFAULT_DEVICE_TREE="imx6q-gw54xx"
+CONFIG_AHCI=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
@@ -79,6 +80,7 @@ CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DWC_AHSATA=y
+CONFIG_DM_MMC=y
 CONFIG_SUPPORT_EMMC_RPMB=y
 CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_FSL_USDHC=y
diff --git a/configs/gwventana_nand_defconfig b/configs/gwventana_nand_defconfig
index 9b204c7263..533d31af9f 100644
--- a/configs/gwventana_nand_defconfig
+++ b/configs/gwventana_nand_defconfig
@@ -19,6 +19,7 @@ CONFIG_SPL=y
 CONFIG_ENV_OFFSET_REDUND=0x1080000
 CONFIG_CMD_HDMIDETECT=y
 CONFIG_DEFAULT_DEVICE_TREE="imx6q-gw54xx"
+CONFIG_AHCI=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
@@ -81,6 +82,7 @@ CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DWC_AHSATA=y
+CONFIG_DM_MMC=y
 CONFIG_SUPPORT_EMMC_RPMB=y
 CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_FSL_USDHC=y
-- 
2.17.1



More information about the U-Boot mailing list