i.MX6UL eMMC boot

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

i.MX6UL eMMC boot

Jump to solution
1,565 Views
petrkulhavy
Contributor I

Hi,

I'm trying to bootstrap i.MX6UL to boot from eMMC. The BOOT_MODE is set to 00 (boot from fuses) and the eMMC 4.4 is connected to USDHC2 using 8-bits.

To minimize the risk of breaking the board I'm writing the fuses one by one. So I wrote in u-boot:

fuse prog 0 5 0x860

fuse prog 0 6 0x10

In my view this should make the RBL boot from eMMC interface 2 (though using 1-bit interface). Unfortunately the device still ends up in serial update. I'm trying to figure out what is wrong. Is there some possibility for debug? E.g. to read some SBC register to see what happened?

My eMMC has 2 boot partitions. Does the RBL attempt to load the image from the "normal area", or from a boot partition? And how can it be influenced?

I loaded the image into both the normal area as well as boot partition 0, at offset 1kiB. Unfortunately none of it worked so far.

Thanks

Petr

Labels (1)
Tags (3)
0 Kudos
1 Solution
978 Views
igorpadykov
NXP Employee
NXP Employee

Hi Petr

boot information is provided in SRC_SBMR1,2 registers and one can attach jtag to check it.

However before booting one needs to run ddr test

i.MX6/7 DDR Stress Test Tool V2.70 

and rebuild uboot with new calibration coefficients found from ddr test (uboot/

board/freescale/mx6ullevk/imximage.cfg).

Regarding writing to emmc one can look at mfg tools (script mfgtool2-yocto-mx-evk-emmc.vbs),

the same commands may be used for programming emmc in linux.

Mfg Tool can be found on

i.MX Software|NXP 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
4 Replies
978 Views
petrkulhavy
Contributor I

Hi Igor,

thank you for your reply. With the help of SBMR1 and SBMR2 registers I could debug and resolve the issue.

Best regards

Petr

0 Kudos
978 Views
anthony-loiseau-act
Contributor III

I am facing a very similar issue, and looking at SBMR registers I fail to find what is wrong.

Is it possible for you to give details about what you discovered in those registers?

Regards.

0 Kudos
978 Views
anthony-loiseau-act
Contributor III

I reply my old question in case this can help anyone.

My issue was Linux kernel not up-to-date for kobs-ng to work (4.9.x+fslc iirc). Looking kobs-ng output I was able to read that something like raw access failed (trace was located in the middle of the output), and kobs-ng continue the operation after that but the result was a mis-initialized SPL partition.

Switching to a more recent kernel branch fixed this (4.9-1.0.x-imx iirc).

0 Kudos
979 Views
igorpadykov
NXP Employee
NXP Employee

Hi Petr

boot information is provided in SRC_SBMR1,2 registers and one can attach jtag to check it.

However before booting one needs to run ddr test

i.MX6/7 DDR Stress Test Tool V2.70 

and rebuild uboot with new calibration coefficients found from ddr test (uboot/

board/freescale/mx6ullevk/imximage.cfg).

Regarding writing to emmc one can look at mfg tools (script mfgtool2-yocto-mx-evk-emmc.vbs),

the same commands may be used for programming emmc in linux.

Mfg Tool can be found on

i.MX Software|NXP 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos