Unable to boot U-Boot from POR via QSPI1A on Custom i.MX6 SoloX Board

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

Unable to boot U-Boot from POR via QSPI1A on Custom i.MX6 SoloX Board

1,890 Views
atzouris
Contributor I

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

Labels (2)
0 Kudos
4 Replies

949 Views
florian_germain
Contributor II

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.

0 Kudos

949 Views
khangbui
Contributor II

Yes, our problem had to do with the config file flashed to QSPI. We had the incorrect look-up tables.

0 Kudos

949 Views
bap3ball
Contributor III

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?

0 Kudos

949 Views
jamesbone
NXP TechSupport
NXP TechSupport

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!

0 Kudos