Short Description of Issue:
Can get i.MX6 SoloX to boot U-Boot just fine on the Evaluation Board from QSPI2
B. Cannot get i.MX6 to boot U-Boot from QSPI1A on Custom Board. On custom
board, U-Boot has been modified and can write/read/verfiy QSPI 1A memory from
U-Boot successfully. Just cannot boot from POR from i.MX6 SoloX from QSPI 1A.
Long Detailed Description of Issue:
Configuration:
- i.MX6 SoloX processor
- Yocto 1.7 with Freescale BSP and 3.14.28 Linux Kernel
- u-boot.imx image was build with option in local.conf for Yocto with the
following option: UBOOT_CONFIG="qspi2"
Evaluation Board: IMX6SX SabreSD
- boot mode pins are set to QSPI
- boot device cfg pins are set to QSPI 2
- 2 QSPI Chips that are Micron N25Q256A 32MB (256Mb)
- Wired to i.MX6 in QSPI Dual Mode
- Successfully boot off of QSPI2 B by manually flash programming
- u-boot.imx image at offset 0x1000 into the QSPI Flash through U-Boot
- qspi-micron.bin image at offset 0x400 into the QSPI 2 Flash through
U-Boot (This is the stock qspi micron configuration file from
Freescale named qspi-nor-micron-n25q256a-config)
- NOTE: qspi-micron-config needs to get converted from ASCII to binary
through awk script in Mfgtool
- Successfully boot same u-boot.imx image through the Mfgtool (without need
for qspi-micron.bin)
- Serial Flash Chip of interest from U-Boot is on Bus 0 Chip Select 0
Custom Board:
- boot mode pins are set to QSPI
- boot device cfg pins are set to QSPI 1
- 1 Chip Spansion S25FL132K 4MB (32Mb) Flash Chip
- Wired to i.MX6 in QSPI Single Mode (not Dual mode and not Quad mode)
- modified files in u-boot
~/board/freescale/mx6sxsabresd.c (diff file attached)
~/include/configs/mx6sxsabresd.h (diff file attached)
- Successfully from U-Boot can write/read/verify QSPI Flash u-boot.imx and
qspi-spansion.bin images as booted from Mfgtool. So U-Boot configuration
(i.e. pin mux, memory mapped address for QSPI, removed pin mux conflicts
for QSPI1, etc.) is working as modified. At this point can either
manually program the QSPI flash from U-Boot or program the QSPI Flash
using Mfgtool and in both cases the crc32 values for the u-boot and qspi
images are correct.
Issue:
- Not able to successfully boot U-Boot from QSPI1 A Flash.
- Strongly suspect configuration of values in QSPI 512 byte image are not
correct.
- Starting point for the qspi-spansion-config the Freescale provided
qspi-nor-spansion-s25fl128s-config. This chip runs in QSPI Quad mode
instead of the QSPI Single mode of the new custom board Spansion Flash
chip.
- In regards to modification to the config file the obvious changes are:
- (modify) Flash Memory Size of 1A is 4MB and all others are 0
- (modify) sflash_type = Single Mode
- (disable line) 1 /*device_quad_mode_en=1 to enable sending command to SPI device*/
- (disable line) 8283 /*device_cmd=command to device for enableing Quad I/O mode*/
- In regards to modification to the config file the non-obvious changes are:
- DDR Mode used or not used
- DQS Mode used or not used
- LUT Commands correct for QSPI Single Mode (remove/add/modify ???)
- IPCR hex values
attached file diff-mx6sxsabresd.c.txt
attached file diff-mx6sxsabresd.h.txt
attached modified qspi-nor-spansion-s25fl132k-config
attached imximage.cfg
Original Attachment has been moved to: diff-mx6sxsabresd.h.txt.zip
Original Attachment has been moved to: qspi-nor-spansion-s25fl132k-config.zip
Original Attachment has been moved to: imximage.cfg.zip
Original Attachment has been moved to: diff-mx6sxsabresd.c.txt.zip
Did you solve your problem?
I face the same problem on a custom board using QSPI2A and micron n25q128a13. My design is based on sabresd using n25q256a13 on QSPI2B.
Yes, our problem had to do with the config file flashed to QSPI. We had the incorrect look-up tables.
Hi Khang,
Came across this post and looks like you solved a problem that is similar to one we have. Can you provide the config file you finally used which fixed your problem?
DEar Anthony,
Your Freescale FAE already submit an internal treath so we are going to work with him to provide the response to your request. I am closing your thread, Please wait for a response from your FAE.
Have a nice day sir!