I.MX8MM eMMC Alternate boot.

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

I.MX8MM eMMC Alternate boot.

560 Views
vignesh-baskaran
Contributor III

HI,

 

We trying to boot eMMC in userspace.

First we boot from other interface upto userspace. Now we trying to evaluate the boot operation of eMMC.

is it possible test boot modes in Linux mmc device driver ? and any version of bsp enabled it in Linux kernel?

When we send cmd0 with arg 0xffffffa at 400KHz. We see card responding with boot ack and boot data on oscilloscope. But we are not sure how to handle it mmc host driver.

 

0 Kudos
4 Replies

536 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hello @vignesh-baskaran 

I hope you are doing well.

->Yes, one can add a print statement in the particular section of the emmc one wants to debug.
->"Switch to partitions #0, OK" From here one can debug the emmc boot towards the userspace.

->One can make changes to the driver in any Linux bsp one wants.
->After making certain changes please rebuilt the image and one can have the traces of the booting from emmc towards userspace.

Thanks & Regards,

Dhruvit Vasavada

0 Kudos

527 Views
vignesh-baskaran
Contributor III

Hi @Dhruvit,

 

Thanks for the reply.

Can you please let us know the following:

1) how to use mmc_boot register?

2) and how host handles boot ack and data?

3) Are there any interrupts generated for boot events? 

0 Kudos

503 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @vignesh-baskaran,

I hope you are doing well.

mmc_boot -> This register contains the MMC Fast Boot control register.
4th bit = BOOT_ACK -> Boot ACK mode select
                      0b - No ack
                      1b - Ack

Please refer to Section 10.3.7.1.30MMC Boot (MMC_BOOT) from RM for more details.
https://www.nxp.com/webapp/Download?colCode=IMX8MMRM

There are no interrupts generated for boot events. there is no mention of such in the register field.

Thanks & Regards,
Dhruvit Vasavada

0 Kudos

453 Views
vignesh-baskaran
Contributor III

Hi @Dhruvit ,

 

Thanks for letting me know.

We were following the same flow.

We were trying to set  MSBSEL, DTDSEL and DPSEL in host controller. But  we were not able to set it as '1', sometimes we getting core dump error.

 

1) Why we unable to set these bits?
2) And how to handle this data transfers?

3) Like what response host expects during booting methods?

 

if possible can point us any sample source code we could use as reference for eMMC booting as mentioned in the reference manual?

 

Thanks,

 Vignesh.

0 Kudos