03-03-2019 06:57 PM
I have a eMMC initialization failure problem with my own zu19eg board. The failure occurs at the FSBL Stage. I have been checked this problem following with the guide https://www.xilinx.com/support/answers/71019.html
The results are as attachmented. It is sure that IDCODE and PS_VERSION is appropriate and the eMMC model is in Xilinx supported list.
I have tried to boot the board with initramFS in Jtag mode. Anyway the system startup with emmc error. And the capacity of emmc is just 8KiB when i type the command "lsblk". Errors occur when i try to write or read the eMMC with typeing the command "dd if=/dev/zero of=/dev/mmcblk0 bs=512 count=10" or "dd if=/dev/mmcblk0 of=/dev/null bs=512 count=10". The errors are attached.
03-06-2019 01:58 PM
Have you tried to slow down the interface following https://www.xilinx.com/support/answers/69368.html ?
03-06-2019 07:34 PM
Yes，i have tried. But the problem still exists.
It always hangs at the below codes inside the funtion Xsdps_Change_BusWidth() in the file xsdps_options.c.
03-07-2019 09:17 AM
What's the refernce clock for the controller setup in Vivado?
is it 200MHz?
The ROM runs the interface at 8MHz and it works consistently, right?
How much did you slow down the FSBL? 25MHz?
03-07-2019 06:19 PM
Yes, the refernce clock for the controller setup in Vivado is 200MHZ and the bus width sets to 8bit. And i want to slow it down to 50MHZ.
I am sorry and not quite clear about the ROM runing the interface at 8MHZ.
However, i debug the fsbl and make sure it hangs at waiting for CMD6 transfer completed. It returns with timeout error.
All the emmc commands before CMD6 is well done. That is to say, it succeeds to intialize emmc card, change the clock frequency to 26MHZ which is for default speed and select the card, but it fails to change bus width. Changing the width is what CMD6 means to do.
PS: the card initialization flow as below figures show:
03-07-2019 06:55 PM - edited 03-12-2019 05:52 PM
And i am confused because there is a confilicts between ug1085 and the codes in the fsbl. In ug1085, it says SD card sending CMD6 and eMMC sending ACMD6, but the codes does oppositely.
03-08-2019 09:46 AM
I forgot to ask the version of the tool used to generate the FSBL.
I didn't find any known issue with latest versions.
I doubt there's an issue with the code. I would focus more and board design, layout and signal integrity issues.
03-12-2019 05:55 PM
The fsbl code is generated by xsdk 2018.2. I agree with you and should focus more on board.