AnsweredAssumed Answered

SPI FLASH boot

Question asked by James He on May 31, 2017
Latest reply on May 31, 2017 by igorpadykov

My board is almost same as imx6qp-sabreauto board. and i use SPI FLASH s25fl256 on ECSPI1 SS2. I made u-boot,kernel, rootfs. they all works well. 

at u-boot stage, i can use sf probe to get right flash infomation.

after the board run into kernel, at the shell, i use ls /dev/mtd*, i get /dev/mtd0 ... to /dev/mtd8. 

when i mount /dev/mtd0 /mnt/mtd0, i can read write it correctly.  when i reboot the system, the file is still present.  it means that the driver and the pin iomux is right for spi flash.

i burn the u-boot.imx(verified on board by mfgtool) to flash by command:

dd if=u-boot.imx of=/dev/mtdblock0

it return right.

then at u-boot shell, i use fuse comand to burn the efuse.

fuse prog 0 0 5 28000030

fuse prog 0 0 6 00000010

It means use ECSPI1 SS2 to boot and set BT_FUSE_SEL to 1。

After i re power the board, it does not put any output on the console both uboot and linux. what's problem? 

When i use mfgtool to boot the board, in linux shell:

cat /sys/fsl_otp/HW_OCOTP_CFG4

got 0x28000030

cat /sys/fsl_otp/HW_OCOTP_CFG5

got 0x00000010

memtool is tool to show memory:

memtool 0x020d8000

got 0x020d8004: 0x28000030

got 0x020d801c: 0x10000011

it seems BT_FUSE_SEL is 1 and efuse_cfg4 is right. i only write these registers. Is there any other registers should be prog? 

I use the default mx6cqp.cfg from imx6qp-sabreauto board to describe the dcd, is it ok?

thanks. 

Outcomes