imx7s emmc ( boot ) fuse bits - no u-boot

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

imx7s emmc ( boot ) fuse bits - no u-boot

1,013 Views
edwardtyrrell
Senior Contributor I

Hi

I'm having some issues getting a new custom board to boot off u-boot. It's close to the warp7 and came out of production with a blank emmc ( apparently one big user partition ).  According to fsl support I can't use the mgftool as yocto ( krogoth ) lacks the initramfs package in which mfgtool requires.  Here's what I can do:

1) Using imx_usb load u-boot into ram ( manufacturing switch = 1 )

2) Using u-boot and "ums 0 mmc 0" I managed to get a virtual SD card pop up.

3) I formatted this virtual SD card and partitioned it as close to a normal Linux SD card as possible.

4) I can dd kernel on to the virtual card and it remains after I reset my board ( manufacturing sw = 0 ).

5) What I can't do is flash u-boot permanently. After returning the manufacturing sw to 0 u-boot never runs from power up.

6) What else is odd that in run mode ( sw=0), the board is still actually in manufacturing mode. I can prove this by running imx_usb and loading u-boot back into ram. If I let the ram u-boot run I get my previously flashed kernel loading.

Could this be due to fuse bits; caused by doing things ( partitioning ) manually? Things seem to be ignoring the manufacturing sw and preferring OTG manufacturing mode. So perhaps u-boot IS flashed in but due to the fuse bits it's getting ignored?

How do I check and set these fuse bits if needed?

Any help would be appreciated.

BR,

Ed.

Labels (3)
0 Kudos
3 Replies

540 Views
igorpadykov
NXP Employee
NXP Employee

Hi Edward

one can try to write full image (it includes uboot) named as *.sdcard, please refer to
attached Linux Guide sect.4.3.2 Copying the full SD card image
Binaries (like fsl-image-machine-test-imx7s-warp-20161212-7.rootfs.sdcard.gz)
can be found on
https://www.element14.com/community/docs/DOC-79058

>How do I check and set these fuse bits if needed?

fuses can be read/programmed from uboot and commands described on
http://boundarydevices.com/fuse-command/

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

0 Kudos

540 Views
edwardtyrrell
Senior Contributor I

Thanks, as I was using a brand new blank board I just had to set the BOOT_CFG bits via u-boot => fuse prog 1 3 x0xxxxxx. After that it boots fine. Only other issue I have now is 9 times out of 10 it will error with: Waiting for root device /dev/mmcblk1p2...

mmc2: error -84 whilst initialising MMC card

Why would it work and load to login only 1/10 times?

Ed

0 Kudos

541 Views
igorpadykov
NXP Employee
NXP Employee

this may be due to communications errors between emmc with processor, one can check

signals with oscilloscope, read also bring-up hints from i.MX7 User Guide

http://www.nxp.com/files/32bit/doc/user_guide/IMX7DSHDG.pdf 

Also if you have working reference board, one can read its emmc extcsd register and compare

with custom using mmc-utils :

https://community.nxp.com/message/817006?commentID=817006#comment-817006 

~igor

0 Kudos