Hi,
We have a custom 6ulz based board that was built with the 6ull EVK as reference. We are able to load u-boot onto it using uuu in Serial download mode but not able to load the demo OS from the SD2 slot.
On the EVK, we noticed that when we put the board in (Serial Downloader SW602 set to 10) mode and load a u-boot image using uuu tool, it loads u-boot onto memory and then that proceeds to start booting the kernel from the SD card no matter what boot mode we select on SW601 (we tried the SD mode 0010 as well as any other configuration).
When we tried to do the same on our board, it does not work and outputs the following:
Are we supposed to add the SD2 snippet onto mx6ullevk.c file? We added the following code on there hoping that would initialize the SD2 slot. It was a snippet from the mx6ul board file but we did not enable the EMMC rework part of the conditional statement and just had the usdhc2_pads, usdhc2_cd_pad and dat3 apd defined and called them with iomux_v3_setup_multiple_pads() fx under board_mmc_getcd() and board_mmc_init() functions:
Any help in clarifying how to get the SD2 slot to be recognized for booting OS would be greatly appreciated.
Thanks,
Angshu
Hi Igor,
We realized that the default CD_B pad for SD2 is being used for i2c1_SDA in our case. Can we use the DATA03 pin of USDHC2 to set that as the CD pin? Our guess is that because the default CD_B pin is set to high in our case, it is not detecting the card on the SD2 slot.
Any suggestions on re-routing another pad for Card detection purposes would be helpful.
Thanks,
Angshu
Hi Angshu
in linux one can refer to sect.3.3.6 Device Tree Binding
If it is used for boot, sect.Table 8-18. SD/MMC IOMUX pin configuration
i.MX 6ULZ Applications Processor Reference Manual
Best regards
igor
Hi Igor,
We ran the DDR calibration sucessfully and updated the dcd values. However in u-boot we still get the following error on debug mode when trying to boot OS from micro SD card:
clock is disabled (0Hz)
clock is enabled (400000Hz)
Card did not respond to voltage select!
mmc_blk_probe: mmc_init() failed (err=-95)
*** Warning - No block device, using default environment
if we load the same u-boot.imx file on the EVK board via SDP mode with the SD card present, it will start booting the OS without a problem as shown in the snippet below (it enables the 50Mhz SD CLK and proceeds to boot it seems).
clock is disabled (0Hz)
clock is enabled (400000Hz)
clock is enabled (50000000Hz)
miss: start 0, count 1
blk_find_device: if_type=6, devnum=1: usdhc@02190000.blk, 6, 0
blk_find_device: if_type=6, devnum=1: usdhc@02194000.blk, 6, 1
fill: start 0, count 1
The EVK schematics and ours is identical for the micro SD slot, hence no iomux required to reroute any pins. Do you have any other suggestions? U-boot seems to be running just fine when loaded via SDP but cannot get mmc device to come up properly. This is same across 3 of our boards.
Thanks,
Angshu
Hi Angshu
had you checked sd signals with oscilloscope, can provide any logs.
Best regards
igor
Hi Igor,
On the scope, the SD CLK pin has its value flipped when boot mode is changed. This seemed to indicate that the CPU is actually able to change that pin's value and that the signal path is good. However when we try to load u-boot and then boot from microSD, it does nothing at all.
Are there any specific configuration on u-boot's source or dts where we need to further enable sd clk for the 6ulz chip versus the EVK which has the 6ull chip? Are there any differences there?
The log output I pasted on my previous message shows the non-working and working (EVK) examples of uboot debug output, respectively.
there are no specific for ulz configuration, from log "card did not respond to voltage
select" - this is definitely hardware issue. Suggest to check signals with oscilloscope
and try other card. Also just for test one can try to prolong POR signal up to 1 sec.
Best regards
igor
Hi Igor,
We will further investigate the card slot. We have tried the same card on the EVK and it worked. Can you recommend a particular JTAG debugger in case we need to step through in JTAG?
Will also try and prolong the POR signal to 1 sec.
Thanks,
Angshu
Hi Angshu
in general any debugger can be used, RealView-ICE, JLINK.
Best regards
igor
Thank you Igor. Will let you know if we resolve it or have any questions. Appreciate it.
Hi Angshu
first for new board it is necessary to run ddr test
then find new ddr calibration coefficients and put them in uboot dcd header, rebuild image
Best regards
igor