[SOLVED] IMX6 Solo Serial ROM ECSPI Boot

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

[SOLVED] IMX6 Solo Serial ROM ECSPI Boot

Jump to solution
1,683 Views
danielberhe
Contributor IV

Hi All,

I am working on a custom IMX6 Solo board. I built a custom u-boot based on the mainline u-boot version 2019.10. My u-boot image runs fine when I put the board in serial downloader mode (BOOT_MODE[1:0] = 01b) and load the image using boundary devices USB loader. From u-boot, I am then copying the same u-boot image (.imx extension) from an SD card to SPI flash at address 0x400. I read the image back from the SPI flash and stored it on the SD card under a different name. Beyond Compare confirms that both files are identical suggesting the SPI flash write was successful.

I've set the fusemap as follows:

BOOT_CFG1 = 0x30

BOOT_CFG2 = 0x00

BOOT_CFG3 = 0x00

BOOT_CFG4 = 0x08

fuse prog -y 0 5 0x08000030

I also set BT_FUSE_SEL by typing fuse prog 0 6 0x00000010.

I then tried to boot off the SPI flash by putting the chip in 'Boot From Fuses' mode (BOOT_MODE[1:0] = 00b). Sadly, I don't see any serial traces to indicate that u-boot is running. I attached a logic analyser and I can see that the entire image is being read from the flash. My understanding is that if either the IVT or the DCD verification fails, it will switch to serial download mode. The fact that the chip is reading the whole .imx file suggests that the IVT and DCD are fine. I also noticed, after attempting to boot from SPI flash, I wasn't able to use the USB loader to load the u-boot image again. I have to reset the board and put it in serial download mode. This suggests that the chip is stuck somewhere but I can't figure out where.

Attached is a screenshot of my logic analyser trace. I've also attached the full capture but Saleae's software (Logic analyzer software from Saleae ) is needed to open it

Any help would be appreciated.

Daniel

Labels (2)
0 Kudos
1 Solution
1,390 Views
danielberhe
Contributor IV

Hi Igor,

The issue turned out to be in my imximage.cfg file. I replaced 'BOOT_OFFSET FLASH_OFFSET_STANDARD' with 'BOOT_FROM spi' and it is booting fine now.

Thank you for all your help.

Daniel

View solution in original post

0 Kudos
4 Replies
1,391 Views
danielberhe
Contributor IV

Hi Igor,

The issue turned out to be in my imximage.cfg file. I replaced 'BOOT_OFFSET FLASH_OFFSET_STANDARD' with 'BOOT_FROM spi' and it is booting fine now.

Thank you for all your help.

Daniel

0 Kudos
1,390 Views
danielberhe
Contributor IV

Hi Igor,

Thank you for your response.

Unfortunately, I am still unable to boot off SPI flash.

I switched to nxp uboot but that made no difference. I was still seeing the same behaviour.

I also read the OCRAM at address 0x907400 and I can see the IVT header there. Please see attached screenshot.

Regards,

Daniel

0 Kudos
1,390 Views
igorpadykov
NXP Employee
NXP Employee

Hi Daniel

i.MX6DL Sabre SD board has spi-nor, one can test on it using

uuu or mfg tool and demo images from i.MX Software and Development Tools | NXP 

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

0 Kudos
1,390 Views
igorpadykov
NXP Employee
NXP Employee

Hi Daniel

first may be recommended to try with nxp uboot:

uboot-imx - i.MX U-Boot 

Then attach jtag and check OCRAM address 0x00907400, described in

Figure 8-3. Internal ROM and RAM memory map, it should have ivt header copied from ecspi

i.MX 6Solo/6DualLite Applications Processor Reference Manual

For spi-nor programming one can use uuu tool, there is example "example_spinor.uuu"

in Linux Binary Demo Files - i.MX 6QuadPlus, i.MX 6Quad, i.MX 6DualLite, i.MX 6SoloX

GitHub - NXPmicro/mfgtools: Freescale/NXP I.MX Chip image deploy tools. 

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

0 Kudos