Dear team,
I would like to ask about the speed of SD-Card access in boot of i.MX6Solo.
My customer is trying to speed-up the transfer rate between SD-Card and i.MX6S at the boot.
The SD-Card is used for boot device now, and it can be used for boot in High Speed mode now. Because the SD-Card they are using supports UHS-I, they want to speed-up the transfer rate. And they changed the following settings of their board.
- Changing the voltage of SD-Card power from 3.3V to 1.8V.
- Changing BOOT_CFG[3:2] setting from 00 to 10
After the change the Boot cannot complete.
Could you show me what they missed on the settings?
Thanks,
Miyamoto
Hello,
i.MX6 Solo boot ROM doesn't support SD boot with SDR50 and SDR104 modes, because
there are no reset signals for USDHC1 and USDHC2. The reset signal is mandatory for SDR50
and SDR104 mode, because SD should be able to reset back to 3.3V, after it entered 1.8V mode.
Basically USDHC1 and USDHC2 can support SDR50 and SDR104 mode, but it needs to select
a GPIO pin, act as a "reset signal", to cold reset SD card.
Have a great day,
Yuri
------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer
button. Thank you!
------------------------------------------------------------------------------
Hi Yuri,
Thanks for your reply.
Can I find the description which shows that i.MX6 does not support SD boot with SDR50 and SDR104 modes in documents such as datasheet or RM?
BR,
Miyamoto
Hi,
from internal Community :
"
The speed limitation only apply when USDHC port 1/2 is used as a boot device.
It is because ROM only mux out the VSELECT for port 3/4. (MX6DL Reference Manual Tabel 8-18)
Once the control has left ROM code, uboot or kernel can mux out the VSELECT and all USDHC
ports can use SDR104/DDR50.
"
Regards,
Yuri.
internal link : UHS-I SD Card questions
Hi Yuri,
Thanks so much for your kindly support.
The customer is thinking about the use of USDHC#3 for boot with SDR50 or SDR104 speed. They want to know how they should modify their board for that.
And I found SABRE AI board has an external circuitry around SD3 to support UHS.
Does the AI board support boot from SD3 with SDR50 or SDR104?
Can I have a useful documents to achieve boot from SD3 with SDR50 or SDR104?
Thanks,
Miyamoto
Hello,
"MX6Q SABRE-SD board can be used also to try the UHS-I SD boot on it.
The boot configure setting is
##############################
BOOT_CFG1[7:0] = 01001000 & BOOT_CFG2[7:0] = 00110000
SW6 [8:1] = 01000110, and short the R716
##############################
The board can boot up success with 100MHz SD operation clock (but the bus voltage still
keep in 3.3V since there are no voltage switch circuit on SDBRE-SD board). When Booting up,
the VSELECT pin (GPIO_18) will drive low (switch to 1.8V) after SD card identification and SD
clock change to 100MHz.
Note : boot ROM always switches voltage of card firstly, if success, it will switch voltage for host, if not,
the voltage doesn't been changed, and SDR12 or SDR25 will be used as default”.
Also the following may be helpful :
supporting SDR104 in imx6 board by yocto
Regards,
Yuri.
Hi Yuri,
Thanks for your help.
The customer's target device is i.MX6Solo. And your information is for i.MX6DQ.
Can I understand that your information is applied to i.MX6Solo as well?
Thanks,
Miyamoto
Hello,
Port 3 and 4 cannot be used for external SD (no card detect), but eMMC may be
used for boot. Programming eFuse BOOT_CFG2[2](DLL override) may be needed
for high speed.
Regards,
Yuri.
Hi Yuri,
I found the below description in i.MX6SDL RM at 'System Boot' chapter.
"For UHSI cards, clock speed fuses can be set to SDR50 or SDR104 on USDHC3 and
USDHC4 ports."
USDHC3 seems to have the reset signal SD3_RST pin, but USDHC4 does not.
Is it possible to use USDHC3 or USDHC4 for boot?
Thanks,
Miyamoto
Hello,
from the i.MX6 S/ DL Datasheet(s) [Table 2 i.MX 6Solo/6DualLite Modules List] :
"However, the SoC level integration and I/O muxing logic
restrict the functionality to the following:
• Instances #1 and #2 are primarily intended to serve
as external slots or interfaces to on-board SDIO
devices. These ports are equipped with “Card
detection” and “Write Protection” pads and do not
support hardware reset.
• Instances #3 and #4 are primarily intended to serve
interfaces to embedded MMC memory or interfaces
to on-board SDIO devices. These ports do not have
“Card detection” and “Write Protection” pads and do
support hardware reset."
Regards,
Yuri.