T1040RDB_booting from SPI

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

T1040RDB_booting from SPI

1,606 Views
vladimirsirik
Contributor I


One of my ctm has recently received the T1040RDB for evaluation.

Their SW/HW engineers still have some questions and in according to the feedback we will receive from FSL

we will decide and accept the final decision concerning the usage of FSL T-family into our new development.

First of all we are very surprised to know that T10xx processor cannot booting from SPI flash via its eSPI controller.

T10xx processor has everything for that but it seems there is no corresponding boot program inside the boot-ROM of processor.

It means that we can only boot via eLBC from parallel flash registering all addresses using several registers because

of multiplexing bus and Flash memory should be pre-programmed by external programmers.

Looks not state-of-the-art!

Or we didn’t understand something.

Which value of BOOT_LOCATION should be set into RCV?

We also couldn’t find the information for SPI. Could you please advise where it’s located?

  

Please clarify if the T10xx can be started/boot for SPI flash and how it can be done?

Thanks in advance for your attention and help,

Vladimir.

Labels (1)
0 Kudos
4 Replies

830 Views
vijayb1
Contributor II

Here is rcw part of generated u-boot-with-spl-pbl.bin, seems correct to me.

aa 55 aa 55 01 0e 01 00 0c 18 00 0e 0e 00 00 00
00 00 00 00 00 00 00 00 66 00 00 02 80 00 00 02
58 10 60 00 01 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 03 28 10 00 00 00 00 03 42 50 0f
00 00 00 00 00 00 00 00 09 25 01 00 00 00 04 00
09 25 01 08 00 00 20 00 09 00 00 10 00 00 00 0b
09 00 00 14 c0 00 00 00 09 00 00 18 81 d0 00 17
89 02 04 00 a1 00 00 00 09 13 80 c0 00 0f 00 00
89 02 04 00 00 00 00 00 09 01 00 00 00 20 04 00
09 13 80 00 00 00 00 00 09 13 80 c0 00 00 01 00
09 01 01 00 00 00 00 00 09 01 01 04 ff fc 00 07
09 01 0f 00 08 1e 00 0d 09 01 00 00 80 00 00 00
09 00 0c d0 00 00 00 00 09 00 0c d4 ff fc 00 00
09 00 0c d8 81 00 00 11 09 00 00 10 00 00 00 00
09 00 00 14 ff 00 00 00 09 00 00 18 81 00 00 00
09 11 00 00 80 00 04 03 09 11 00 20 2d 17 00 08

Thanks

Vijay

0 Kudos

830 Views
vijayb1
Contributor II

Hi Yiping,

I am trying SPI boot on T1040 RDB, i am using stock u-boot from SDK2.xxx

1) Build u-boot.(make T1040RDB_SPIFLASH_defconfig)

    make

2) copy the generated u-boot.bin and u-boot-with-spl-pbl.bin

=>tftp 100000 u-boot-with-spl-pbl.bin

=>sf probe 0

=>sf erase 0 100000

=>sf write 100000 0 $filesize

write u-boot.bin at offset 0x40000 (256KB):

=>tftp 100000 u-boot.bin

=>sf write 100000 40000 $filesize

Change the switch setting as below

SW1 [1:8] = 0010 0010

SW2 [1:8] = 1011 1011

SW3 [1:8] = 1110 0001

So far i have been unsuccessful, my understanding is that u-boot will build PBL.bin with default rcw which is good enough to test boot from spi. Is my understanding correct? Am i missing something?

Thanks

Vijay

0 Kudos

830 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello VLADIMIR SIRIK,


T10xx can boot from SPI with SDK 1.7 image.

1. Build SPI u-boot in SDK 1.7.

$ bitbake -c cleansstate u-boot

Add "T1040RDB_SPIFLASH" in UBOOT_MACHINES of meta-fsl-ppc/conf/machine/t1040rdb.conf.

$ bitbake u-boot

2. Create SPL image and deploy image to SPI flash.

Please refer to Freescale Technical Information Center, SDK 1.7 Document->u-boot->eSPI/NAND/SD boot,

use QCS tool to generate PBL image, for T1040, u-boot size is 768K, but CPC is 512K, not enough to store the whole u-boot, two stage u-boot images need to be used. Please use build_t1040rdb_release/tmp/work/t1040rdb-fsl-linux/u-boot/2014.01+fslgit-r0/git/T1040RDB_SPIFLASH/u-boot-spl.bin  to generate PBL image. The procedure is similar as SD card, please refer to this thread T1040RDB: SD boot procedure?.

Similar as T2080, write two Images, the first is the PBL1.bin produced by QCS tool, the second is the u-boot.bin.

1) write PBL1.bin at offset 0:

=>tftp 100000 PBL1.bin

=>sf probe 0

=>sf erase 0 100000

=>sf write 100000 0 $filesize

2) write u-boot.bin at offset 0x40000 (256KB):

=>tftp 100000 u-boot.bin

=>sf write 100000 40000 $filesize

3) write ucode to eSPI from offset 0x110000

=>tftp 100000 ucode.bin

=>sf erase 110000 10000

=>sf write 100000 110000 $filesize

3. Switch setting

SW1 [1:8] = 0010 0010

SW2 [1:8] = 1011 1011

SW3 [1:8] = 1110 0001

For any problem, please feel free to let me know.


Have a great day,
Yiping

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

0 Kudos

830 Views
sinanakman
Senior Contributor III

Hi Vlad

I am not an expert on T1040 but in T1040RM

RCW field PBI_SRC does list SPI as PBI source.

Likewise in T1040RDB User Guide the section

"4.4.3 Other Boot Source Setting" shows SPI boot

SW settings. Perhaps this is all already known to

you and you are referring to something else.

Hope this helps

Regards

Sinan Akman

0 Kudos