I.MX8MM eMMC Alternate boot.

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

I.MX8MM eMMC Alternate boot.

932 次查看
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 项奖励
回复
4 回复数

908 次查看
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 项奖励
回复

899 次查看
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 项奖励
回复

875 次查看
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 项奖励
回复

825 次查看
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 项奖励
回复