T1040RDB: SD boot procedure?

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

T1040RDB: SD boot procedure?

Jump to solution
3,809 Views
sareenakp
Contributor II

Hi,

What is the procedure to boot from SD on T1040RDB?

The QorIQ SDK 1.6 manual  refers to eSPI/SD/NAND boot for Freescale T4240E/T2080E and P series processors. But no information is available for T1040RDB.

We have generated the PBL file after modifying the PBI_SRC to SD/MMC.

Can someone provide answers to the following queries.

1) What are the values to be given for BOOT_LOC in RCW?

2) What are the PBI commands to be appended?

3) How to insert the u-boot.bin into the PBL? (The yocto build only generates a generic u-boot.bin, unlike the u-boot-spl.bin that the SDK manual refers to)

4) At what offset should we write PBL.bin and u-boot.bin to the SD card ?

5) Also the SDK 1.6 manual refers to writing ucode.bin as well (for T2080/T4240). Is it applicable to T1040RDB. If so how do we get this?

5) Is there any board switch configuration?

Thanks and Regards,

Sareena.

Tags (1)
0 Kudos
1 Solution
1,711 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Sareena,

1) I think BOOT_LOC is 0b10000 ‐ Memory Complex 1.

2) Please use PBI commands for T series.

For T-/B-series SoCs (with 512 KB CPC SRAM) :

#Initialize CPC1

09010000 00200400

09138000 00000000

091380c0 00000100

#512KB SRAM

09010100 00000000

09010104 fff80009

09010f00 08000000

#enable CPC1

09010000 80000000

#Configure LAW for CPC1

09000d00 00000000

09000d04 fff80000

09000d08 81000012

#Initialize eSPI controller

09110000 80000403

09110020 2d170008

09110024 00100008

09110028 00100008

0911002c 00100008

#Configure alternate space

09000010 00000000

09000014 ff000000

09000018 81000000

#Flush PBL data

09138000 00000000

091380c0 00000000

3)By default T1040RDB SD boot is not included in Yocto, please try to use the following procedure.

In the file meta-fsl-ppc/conf/machine/t1040rdb.conf, please add T1040RDB_SDCARD

UBOOT_MACHINES ?= "T1040RDB T1040RDB_SDCARD"

build u-boot:

#bitbake -c cleansstate u-boot

#bitbake u-boot

Get u-boot images in build_t1040rdb_release/tmp/work/t1040rdb-fsl-linux/u-boot/2014.01+fslgit-r0/git/T1040RDB_SDCARD/.

4. Browse to File: u-boot-spl.bin

                            Change offset: 0xfd000

For SD card deployment

=>tftp 100000 PBL1.bin

=>mmcinfo

=>mmc write 100000 8 block_number

=>tftp 100000 u-boot.bin

=>mmc write 100000 208 block_number

=>tftp 100000 ucode.bin

=>mmc write 100000 820 block_number

5) Yes, please refer to SD memory map

SD Card memory Map on T104xRDB

------------------------------------------

Block          #blocks        Definition                      Size

0x008          2048            u-boot                          1MB

0x800          0024            u-boot env                      8KB

0x820          0256            FMAN Ucode                      128KB

0x920          0256            QE Firmware                    128KB

6)SD boot switch setting.

• SW1 [1:8] = 0010 0000

• SW2 [1:8] = 0011 1001

• SW3 [1:8] = 1110 0001


Have a great day,
Yiping Wang

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

View solution in original post

0 Kudos
7 Replies
1,712 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Sareena,

1) I think BOOT_LOC is 0b10000 ‐ Memory Complex 1.

2) Please use PBI commands for T series.

For T-/B-series SoCs (with 512 KB CPC SRAM) :

#Initialize CPC1

09010000 00200400

09138000 00000000

091380c0 00000100

#512KB SRAM

09010100 00000000

09010104 fff80009

09010f00 08000000

#enable CPC1

09010000 80000000

#Configure LAW for CPC1

09000d00 00000000

09000d04 fff80000

09000d08 81000012

#Initialize eSPI controller

09110000 80000403

09110020 2d170008

09110024 00100008

09110028 00100008

0911002c 00100008

#Configure alternate space

09000010 00000000

09000014 ff000000

09000018 81000000

#Flush PBL data

09138000 00000000

091380c0 00000000

3)By default T1040RDB SD boot is not included in Yocto, please try to use the following procedure.

In the file meta-fsl-ppc/conf/machine/t1040rdb.conf, please add T1040RDB_SDCARD

UBOOT_MACHINES ?= "T1040RDB T1040RDB_SDCARD"

build u-boot:

#bitbake -c cleansstate u-boot

#bitbake u-boot

Get u-boot images in build_t1040rdb_release/tmp/work/t1040rdb-fsl-linux/u-boot/2014.01+fslgit-r0/git/T1040RDB_SDCARD/.

4. Browse to File: u-boot-spl.bin

                            Change offset: 0xfd000

For SD card deployment

=>tftp 100000 PBL1.bin

=>mmcinfo

=>mmc write 100000 8 block_number

=>tftp 100000 u-boot.bin

=>mmc write 100000 208 block_number

=>tftp 100000 ucode.bin

=>mmc write 100000 820 block_number

5) Yes, please refer to SD memory map

SD Card memory Map on T104xRDB

------------------------------------------

Block          #blocks        Definition                      Size

0x008          2048            u-boot                          1MB

0x800          0024            u-boot env                      8KB

0x820          0256            FMAN Ucode                      128KB

0x920          0256            QE Firmware                    128KB

6)SD boot switch setting.

• SW1 [1:8] = 0010 0000

• SW2 [1:8] = 0011 1001

• SW3 [1:8] = 1110 0001


Have a great day,
Yiping Wang

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

0 Kudos
1,711 Views
jaket
Contributor II

p.s. what do you mean by "Change offset: 0xfd000"

0 Kudos
1,711 Views
mathiasparnaude
Contributor III

Hi Jacob,

I also missed that in a first time.

When creating "PBL.bin", in the panel "PBI data input", once you selected "ACS data (data from binary file)" from the listview (that initially displays "CCSR Data (plain 4-bytes)", on the right you have a text field with the label "Offset: 0x". Enter the value there.

0 Kudos
1,711 Views
sareenakp
Contributor II

Hello Yiping,

1) Where do we get the QE firmware ucode from?

2) I am not able to proceed with the SD card booting as my network is not up (Issue: Repeated ping fails with Tx error) and I am not able to use tftp.

Hence ,SD card booting will not help me and I have to get the network up.

Thanks and Regards,

Sareena.

0 Kudos
1,711 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Sareena,

You also could find QE firmware ucode iram_Type_A_T1040_r1.0.bin from the image ISO.

In think your network environment problem cannot be excluded either, please also verify the 1G SGMII port FM1@DTSEC3, and PCIe network port.


Have a great day,
Yiping Wang

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

0 Kudos
1,711 Views
jaket
Contributor II

Hello Yiping,

You just helped me out a lot by answering one of my questions yesterday so thanks!

I'm in a situation where my USB TAP is still on backorder and I've bricked my flash image (I was trying to get a 64-bit RCW, etc... into the flash). Now I'm trying to build up a SD card to boot from. Your post here has got most of the way I think but the board (T1040RDB) is not booting all the way. In my terminal output I get:

Initializing....using SPD

WARNING: Calling __hwconfig without a buffer and before environment is ready

WARNING: Calling __hwconfig without a buffer and before environment is ready

WARNING: Calling __hwconfig without a buffer and before environment is ready

Since I didn't have access to u-boot I used the shell and dd commands instead. Here's what I did (P.S. I built these images from the 1.7 SDK 32-bit)

1) I changed the following line in t1040rdb.conf and rebuilt:

UBOOT_MACHINES ?= "T1040RDB T1040RDB_SECURE_BOOT T1040RDB_SDCARD"

bitbake now produces u-boot-sd-T1040RDB_SDCARD.bin in the images folder. I also grabbed iram_Type_A_T1040_r1.0.bin and fsl_man_ucode_r1.0_107_4_2.bin from the images folder

I've formatted a 4GB SD card as FAT32 (not sure that it matters) and run the following commands

sudo dd /dev/disk1 if=u-boot-sd-T1040RDB_SDCARD.bin of=/dev/disk1 bs=512 seek=8

sudo dd /dev/disk1 if=fsl_man_ucode_t1040_r1.0_107_4_2.bin of=/dev/disk1 bs=512 seek=2080

sudo dd /dev/disk1 if=iram_Type_A_T1040_r1.0.bin of=/dev/disk1 bs=512 seek=2336

I chose a block format of 512 based on your answer above that the u-boot block is 2048 blocks and 1MB, hence 512KB blocks.

I'm suspicious that the u-boot environment is not landing in the correct location. Looking at the u-boot-sd-xxx.bin it looks around offset 0x00012380

00012380: 0000 0048 7364 7862 696d 0000 626f 6f74  ...Hsdxbim..boot

00012390: 636d 643d 7365 7465 6e76 2062 6f6f 7461  cmd=setenv boota

000123a0: 7267 7320 726f 6f74 3d2f 6465 762f 7261  rgs root=/dev/ra

I'm going to post this as a proper question to get better visibility but I thought I'd reply here as well since you seem to already know some about it. Thanks, Jake

1,711 Views
sareenakp
Contributor II

Hello Yiping,

Thank you for the detailed procedure.

I will try this and get back if any queries.

Thanks,

Sareena.

0 Kudos