From 6ad93180ed2388a3453b268d1f5982b63b334367 Mon Sep 17 00:00:00 2001 From: Ye Li Date: Fri, 25 Oct 2019 01:40:11 -0700 Subject: MLK-22851-4 imx8mm/imx8mn: Enable eMMC HS400ES and SD UHS mode on EVK Both imx8mn/imx8mm EVK boards have eMMC 5.1 chip and support SD3.0 So we enable the HS400ES and UHS configs to enhance eMMC/SD access. The change also needs to set usdhc clock to 400Mhz and update compatible string to fsl,imx8mm-usdhc Signed-off-by: Ye Li Reviewed-by: Peng Fan --- arch/arm/dts/fsl-imx8mm.dtsi | 6 +++--- arch/arm/dts/fsl-imx8mn.dtsi | 6 +++--- arch/arm/mach-imx/imx8m/clock_imx8mm.c | 6 +++--- configs/imx8mm_ddr4_evk_defconfig | 2 ++ configs/imx8mm_ddr4_evk_nand_defconfig | 2 ++ configs/imx8mm_evk_defconfig | 4 ++++ configs/imx8mm_evk_fspi_defconfig | 4 ++++ configs/imx8mn_ddr4_evk_defconfig | 4 ++++ configs/imx8mn_ddr4_evk_nom_defconfig | 4 ++++ configs/imx8mn_evk_defconfig | 4 ++++ 10 files changed, 33 insertions(+), 9 deletions(-) diff --git a/arch/arm/dts/fsl-imx8mm.dtsi b/arch/arm/dts/fsl-imx8mm.dtsi index 41c8df1b2f4..35209e4e525 100644 --- a/arch/arm/dts/fsl-imx8mm.dtsi +++ b/arch/arm/dts/fsl-imx8mm.dtsi @@ -531,7 +531,7 @@ }; usdhc1: mmc@30b40000 { - compatible = "fsl,imx8mq-usdhc", "fsl,imx7d-usdhc"; + compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"; reg = <0x0 0x30b40000 0x0 0x10000>; interrupts = ; clocks = <&clk IMX8MM_CLK_DUMMY>, @@ -547,7 +547,7 @@ }; usdhc2: mmc@30b50000 { - compatible = "fsl,imx8mq-usdhc", "fsl,imx7d-usdhc"; + compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"; reg = <0x0 0x30b50000 0x0 0x10000>; interrupts = ; clocks = <&clk IMX8MM_CLK_DUMMY>, @@ -561,7 +561,7 @@ }; usdhc3: mmc@30b60000 { - compatible = "fsl,imx8mq-usdhc", "fsl,imx7d-usdhc"; + compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"; reg = <0x0 0x30b60000 0x0 0x10000>; interrupts = ; clocks = <&clk IMX8MM_CLK_DUMMY>, diff --git a/arch/arm/dts/fsl-imx8mn.dtsi b/arch/arm/dts/fsl-imx8mn.dtsi index c1dc4caec3e..69c99c76bd4 100644 --- a/arch/arm/dts/fsl-imx8mn.dtsi +++ b/arch/arm/dts/fsl-imx8mn.dtsi @@ -496,7 +496,7 @@ }; usdhc1: mmc@30b40000 { - compatible = "fsl,imx8mq-usdhc", "fsl,imx7d-usdhc"; + compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"; reg = <0x0 0x30b40000 0x0 0x10000>; interrupts = ; clocks = <&clk IMX8MN_CLK_DUMMY>, @@ -512,7 +512,7 @@ }; usdhc2: mmc@30b50000 { - compatible = "fsl,imx8mq-usdhc", "fsl,imx7d-usdhc"; + compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"; reg = <0x0 0x30b50000 0x0 0x10000>; interrupts = ; clocks = <&clk IMX8MN_CLK_DUMMY>, @@ -526,7 +526,7 @@ }; usdhc3: mmc@30b60000 { - compatible = "fsl,imx8mq-usdhc", "fsl,imx7d-usdhc"; + compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"; reg = <0x0 0x30b60000 0x0 0x10000>; interrupts = ; clocks = <&clk IMX8MN_CLK_DUMMY>, diff --git a/arch/arm/mach-imx/imx8m/clock_imx8mm.c b/arch/arm/mach-imx/imx8m/clock_imx8mm.c index 0a67f4ac49d..92fc8a700cb 100644 --- a/arch/arm/mach-imx/imx8m/clock_imx8mm.c +++ b/arch/arm/mach-imx/imx8m/clock_imx8mm.c @@ -694,9 +694,9 @@ int clock_init() clock_enable(CCGR_USDHC2, 0); clock_enable(CCGR_USDHC3, 0); clock_set_target_val(NAND_USDHC_BUS_CLK_ROOT, CLK_ROOT_ON | CLK_ROOT_SOURCE_SEL(1)); - clock_set_target_val(USDHC1_CLK_ROOT, CLK_ROOT_ON | CLK_ROOT_SOURCE_SEL(1) | CLK_ROOT_POST_DIV(CLK_ROOT_POST_DIV2)); - clock_set_target_val(USDHC2_CLK_ROOT, CLK_ROOT_ON | CLK_ROOT_SOURCE_SEL(1) | CLK_ROOT_POST_DIV(CLK_ROOT_POST_DIV2)); - clock_set_target_val(USDHC3_CLK_ROOT, CLK_ROOT_ON | CLK_ROOT_SOURCE_SEL(1) | CLK_ROOT_POST_DIV(CLK_ROOT_POST_DIV2)); + clock_set_target_val(USDHC1_CLK_ROOT, CLK_ROOT_ON | CLK_ROOT_SOURCE_SEL(1)); + clock_set_target_val(USDHC2_CLK_ROOT, CLK_ROOT_ON | CLK_ROOT_SOURCE_SEL(1)); + clock_set_target_val(USDHC3_CLK_ROOT, CLK_ROOT_ON | CLK_ROOT_SOURCE_SEL(1)); clock_enable(CCGR_USDHC1, 1); clock_enable(CCGR_USDHC2, 1); clock_enable(CCGR_USDHC3, 1); diff --git a/configs/imx8mm_ddr4_evk_defconfig b/configs/imx8mm_ddr4_evk_defconfig index 29a8cb66eb5..2555a17262e 100644 --- a/configs/imx8mm_ddr4_evk_defconfig +++ b/configs/imx8mm_ddr4_evk_defconfig @@ -41,6 +41,8 @@ CONFIG_DM_GPIO=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y CONFIG_DM_MMC=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y # CONFIG_DM_PMIC=y CONFIG_EFI_PARTITION=y CONFIG_DM_ETH=y diff --git a/configs/imx8mm_ddr4_evk_nand_defconfig b/configs/imx8mm_ddr4_evk_nand_defconfig index 168afa4c3ae..9f2200e412d 100644 --- a/configs/imx8mm_ddr4_evk_nand_defconfig +++ b/configs/imx8mm_ddr4_evk_nand_defconfig @@ -40,6 +40,8 @@ CONFIG_DM_GPIO=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y CONFIG_DM_MMC=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y # CONFIG_DM_PMIC=y CONFIG_EFI_PARTITION=y CONFIG_DM_ETH=y diff --git a/configs/imx8mm_evk_defconfig b/configs/imx8mm_evk_defconfig index 125587560ed..778fc226e06 100644 --- a/configs/imx8mm_evk_defconfig +++ b/configs/imx8mm_evk_defconfig @@ -42,6 +42,10 @@ CONFIG_DM_GPIO=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y CONFIG_DM_MMC=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y +CONFIG_MMC_HS400_SUPPORT=y +CONFIG_MMC_HS400_ES_SUPPORT=y # CONFIG_DM_PMIC=y CONFIG_EFI_PARTITION=y CONFIG_DM_SPI_FLASH=y diff --git a/configs/imx8mm_evk_fspi_defconfig b/configs/imx8mm_evk_fspi_defconfig index 8d77d9c7bdf..b443438f8a5 100644 --- a/configs/imx8mm_evk_fspi_defconfig +++ b/configs/imx8mm_evk_fspi_defconfig @@ -42,6 +42,10 @@ CONFIG_DM_GPIO=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y CONFIG_DM_MMC=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y +CONFIG_MMC_HS400_SUPPORT=y +CONFIG_MMC_HS400_ES_SUPPORT=y # CONFIG_DM_PMIC=y CONFIG_EFI_PARTITION=y CONFIG_DM_SPI_FLASH=y diff --git a/configs/imx8mn_ddr4_evk_defconfig b/configs/imx8mn_ddr4_evk_defconfig index 0d952b7427e..a95a98a9380 100644 --- a/configs/imx8mn_ddr4_evk_defconfig +++ b/configs/imx8mn_ddr4_evk_defconfig @@ -42,6 +42,10 @@ CONFIG_DM_GPIO=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y CONFIG_DM_MMC=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y +CONFIG_MMC_HS400_SUPPORT=y +CONFIG_MMC_HS400_ES_SUPPORT=y # CONFIG_DM_PMIC=y CONFIG_EFI_PARTITION=y CONFIG_DM_SPI_FLASH=y diff --git a/configs/imx8mn_ddr4_evk_nom_defconfig b/configs/imx8mn_ddr4_evk_nom_defconfig index de21e0e476f..1ffaee6e6e3 100644 --- a/configs/imx8mn_ddr4_evk_nom_defconfig +++ b/configs/imx8mn_ddr4_evk_nom_defconfig @@ -41,6 +41,10 @@ CONFIG_DM_GPIO=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y CONFIG_DM_MMC=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y +CONFIG_MMC_HS400_SUPPORT=y +CONFIG_MMC_HS400_ES_SUPPORT=y # CONFIG_DM_PMIC=y CONFIG_EFI_PARTITION=y CONFIG_DM_SPI_FLASH=y diff --git a/configs/imx8mn_evk_defconfig b/configs/imx8mn_evk_defconfig index f2392e4b069..cdbf80763af 100644 --- a/configs/imx8mn_evk_defconfig +++ b/configs/imx8mn_evk_defconfig @@ -42,6 +42,10 @@ CONFIG_DM_GPIO=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y CONFIG_DM_MMC=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y +CONFIG_MMC_HS400_SUPPORT=y +CONFIG_MMC_HS400_ES_SUPPORT=y # CONFIG_DM_PMIC=y CONFIG_EFI_PARTITION=y CONFIG_DM_SPI_FLASH=y -- cgit v1.2.3