i.MX8 Mini LPDDR4 - C1 vs. C3 and SD-card muxing issues

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

i.MX8 Mini LPDDR4 - C1 vs. C3 and SD-card muxing issues

550 Views
jannekii
Contributor I

Issue: C3 revisions of the i.MX8 Mini LPRDD4 boards do not work with Pengutronix SD-card muxer.

Background:

- i.MX8 mini boards -  https://www.nxp.com/part/8MMINILPD4-EVK#/

  • What are the revision C1 vs. C3 differences?
  • Revision C1 works just fine, but C3 fails to boot.

SD-card muxer: https://www.pengutronix.de/de/blog/2017-10-23-usb-sd-mux_Intro.html

We use the SD-card muxer to share the same SD-card with the Device Under Test (DUT, the i.MX8) and a test automation host. This allows us to flash a full image for testing simply by:

  1. power off the i.MX8
  2. move control of the SD-card to the host machine
  3. overwriting the SD-card fully with a new image
  4. moving overship of SD-card back to the i.MX8
  5. powering on the i.MX8

However, with C3 this unfortunately fails. Would anyone have any idea what could be going wrong? Is the C3 revision SD-card signal quality somehow more sensible for interference? Is there some way to decrease the SD-card clock speed to decrease? Example log below:

 

The C3 goes to boot loop with following output:

U-Boot SPL 2020.04 (Jan 01 1970 - 00:00:00 +0000)

power_bd71837_init

DDRINFO: start DRAM init

DDRINFO: DRAM rate 3000MTS

DDRINFO:ddrphy calibration done

DDRINFO: ddrmix config done

Normal Boot

Trying to boot from MMC1

NOTICE:  BL31: v2.2(release):imx_5.4.24_er3-0-gb0a00f22b-dirty

NOTICE:  BL31: Built : 00:00:00, Jan  1 1970

I/TC:

I/TC: Non-secure external DT found

I/TC: OP-TEE version: 3.10.0-61-gba1333a5 (gcc version 10.2.0 (GCC)) #1 Thu 01 Jan 1970 12:00:00 AM UTC aarch64

I/TC: Primary CPU initializing

I/TC: Primary CPU switching to normal world boot

 

 

U-Boot 2020.04 (Jan 01 1970 - 00:00:00 +0000)

 

CPU:   i.MX8MMQ rev1.0 1800 MHz (running at 1200 MHz)

CPU:   Commercial temperature grade (0C to 95C) at 37C

Reset cause: POR

Model: NXP i.MX8MM EVK board

DRAM:  2 GiB

TCPC:  Vendor ID [0x1fc9], Product ID [0x5110], Addr [I2C1 0x52]

Power supply on USB2

TCPC:  Vendor ID [0x1fc9], Product ID [0x5110], Addr [I2C1 0x50]

MMC:   FSL_SDHC: 1, FSL_SDHC: 2

Loading Environment from FAT... MMC: no card present

In:    serial

Out:   serial

Err:   serial

 

BuildInfo:

  - ATF b0a00f2

  - U-Boot 2020.04

 

Net:  

Warning: ethernet@30be0000 using MAC address from ROM

eth0: ethernet@30be0000

MMC: no card present

## Executing script at 40480000

Wrong image format for "source" command

resetting ...

 

 

0 Kudos
Reply
1 Reply

532 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi,

See below, please!

1. From your application point of view, you just have to use the microSD card interface. There is no problem for i.MX8MMLPD4-EVK.

2. From your log, u-boot did not find the SD card, it may be:
---The CD pin is not triggered.
---The voltage of the CPU terminal and the voltage of the SD card (muxer) do not match.
The CPU side supports 3.3V and 1.8V, and the system can switch the voltage according to the IO level of sd card.

3. If you want to control emmc clock, you do like below

---Add lines below to the device tree of u-boot and kernel.

usdhc2 node:

......

max-frequency=<50000000>;  /* 50MHz or lower one you want */

no-1-8-v;

......

Try it, please!

Have a nice day!

B.R,

weidong

 

 

0 Kudos
Reply