How PBL identifies u-boot location in NOR flash from PBI commands for T1042?

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

How PBL identifies u-boot location in NOR flash from PBI commands for T1042?

Jump to solution
2,019 Views
aabrham
Contributor II

Hello,

I am trying to understand how the PBL is transitioning from PBI instruction into BOOT startup location which reside in NOR FLASH?

Here is the RCW + PBI from the T1042RDB (T1042 Reference Design Board)

e8000000: aa55aa55 010e0100 0c18000e 0e000000  -> RCW preamble

e8000010: 00000000 00000000 86000002 40000002

e8000020: ec027000 01000000 00000000 00000000

e8000030: 00000000 00030810 00000000 01fe580f

e8000040: 00000000 00000000 09250100 00000400 -> PBI commands started at "e800004c" CCSR write 0x0000_0400 to address 0x25_0100

e8000050: 09250108 00002000 08138040 89564dd5 -> CCSR write 0x0000_2000 to address 0x25_0108 and PBI command for CRC check

How the PBI CCSR writes in the above are used to transition into NOR Flash u-boot start address?

Just for additional information, I have included possible relevant snip of the document I have been looking.  

Here is the memory map from the QorIQ SDK v2.0-1701 Documentation document

Page #324 section 4.4.16.6 System Memory Map in this document it specify the memory map as follow:

pastedImage_1.png

pastedImage_2.png

Table 94. NOR flash memory map in the QorIQ SDK v2.0-1701 document specify the NOR flash as follow:

pastedImage_3.png

pastedImage_4.png

 Thanks,

Anteneh

Labels (1)
1 Solution
1,455 Views
ufedor
NXP Employee
NXP Employee

The PBI commands represent workaround for the erratum A-007662: For x1 link width, PCIe2 controller trains in Gen1 speed while configured for Gen2 speed.

View solution in original post

5 Replies
1,455 Views
ufedor
NXP Employee
NXP Employee

> How the PBI CCSR writes in the above are used to transition into NOR Flash u-boot start address?

There is no relation at all.

Note that mentioned tables show System and NOR Flash memory maps AFTER the U-Boot mapping of the memory space - i.e. after initial booting.

Refer to the QorIQ T1040 Reference Manual, 4.3.3 Boot Space Translation:

"Each core begins execution with the instruction at effective address 0x0_FFFF_FFFC. To get this instruction, the core's first instruction fetch is a burst read of boot code from effective address 0x0_FFFF_FFC0."

In case of NOR Flash booting and reset settings of the eLBC CS0 this corresponds to the last 64 bytes in the NOR Flash device connected to the CS0.

0 Kudos
Reply
1,455 Views
yusufalti333
Contributor IV

Hello ufedor

Is it possible to change internal memory map of Nor flash ? While POR sequence, I wonder how system knows when Nor flash is selected as boot device in RCW, current bank U-boot is located at 0xEFF4_0000 and current bank rcw at 0xE800_0000. 

0 Kudos
Reply
1,455 Views
ufedor
NXP Employee
NXP Employee
1,455 Views
aabrham
Contributor II

Hi Ufedor,

Thank you for your message and pointing out the "QorIQ T1040 Reference Manual, 4.3.3 Boot Space Translation".  What exactly this the following CCSR write are doing then?

.....

e8000040: 00000000 00000000 09250100 00000400 -> PBI commands started at "e800004c" CCSR write 0x0000_0400 to address 0x25_0100

......

0 Kudos
Reply
1,456 Views
ufedor
NXP Employee
NXP Employee

The PBI commands represent workaround for the erratum A-007662: For x1 link width, PCIe2 controller trains in Gen1 speed while configured for Gen2 speed.