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.
Solved! Go to Solution.
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!
-----------------------------------------------------------------------------------------------------------------------
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!
-----------------------------------------------------------------------------------------------------------------------
p.s. what do you mean by "Change offset: 0xfd000"
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.
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.
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!
-----------------------------------------------------------------------------------------------------------------------
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
Hello Yiping,
Thank you for the detailed procedure.
I will try this and get back if any queries.
Thanks,
Sareena.