T1024 RCW when booting from SPI

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

T1024 RCW when booting from SPI

Jump to solution
4,945 Views
thomasschaefer
Contributor III

Hi all,

we are facing issues when trying to bring up our T1024 based custom board. T1024 CPU shall boot from SPI NOR flash, our bootloader is based on Denx U-Boot 2016.05

The problem is that we are not able to boot when setting the Boot Configuration bits (192-223) of the RCW as described in the HRM. We configured strapping cfg_rcw_src[0:8] to boot from SPI: 0b0_0100_0101 (SPI 24bit adressing).

We then setup the RCW in the bootloader as follows:

0810000c 00000000 00000000 00000000

23000003 0000011a 58045000 21002000

00000000 00000000 00000000 00020000

00000014 84265a00 00000000 0000000

The Boot Configuration Bits here are 0x58045000 which means that PBI_SRC is set to SPI 24bit and BOOT_LOC is set to Memory Complex1 as bootloader will start from SRAM when PBI have been finished.

However, this configuration does not boot on our system. But when setting Boot Configuration Bits to 0xec027000, our board starts booting. According to the manual, this configuration is invalid, as PBI_SRC is now set to IFC which is different to external strappings. BOOT_LOC bits are also set to IFC, but the board definitely boots from the SPI flash (we don't have any memory device connected to IFC)

I also have a T1024RDB eval system here in our lab. When setting DIP switches to SPI boot, there is the same issue as the Boot Configuration Bits in the RCW of the u-boot port are also set to 0xec027000.

Can anybody explain what happens here?

Best regards,

Thomas

Labels (1)
0 Kudos
Reply
1 Solution
4,058 Views
ufedor
NXP Employee
NXP Employee

Sorry, the previous patch was truncated.

Please try the complete one:

diff --git a/board/freescale/t208xrdb/t2080_pbi.cfg b/board/freescale/t208xrdb/t2080_pbi.cfg

index e200d92..bdfbd5f 100644

--- a/board/freescale/t208xrdb/t2080_pbi.cfg

+++ b/board/freescale/t208xrdb/t2080_pbi.cfg

@@ -37,5 +37,5 @@

09000014 ff000000

09000018 81000000

#Flush PBL data

-09138000 00000000

-091380c0 00000000

+#09138000 00000000

+091380c0 00100000

diff --git a/tools/pblimage.c b/tools/pblimage.c index 2a799ab..d017054 100644

--- a/tools/pblimage.c

+++ b/tools/pblimage.c

@@ -297,7 +297,7 @@ int pblimage_check_params(struct image_tool_params *params)

pbi_crc_cmd1 = 0x13;

pbi_crc_cmd2 = 0x80;

pbl_cmd_initaddr = 0x82000000;

- pbl_end_cmd[0] = 0x09138000;

+ pbl_end_cmd[0] = 0x091380c0;

pbl_end_cmd[1] = 0x00000000;

pbl_end_cmd[2] = 0x091380c0;

pbl_end_cmd[3] = 0x00000000;

View solution in original post

0 Kudos
Reply
14 Replies
4,058 Views
ufedor
NXP Employee
NXP Employee

The issue currently is being investigated by the design.

I will publish update when the investigation will be completed.

Meanwhile please use the operational (IFC) configuration for the BOOT_LOC.

0 Kudos
Reply
4,058 Views
thomasschaefer
Contributor III

Hi,

any news on this issue?

Regards,

Thomas

0 Kudos
Reply
4,058 Views
ufedor
NXP Employee
NXP Employee

I believe that the issue is caused by insufficient delay of the "wait" command:

diff --git a/board/freescale/t208xrdb/t2080_pbi.cfg b/board/freescale/t208xrdb/t2080_pbi.cfg

index e200d92..bdfbd5f 100644

--- a/board/freescale/t208xrdb/t2080_pbi.cfg

+++ b/board/freescale/t208xrdb/t2080_pbi.cfg

@@ -37,5 +37,5 @@

09000014 ff000000

09000018 81000000

#Flush PBL data

-09138000 00000000

-091380c0 00000000

+#09138000 00000000

+091380c0 00100000

0 Kudos
Reply
4,058 Views
thomasschaefer
Contributor III

Hi ufedor,

I tried an updated PBI config with increased delay as suggested on my T1024RDB eval system, but no success as long as Boot Configuration Bits in the RCW are set to 0x58045000. The system only boots when these bits are set to 0xec027000.

Best regards,

Thomas

0 Kudos
Reply
4,059 Views
ufedor
NXP Employee
NXP Employee

Sorry, the previous patch was truncated.

Please try the complete one:

diff --git a/board/freescale/t208xrdb/t2080_pbi.cfg b/board/freescale/t208xrdb/t2080_pbi.cfg

index e200d92..bdfbd5f 100644

--- a/board/freescale/t208xrdb/t2080_pbi.cfg

+++ b/board/freescale/t208xrdb/t2080_pbi.cfg

@@ -37,5 +37,5 @@

09000014 ff000000

09000018 81000000

#Flush PBL data

-09138000 00000000

-091380c0 00000000

+#09138000 00000000

+091380c0 00100000

diff --git a/tools/pblimage.c b/tools/pblimage.c index 2a799ab..d017054 100644

--- a/tools/pblimage.c

+++ b/tools/pblimage.c

@@ -297,7 +297,7 @@ int pblimage_check_params(struct image_tool_params *params)

pbi_crc_cmd1 = 0x13;

pbi_crc_cmd2 = 0x80;

pbl_cmd_initaddr = 0x82000000;

- pbl_end_cmd[0] = 0x09138000;

+ pbl_end_cmd[0] = 0x091380c0;

pbl_end_cmd[1] = 0x00000000;

pbl_end_cmd[2] = 0x091380c0;

pbl_end_cmd[3] = 0x00000000;

0 Kudos
Reply
4,058 Views
thomasschaefer
Contributor III

Hi ufedor,

I can confirm that bootloader works now on my T1024RDB and also on our T1024 based custom board with Boot Configuration Bits set to 0x58045000.

When looking into the image, I see a difference at offset 0x0002a8e0 where the command 0x091380c0 is duplicated now:

0002a8e0: 09 13 80 c0 00 00 00 00 09 13 80 c0 00 00 00 00 

whereas with the former version it was:

0002a8e0: 09 13 80 00 00 00 00 00 09 13 80 c0 00 00 00 00 

What is the reason for this fix and why does it work now?

Another strange observation is, that the boards still work when Boot Configuration bits are set to 0xec027000, which is a wrong configuration when booting from SPI flash. Why does this work anyway?

Thank you and best regards,

Thomas

0 Kudos
Reply
4,058 Views
ufedor
NXP Employee
NXP Employee

Use of the FLUSH command is restricted to CCSR space. Software should use the WAIT command after commands to non-CCSR space to allow them time to complete before issuing subsequent commands to non-CCSR space.

0 Kudos
Reply
4,058 Views
ufedor
NXP Employee
NXP Employee

Please describe the exact steps you have done to produce the binaries "u-boot-with-spl-pbl-t1024rdb-noboot.bin" and "u-boot-with-spl-pbl-t1024rdb-boot.bin"

0 Kudos
Reply
4,058 Views
thomasschaefer
Contributor III

Hi,

I don't see a way to attach a binary to this thread, so I tried to send it by mail.

When setting BOOT_LOC to Memory Complex 1 and PBI_SRC to SPI 24 bit, the system does not boot.

Regards,

Thomas

0 Kudos
Reply
4,058 Views
ufedor
NXP Employee
NXP Employee

Please provide binary images of the operational and failing RCWs.

0 Kudos
Reply
4,058 Views
thomasschaefer
Contributor III

How can I provide binaries in this thread?

0 Kudos
Reply
4,058 Views
ufedor
NXP Employee
NXP Employee

> How can I provide binaries in this thread?

By attaching to the reply.

Please confirm that you have implemented U-Boot loading to memory by means of the PBL when BOOT_LOC is set to Memory Complex1.

0 Kudos
Reply
4,057 Views
thomasschaefer
Contributor III

Trying again without ‚bin‘ extension.

Thomas

Von: ufedor

Gesendet: Mittwoch, 15. Juni 2016 18:25

An: Thomas Schaefer

Betreff: Re: - T1024 RCW when booting from SPI

NXP Community <https://community.freescale.com/resources/statics/1000/35400-NXP-Community-Email-banner-600x75.jpg>

T1024 RCW when booting from SPI

reply from ufedor<https://community.nxp.com/people/ufedor?et=watches.email.thread> in QorIQ Processing Platforms - View the full discussion<https://community.nxp.com/message/747874?et=watches.email.thread#comment-747874>

0 Kudos
Reply
4,057 Views
thomasschaefer
Contributor III

Hi ufedor,

I don’t see a way to attach a file on the discussion thread. So I’m trying to ship it this way.

Best regards,

Thomas

Von: ufedor

Gesendet: Mittwoch, 15. Juni 2016 18:25

An: Thomas Schaefer

Betreff: Re: - T1024 RCW when booting from SPI

NXP Community <https://community.freescale.com/resources/statics/1000/35400-NXP-Community-Email-banner-600x75.jpg>

T1024 RCW when booting from SPI

reply from ufedor<https://community.nxp.com/people/ufedor?et=watches.email.thread> in QorIQ Processing Platforms - View the full discussion<https://community.nxp.com/message/747874?et=watches.email.thread#comment-747874>

0 Kudos
Reply