[PATCH] imx8mm_beacon: Enable HS400 on MMC controller

The i.MX8MM is capable of HS400. Enable it in both U-Boot and SPL for faster throughput.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/configs/imx8mm_beacon_defconfig b/configs/imx8mm_beacon_defconfig index c5d331f617..49d5453078 100644 --- a/configs/imx8mm_beacon_defconfig +++ b/configs/imx8mm_beacon_defconfig @@ -70,6 +70,13 @@ CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y CONFIG_DM_MMC=y CONFIG_SUPPORT_EMMC_BOOT=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_SPL_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y +CONFIG_SPL_MMC_UHS_SUPPORT=y +CONFIG_MMC_HS400_ES_SUPPORT=y +CONFIG_MMC_HS400_SUPPORT=y +CONFIG_SPL_MMC_HS400_SUPPORT=y CONFIG_FSL_USDHC=y CONFIG_PHYLIB=y CONFIG_PHY_ATHEROS=y

Hello Adam,
-----Original Message----- From: U-Boot u-boot-bounces@lists.denx.de On Behalf Of Adam Ford Sent: Saturday, December 5, 2020 2:00 AM To: u-boot@lists.denx.de Cc: aford@beaconembedded.com; Adam Ford aford173@gmail.com Subject: [PATCH] imx8mm_beacon: Enable HS400 on MMC controller
The i.MX8MM is capable of HS400. Enable it in both U-Boot and SPL for faster throughput.
I'm not quite sure if those high-speed modes would be required to be enabled for SPL...
Even though the support for those modes is provided in SPL build, there might be a little benefit of having it enabled as the only thing SPL would need to fetch from storage medias would be U-Boot itself, and the difference in access time between high speed modes enabled or disabled for this task is quite negligible. The downside there would rather be an increase in SPL size to accommodate enabled code paths.
I was contemplating myself to have those included, but decided to op-out from it as I could not justify the benefit of it.
Do you see any particular use-case where it would be beneficial to enable those modes in SPL? If so - can you please share them, as if it would turn out to be beneficial - I might also turn them on in EVK configs.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/configs/imx8mm_beacon_defconfig b/configs/imx8mm_beacon_defconfig index c5d331f617..49d5453078 100644 --- a/configs/imx8mm_beacon_defconfig +++ b/configs/imx8mm_beacon_defconfig @@ -70,6 +70,13 @@ CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y CONFIG_DM_MMC=y CONFIG_SUPPORT_EMMC_BOOT=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_SPL_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y +CONFIG_SPL_MMC_UHS_SUPPORT=y +CONFIG_MMC_HS400_ES_SUPPORT=y +CONFIG_MMC_HS400_SUPPORT=y +CONFIG_SPL_MMC_HS400_SUPPORT=y CONFIG_FSL_USDHC=y CONFIG_PHYLIB=y CONFIG_PHY_ATHEROS=y -- 2.25.1
-- andrey

On Sat, Dec 5, 2020 at 8:54 AM ZHIZHIKIN Andrey andrey.zhizhikin@leica-geosystems.com wrote:
Hello Adam,
-----Original Message----- From: U-Boot u-boot-bounces@lists.denx.de On Behalf Of Adam Ford Sent: Saturday, December 5, 2020 2:00 AM To: u-boot@lists.denx.de Cc: aford@beaconembedded.com; Adam Ford aford173@gmail.com Subject: [PATCH] imx8mm_beacon: Enable HS400 on MMC controller
The i.MX8MM is capable of HS400. Enable it in both U-Boot and SPL for faster throughput.
I'm not quite sure if those high-speed modes would be required to be enabled for SPL...
There are separate SPL flags, so we could leave them off.
Even though the support for those modes is provided in SPL build, there might be a little benefit of having it enabled as the only thing SPL would need to fetch from storage medias would be U-Boot itself, and the difference in access time between high speed modes enabled or disabled for this task is quite negligible. The downside there would rather be an increase in SPL size to accommodate enabled code paths.
I was contemplating myself to have those included, but decided to op-out from it as I could not justify the benefit of it.
Do you see any particular use-case where it would be beneficial to enable those modes in SPL? If so - can you please share them, as if it would turn out to be beneficial - I might also turn them on in EVK configs.
I turned them on because I could and it fit into SPL. In theory the impy could be deactivated for people who don't have the room. I didn't do any time measurements so I don't know of the higher speed made it load u-boot any faster since it takes a little more time to do the extra initialization, I can see the argument to leave them off.
Maybe it's best to default the configs to leave them off in SPL, and let people decide on what's best for their boards. For the Beacon board, I'll probably leave it on, but if SPL size constraints become an issue, I might turn them off later.
adam
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/configs/imx8mm_beacon_defconfig b/configs/imx8mm_beacon_defconfig index c5d331f617..49d5453078 100644 --- a/configs/imx8mm_beacon_defconfig +++ b/configs/imx8mm_beacon_defconfig @@ -70,6 +70,13 @@ CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y CONFIG_DM_MMC=y CONFIG_SUPPORT_EMMC_BOOT=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_SPL_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y +CONFIG_SPL_MMC_UHS_SUPPORT=y +CONFIG_MMC_HS400_ES_SUPPORT=y +CONFIG_MMC_HS400_SUPPORT=y +CONFIG_SPL_MMC_HS400_SUPPORT=y CONFIG_FSL_USDHC=y CONFIG_PHYLIB=y CONFIG_PHY_ATHEROS=y -- 2.25.1
-- andrey

-----Original Message----- From: Adam Ford aford173@gmail.com Sent: Saturday, December 5, 2020 4:01 PM To: ZHIZHIKIN Andrey andrey.zhizhikin@leica-geosystems.com Cc: u-boot@lists.denx.de; aford@beaconembedded.com Subject: Re: [PATCH] imx8mm_beacon: Enable HS400 on MMC controller
On Sat, Dec 5, 2020 at 8:54 AM ZHIZHIKIN Andrey <andrey.zhizhikin@leica- geosystems.com> wrote:
Hello Adam,
-----Original Message----- From: U-Boot u-boot-bounces@lists.denx.de On Behalf Of Adam Ford Sent: Saturday, December 5, 2020 2:00 AM To: u-boot@lists.denx.de Cc: aford@beaconembedded.com; Adam Ford aford173@gmail.com Subject: [PATCH] imx8mm_beacon: Enable HS400 on MMC controller
The i.MX8MM is capable of HS400. Enable it in both U-Boot and SPL for faster throughput.
I'm not quite sure if those high-speed modes would be required to be enabled for SPL...
There are separate SPL flags, so we could leave them off.
Even though the support for those modes is provided in SPL build, there might be a little benefit of having it enabled as the only thing SPL would need to fetch from storage medias would be U-Boot itself, and the difference in access time between high speed modes enabled or disabled for this task is quite negligible. The downside there would rather be an
increase in SPL size to accommodate enabled code paths.
I was contemplating myself to have those included, but decided to op-out from it as I could not justify the benefit of it.
Do you see any particular use-case where it would be beneficial to enable those modes in SPL? If so - can you please share them, as if it would turn out to be beneficial - I might also turn them on in EVK configs.
I turned them on because I could and it fit into SPL. In theory the impy could be deactivated for people who don't have the room. I didn't do any time measurements so I don't know of the higher speed made it load u-boot any faster since it takes a little more time to do the extra initialization, I can see the argument to leave them off.
OK, got it! Since you've introduced it for a specific derivative and you know that from the size perspective it fits - then I believe it is OK to have them enabled.
Maybe it's best to default the configs to leave them off in SPL, and let people decide on what's best for their boards. For the Beacon board, I'll probably leave it on, but if SPL size constraints become an issue, I might turn them off later.
For EVK configs I would leave SPL configs OFF.
adam
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/configs/imx8mm_beacon_defconfig b/configs/imx8mm_beacon_defconfig index c5d331f617..49d5453078 100644 --- a/configs/imx8mm_beacon_defconfig +++ b/configs/imx8mm_beacon_defconfig @@ -70,6 +70,13 @@ CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y CONFIG_DM_MMC=y CONFIG_SUPPORT_EMMC_BOOT=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_SPL_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y +CONFIG_SPL_MMC_UHS_SUPPORT=y +CONFIG_MMC_HS400_ES_SUPPORT=y +CONFIG_MMC_HS400_SUPPORT=y +CONFIG_SPL_MMC_HS400_SUPPORT=y CONFIG_FSL_USDHC=y CONFIG_PHYLIB=y CONFIG_PHY_ATHEROS=y -- 2.25.1
-- andrey
-- andrey

The i.MX8MM is capable of HS400. Enable it in both U-Boot and SPL for faster throughput. Signed-off-by: Adam Ford aford173@gmail.com diff --git a/configs/imx8mm_beacon_defconfig b/configs/imx8mm_beacon_defconfig index c5d331f617..49d5453078 100644 --- a/configs/imx8mm_beacon_defconfig +++ b/configs/imx8mm_beacon_defconfig @@ -70,6 +70,13 @@ CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y CONFIG_DM_MMC=y CONFIG_SUPPORT_EMMC_BOOT=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_SPL_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y +CONFIG_SPL_MMC_UHS_SUPPORT=y +CONFIG_MMC_HS400_ES_SUPPORT=y +CONFIG_MMC_HS400_SUPPORT=y +CONFIG_SPL_MMC_HS400_SUPPORT=y CONFIG_FSL_USDHC=y CONFIG_PHYLIB=y CONFIG_PHY_ATHEROS=y
Applied to u-boot-imx, master, thanks !
Best regards, Stefano Babic
participants (3)
-
Adam Ford
-
sbabic@denx.de
-
ZHIZHIKIN Andrey