i.MX93 - eMMC detected but "no card present"?

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

i.MX93 - eMMC detected but "no card present"?

358 Views
dmarks_ls
Senior Contributor II

We have a custom board based on the i.MX 93 (MIMX9352CVVXMAB), and we have an 8 GB eMMC device (Alliance ASFC8G31MA-51BIN) connected to SD1 in the same fashion as on the EVK and FRDM boards.  I've built a U-Boot and kernel image for our board; the BSP right now is just a clone of the EVK BSP with memory speed (in U-Boot) ratcheted down to 1866 MT/s (a topic for another post).  I'm able to load U-Boot onto our board via UUU, but when it runs, I get the output below (see attachment).  Importantly, I see this:

MMC: no card present

I played some "Spot the Difference" between our schematics and the EVK and FRDM schematics, given that Alliance makes some specific recommendations for their chips.  We made sure that there is no pullup on SD_CMD or SD_DATA[0-7], and no series resistor on SD_CLK.  To the best of my ability to verify, we appear to have the exact same circuit on our board for eMMC as the EVK and FRDM boards do, but U-Boot appears unconvinced of this fact.

... or maybe it does see the eMMC?  If in U-Boot I run a few "mmc" commands, I get this:

u-boot=> mmc rescan
u-boot=> mmc info
Device: FSL_SDHC
Manufacturer ID: 1
OEM: 0
Name: S40008
Bus Speed: 200000000
Mode: HS400ES (200MHz)
Rd Block Len: 512
MMC version 5.1
High Capacity: Yes
Capacity: 7.3 GiB
Bus Width: 8-bit DDR
Erase Group Size: 512 KiB
HC WP Group Size: 8 MiB
User Capacity: 7.3 GiB WRREL
Boot Capacity: 4 MiB ENH
RPMB Capacity: 4 MiB ENH
Boot area 0 is not write protected
Boot area 1 is not write protected
u-boot=> mmc read 0 1 1
MMC read: dev # 0, block # 1, count 1 ... 1 blocks read: OK

That sure looks to me like U-Boot is in fact able to interrogate and read the eMMC device.

So why is U-Boot saying "MMC: no card present"?  I'm trying to flash our board with U-Boot and an RFS image using the command:

uuu -b emmc_all .\imx-boot-imx93-11x11-lpddr4x-evk-sd.bin-flash_singleboot .\imx-image-multimedia-imx93-11x11-lpddr4x-evk.rootfs-20251030205016.wic.zst

But I get the output as attached.  What do I need to do to convince U-Boot to let me flash the eMMC?

Dana M.

0 Kudos
Reply
5 Replies

275 Views
Manuel_Salas
NXP TechSupport
NXP TechSupport

Hello @dmarks_ls 

I hope you are doing very well.

 

Could you please share your schematic related to the MMC and and the U-boot device tree?

 

Best regards,

Salas.

0 Kudos
Reply

264 Views
dmarks_ls
Senior Contributor II

Hi Salas,

Here are the relevant sections of the schematic:

Schematic, Processor MMC sectionSchematic, Processor MMC sectionSchematic, MMC DeviceSchematic, MMC Device

Of note: We replaced R90 (SDI_CLK in series) with a zero ohm, and also removed R79-R86 (SDI_DATAx pullups).  I have not yet modified the device tree for our target; we are using the stock bootloader and device tree as defined for the i.MX 93 EVK.  And to reiterate, the U-Boot "mmc" test commands do appear to detect and read a functioning eMMC device (see my original post).  It's just that UUU and U-Boot are refusing to flash eMMC with my supplied images... U-Boot loads, but no flashing activity takes place.

Dana M.

0 Kudos
Reply

201 Views
Manuel_Salas
NXP TechSupport
NXP TechSupport

Hello @dmarks_ls 

As the BSP is the same as the EVK, could you pelase double check that the Device tree used in U-boot has the property non-removable; in the USDHC1 interface?

Also, if possible, share your BSP and U-bot version to align with your environment.

 

Best regards,

Salas.

 

 

0 Kudos
Reply

175 Views
dmarks_ls
Senior Contributor II

U-Boot announces itself as:

U-Boot 2025.04-g44898b9f3cfe-dirty (Sep 03 2025 - 09:56:50 +0000)

(It's "dirty" because I modified the lpddr4_timing.c file to play nice with this board, running at 1866 MT/s vs 3733 MT/s.)

I'm not 100% certain which DTS file is being used; following are the "imx93" files present in my U-Boot source:

dmarks@Perseus:~/yocto/evk-imx93/build/tmp/work/imx93_11x11_lpddr4x_evk-poky-linux/u-boot-imx$ find . -name "*.dts" -print | grep imx93
./2025.04/git/dts/upstream/src/arm64/freescale/imx93-tqma9352-mba93xxla.dts
./2025.04/git/dts/upstream/src/arm64/freescale/imx93-14x14-evk.dts
./2025.04/git/dts/upstream/src/arm64/freescale/imx93-kontron-bl-osm-s.dts
./2025.04/git/dts/upstream/src/arm64/freescale/imx93-var-som-symphony.dts
./2025.04/git/dts/upstream/src/arm64/freescale/imx93-tqma9352-mba93xxca.dts
./2025.04/git/dts/upstream/src/arm64/freescale/imx93-9x9-qsb.dts
./2025.04/git/dts/upstream/src/arm64/freescale/imx93-phyboard-segin.dts
./2025.04/git/dts/upstream/src/arm64/freescale/imx93-11x11-evk.dts
./2025.04/git/arch/arm/dts/imx93-11x11-frdm.dts
./2025.04/git/arch/arm/dts/imx93-var-som-symphony.dts
./2025.04/git/arch/arm/dts/imx93-phyboard-segin.dts

Given I'm building "imx93-11x11-lpddr4x-evk", I would have to assume it's using "imx93-11x11-evk.dts", which I've attached.  That does list "non-removable" for usdhc1.  I also found "imx93-11x11-evk.dtb" in my images directory; I then used dtc to decompiled that, and I've attached that source as well.  That also lists the "non-removable" trait.

My command for initializing my repo is:

repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-walnascar -mimx-6.12.34-2.1.0.xml

Please let me know if you need additional information about my setup.

Dana M.

0 Kudos
Reply

333 Views
dmarks_ls
Senior Contributor II

Ugh, apparently my attached content, wasn't.  Let's try that again.

0 Kudos
Reply