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

Kever Yang kever.yang at rock-chips.com
Wed Mar 3 02:15:09 CET 2021


On 2021/3/2 上午6:48, Peter Robinson wrote:
> On Mon, Mar 1, 2021 at 10:35 PM Tim Harvey <tharvey at gateworks.com> wrote:
>> 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.
> I'm not sure that's entirely true, they may be a new addition, or just
> not previously documented as working, they're added for the rockchip
> devices in Linux and they're documented in the bindings as working
> now:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1796164fac7e348f74a0f1f1cae995b22d002315


Yes, kernel have add mmc alias for different rockchip socs, seems like 
we got a new problem,

we always use mmc alias in U-Boot for next stage firmware detect, and 
the alias sequence in U-Boot and

kernel are different now :(


Thanks,

- Kever

>
>> 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