I am working on i.MX6 SABRE-SD board and want to boot from spi nor flash. But the guide doesn't mention this way. Now I wonder if it supports this way.
Anyone can help me? Thanks in advance!
Hi Cao ping,
In the imx6q reference manual:
Serial ROM through SPI and I2C-->Serial ROM eFUSE Configuration
--> ECSPI IOMUX Pin Configuration
After you have read the referece manual, let take the AI board hardware as an example:
SPI_NOR 0 0 1 1 x x x x x x x x x x x x 0 0 0 0 0 0 0 0 x x 0 1 1 0 0 0
According to Table 8-22. Serial ROM Boot eFUSE Descriptions
BT_CFG1: 0011 Boot from Serial ROM
BOOT_CFG4[5:4]=01 CS select (SPI only) 01 - ECSPIx_SS1
BOOT_CFG4 =1 1 - 3-bytes (24-bit)
BOOT_CFG4[2:0]=000 - ECSPI-1
According to Table 8-25. SPI IOMUX Pin Configuration, the pins are:
MISO EIM_D17.alt1, MOSI EIM_D18.alt1, SS1 EIM_D19.alt1, SCLK EIM_D16.alt1
Then you can check the schematics of AI board whether it is our expectation.
Yes, it is.
So, you can use ECSPI-1 ECSPI-2 ECSPI-3 ECSPI4 ECSPI-5 for SPI boot.
But please make use on collisions happen.
You can use the iomux tool to do the check.
IMX6 can support spi nor boot with BOOT_CFG1[7:4] = 0000.
But Current SD board uses KEY relative PINs as
SPI interface. However, this set of PINs are not
supported by ROM. Therefore, SPI NOR boot is
not supported by Smart Device Board.
You can check the Sabre-AI board for reference. Sabre-AI board supports SPI NOR boot.
Thanks for your explanation. As you said，the IMX6 processor supports SPI NOR boot but the Smart Device Board can not. If I desing my own board, I can add SPI NOR boot to my design, right?
Correct. You can add the SPI-NOR boot to your board as Sabre-AI does. You can compare Sabre-AI board to Sabre-SD board to find the differences.
Those differences are what you need to do on your board.
now i want to design one board use SPI NOR boot similar to Sbare-AI board,EIM pin that i have used. the pin i use is diffrent from Sbare-AI board,so i want to do some modify on linux which run in ram,can you tell me some idea about this? Thank you !
Retrieving data ...