LX2160ARDB - Composite Image with PCIe Gen4

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

LX2160ARDB - Composite Image with PCIe Gen4

1,604 Views
tnguyen2
Contributor II

Hello everyone,

Thank you again for your help on my other issue the other day. Today I have another issue with the composite image / RCW firmware flashing.

My board originally does not have PCIe Gen4 enabled when it was shipped. There is a workaround to flash a customized RCW firmware (with SRDS_DIV_PEX_S3 set to 0) to Dev#1 that a co-worker from the other site gave me that worked for me meaning I got PCIe Gen4 when booting with Dev#1.

I then used flexbuild from BSPv0.5 to build a composite image with SRDS_DIV_PEX_S3 set to 0 and flash it on Dev#1 (I am still not able to get SD or USB to work.) The image boots great but the PCIe link is limited as Gen3. I checked the RCW file (rcw_2000_700_2900_19_5_2.rcw) carefully to make sure the workaround is there and the file is built when flex-builder combines the firmware to generate the image but I don't know why the content of the RCW when it boots is not what I expected. Here is the RCW with my built composite image:

U-Boot 2018.09 (Feb 23 2019 - 22:52:29 +0000)

SoC: LX2160ACE Rev1.0 (0x87360010)
Clock Configuration:
CPU0(A72):2000 MHz CPU1(A72):2000 MHz CPU2(A72):2000 MHz
CPU3(A72):2000 MHz CPU4(A72):2000 MHz CPU5(A72):2000 MHz
CPU6(A72):2000 MHz CPU7(A72):2000 MHz CPU8(A72):2000 MHz
CPU9(A72):2000 MHz CPU10(A72):2000 MHz CPU11(A72):2000 MHz
CPU12(A72):2000 MHz CPU13(A72):2000 MHz CPU14(A72):2000 MHz
CPU15(A72):2000 MHz
Bus: 700 MHz DDR: 2900 MT/s
Reset Configuration Word (RCW):
00000000: 50777738 1c500050 00000000 00000000
00000010: 00000000 0c010000 00000000 00000000
00000020: 016001a0 00002580 00000000 00000096
00000030: 00000000 00000000 00000000 00000000
00000040: 00000000 00000000 00000000 00000000
00000050: 00000000 00000000 00000000 00000000
00000060: 00000000 00000000 00027000 00000000
00000070: 08b30010 001d0020
Model: NXP Layerscape LX2160ARDB Board

Here is what I expected (before I flashed my built composite image)

U-Boot 2017.07+fsl+g88d4384 (Nov 16 2018 - 00:29:41 +0000)

SoC:  LX2160ACE Rev1.0 (0x87360010)
Clock Configuration:
       CPU0(A72):2000 MHz  CPU1(A72):2000 MHz  CPU2(A72):2000 MHz
       CPU3(A72):2000 MHz  CPU4(A72):2000 MHz  CPU5(A72):2000 MHz
       CPU6(A72):2000 MHz  CPU7(A72):2000 MHz  CPU8(A72):2000 MHz
       CPU9(A72):2000 MHz  CPU10(A72):2000 MHz  CPU11(A72):2000 MHz
       CPU12(A72):2000 MHz  CPU13(A72):2000 MHz  CPU14(A72):2000 MHz
       CPU15(A72):2000 MHz
       Bus:      700  MHz  DDR:      2900 MT/s
Reset Configuration Word (RCW):
       00000000: 50777738 1c500050 00000000 00000000
       00000010: 00000000 0c010000 00000000 00000000
       00000020: 020001a0 00002580 00000000 00000096
       00000030: 00000000 00000000 00000000 00000000
       00000040: 00000000 00000000 00000000 00000000
       00000050: 00000000 00000000 00000000 00000000
       00000060: 00000000 00000000 00027000 00000000
       00000070: 08b30010 000d0022
Model: NXP Layerscape LX2160ARDB Board

Since I don't have PCIe Gen4 with my built composite image, I tried to flash the customized RCW file I have from the co-worker to Dev#1 (already has my built composite image on it) but the result is that the board hangs immediately when the boot switches to Dev#1 (nothing printed out on the console.)

I am trying to follow the process using yocto-sdk in the BSPv0.4 but it failed with my Ubuntu 18-04, Ubuntu 16-04 and Fedora 24 servers. All failed with the following error and it seems like the source in the SDK is not valid anymore:

ERROR: linux-qoriq-4.9-r0 do_fetch: Fetcher failure: Unable to find revision 4548b3d5cf3a0d9d7177e44005bfbb05f9530d2a in branch master even from upstream
ERROR: linux-qoriq-4.9-r0 do_fetch: Fetcher failure for URL: 'git://source.codeaurora.org/external/qoriq/qoriq-components/linux;nobranch=1'. Unable to fetch URL from any source.
ERROR: linux-qoriq-4.9-r0 do_fetch: Function failed: base_do_fetch
ERROR: Logfile of failure stored in: /home/tnguyen/yocto-sdk/build_lx2160ardb/tmp/work/lx2160ardb-fsl-linux/linux-qoriq/4.9-r0/temp/log.do_fetch.9624
ERROR: Task (/home/tnguyen/yocto-sdk/sources/meta-freescale/recipes-kernel/linux/linux-qoriq_4.9.bb:do_fetch) failed with exit code '1'

 

I really need PCIe Gen4 back to my board as soon as possible so please help on one of the items below (or all of them would be so wonderful)

1. Show me how to get a composite image for the board with PCIe Gen4 enabled.

2. Show me how to get the composite image what originally loaded and shipped with the board. The U-Boot version is:

U-Boot 2017.07+fsl+g88d4384 (Nov 16 2018 - 00:29:41 +0000)

I think I will be able to flash the customized RCW firmware to the board after restoring the factory composite firmware image.

3. Show me how to get a composite image built with BSPv0.4 so that I can give it a try.

4. Show me how to extract the whole image firmware on Dev#0 and save to a file so that I will flash it to Dev#1.

5. How to enable PCIe Gen4 in RCW and build a composite image that includes the changes.

I really appreciate your help.

Thanks
Tuan

3 Replies

1,383 Views
tnguyen2
Contributor II

Update:

I am able to build my composite image with PCIe Gen4 enabled after removing the obsolete images in build/firmware/ and rebuilding the ATF.

I appreciate your help so far. If you have something to share with me regarding my 5 questions, it would be great (though I now have PCIe Gen4 back to my board, but not sure what else may obstructs me.)

Thanks
Tuan

0 Kudos
Reply

1,383 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Tuan Nguyen,

I assume that you have LX2160 BSP 0.5 build environment.

1. Please execute the following commands to get RCW source and build images.

$ flex-builder -c rcw -m lx2160ardb

2. Please go to RCW source folder

flexbuild/packages/firmware/rcw/lx2160ardb/XGGFF_PP_HHHH_RR_19_5_2/

Please modify SRDS_DIV_PEX_S3 as 0 in  rcw_2000_700_2900_19_5_2.rcw

3. Please go back to flexbuild folder to execute the following command again to regenerate RCW image

$ flex-builder -c rcw -m lx2160ardb

You could check RCW image in build/firmware/rcw/lx2160ardb/XGGFF_PP_HHHH_RR_19_5_2/rcw_2000_700_2900_19_5_2.bin with "xxd rcw_2000_700_2900_19_5_2.bin" command.

4. Please regenerate the whole firmware image including the updated RCW or only program RCW image to FlexSPI DEV#1 at FlexSPI DEV#0, please refer to the following.

$ sf probe 0:1

$ tftp 0xa0000000 rcw_2000_700_2900_19_5_2.bin

$ sf erase  0 +$filesize

$ sf write 0xa0000000 0 $filesize


Have a great day,
TIC

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

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

1,383 Views
tnguyen2
Contributor II

Hi Yiping,

Thanks for your instruction. I was able to build the whole composite image and flash it into my board. I will follow your instruction for building RCW image only to save time when I need to change it.

Best Regards,

Tuan

0 Kudos
Reply