SD and EMMC error on custom board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SD and EMMC error on custom board

2,119 Views
Ghouse
Contributor V

Hi, Iam using a custom board based on LS1046A,

When iam booting the Card from SD card iam getting following error

error -84 whilst initialising MMC card (complete log is attached)

Here i used a Ultra SD card, in the Tiny linux terminal i checked the speed:

root@TinyLinux:~# dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 0.846223 s, 1.2 GB/s

Then i used a different card with low speed, here i did not get any errors(attached is the complete log), then i checked the speed in tiny linux

Working SD Card
root@TinyLinux:~# dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 138.256 s, 7.6 MB/s

Now, is there a standard way to solve the problem, or is there a way to reduce the Read write Speed for SD/EMMC.

Please provide your support,

Thank you.

 

 

 

 

Tags (1)
0 Kudos
Reply
11 Replies

2,090 Views
khushbur
NXP TechSupport
NXP TechSupport

Hi @Ghouse 

 

Can you please add below in your custom board dts file.

&esdhc {
mmc-hs200-1_8v;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-sdr25;
sd-uhs-sdr12;
};

 

Thanks

Khushbu

0 Kudos
Reply

2,087 Views
Ghouse
Contributor V

Hi, thanks for the reply,

I have the added the esdhc component in the dts file and recompiled the Firmware image , but the issue still exists.

0 Kudos
Reply

2,036 Views
Ghouse
Contributor V

HI, where is the dts file residing for Tiny Linux, i assume it is @flexbuild_lsdk2108/components/firmware/uboot/arch/arm/dts/fsl-ls1046a-rdb.dts

Plz correct me if iam wrong.

@khushburw.r.t to your previous reply, i had modified the dts at this location, and built the firmware image.

0 Kudos
Reply

2,022 Views
khushbur
NXP TechSupport
NXP TechSupport

Hi @Ghouse 

 

You can edit dts file from flexbuild_lsdk2108_github/components/linux/linux/arch/arm64/boot/dts/freescale/fsl-ls1046a-YourBoard.dts

 

Thanks

Khushbu

0 Kudos
Reply

2,011 Views
Ghouse
Contributor V

Hi @khushbur 

I removed the esdhc component from the Linux Device tree, now the Linux boots up without any emmc error(attached is the linux dts),

However when i load only the firmware image in the SD card and boot the board to Tiny linux iam still getting the emmc error (attached is the Tiny Linux Boot log) (also attached is the u-boot dts).

From above it is clear that the Linux is booting correct, however the Tiny Linux is having some issue.

Please let me know as what need to be done to resolve this emmc issue in Tiny Linux.

Thank u.

0 Kudos
Reply

1,978 Views
khushbur
NXP TechSupport
NXP TechSupport

Hi @Ghouse 

 

I removed the esdhc component from the Linux Device tree, now the Linux boots up without any emmc error(attached is the linux dts),

This component was for Ultra high speed SD card, Are you able to detect your sd card with UHS after  removing this?

Can you send me your schematics? 
How long are the traces of data and clock of eSDHC?
Can you provide a trace length report?
 
Thanks
Khushbu
0 Kudos
Reply

1,957 Views
Ghouse
Contributor V

Hi @khushbur 

Are you able to detect your sd card with UHS after removing this?

Yes iam able to detect SD card.

Attached is the schematics for your reference.

 

Can you provide a trace length report? : I do not have the trace length report.

Thank u.

0 Kudos
Reply

1,920 Views
khushbur
NXP TechSupport
NXP TechSupport

Hi @Ghouse 

Please check signal SDHC_CD_B & SDHC_WP as I couldn't find the connection in the shared schematic. Also, these pins should be pulled high through 10-100 kΩ resistors to DVDD.
Also, verify the EVDD voltage level while using SD card

Yes i am able to detect SD card.

You will be able to detect uhs card but speed will be low. If that is okey for you can build tiny linux with same changes(removing &esdhc {mmc-hs200-1_8v;..)

Please refer below link to build tiny linux

https://docs.nxp.com/bundle/GUID-487B2E69-BB19-42CB-AC38-7EF18C0FE3AE/page/GUID-5D752E12-E63B-48B4-8...

 

Thanks

Khushbu

0 Kudos
Reply

1,911 Views
Ghouse
Contributor V

Hi @khushbur 

Thank u for the reply.

signal SDHC_CD_B & SDHC_WP are present in the attached Schematics, please note that they are pulled up to 3.3V.

EVDD voltage level while using SD card is 3.3V.

Iam able to detect successfully SD Card and able to boot upto Linux Sucessfully for SD boot,

But the problem is with the emmc boot, when i change the boot mode to emmc, iam able to read and write to emmc in uboot, but when Tiny linux comes up iam getting error (attached is the boot log with emmc).

I removed the esdhc component in device tree and recompiled but the error still exists. Plz let me know what can be done.

I dont mind even if the speed is low with emmc.

Thank u.

 

0 Kudos
Reply

1,843 Views
khushbur
NXP TechSupport
NXP TechSupport

Hi @Ghouse 

 

There is issue with the power rail of eMMC
As per the datasheet data lines should be pulled up by VCCQ. But you have applied 3.3V. Please refer below image.

image.png

 

Thanks

Khushbu

 

 

 

0 Kudos
Reply

2,096 Views
Ghouse
Contributor V

Hi all. awaiting for the reply.

Is it something related to the Device tree in u-boot? How to change the Device tree for Tiny linux?

Please provide your comments/feedback.

Thank u.

Tags (1)
0 Kudos
Reply