Does u-boot support the ethernet interfaces on the LS1046A rdb?  

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

Does u-boot support the ethernet interfaces on the LS1046A rdb?  

Jump to solution
2,102 Views
cswarth
Contributor III

I am using uboot- compiled from git://git.denx.de/u-boot-fsl-qoriq.git

This is the u-boot repo under active development by folks inside NXP.

There have been at least a couple of patches suggesting at least some of the ethernet ports are supported by u-boot on the LS1046A rdb.

 

I have tried both with and without CONFIG_FMAN_ENET.

No matter what I do, I only see a "No ethernet found." message.

A complete debug u-boot trace is attached.

 

Has anyone successfully used the ethernet ports for tftp or other purposes on the LS1046A rdb?

Original Attachment has been moved to: minicom.cap.zip

Tags (3)
0 Kudos
1 Solution
1,207 Views
ufedor
NXP Employee
NXP Employee

The following line from the log indicates the issue:

    Fman1: Data at 00000000ffe362d0 is not a firmware

Ethernets in U-Boot can't operate if FMan microcode (firmware) is not provided.

View solution in original post

0 Kudos
4 Replies
1,207 Views
cswarth
Contributor III

Here is a helpful note in case anyone else would like to know the layout of images on the sdcard.

Yes, you can program the FMAN code to sdcard.  The documentation is not as clear as for writing to the on-board flash (via QSPI), for which there are multiple instances of explicit QSPI memory maps showing the placement of RCW, u-boot, u-boot environment, and FMAN microcode.   There is no place in the 1328 page BSP documentation for the LS1046ardb that lays out the sdcard memory map but you can work out the layout of the sdcard from scattered examples.

At the top of page 40 it says:

Program a new microcode to SD Card:

=>tftp <ucode_image_addr> <ucode_file_name>.bin

=>mmc write <ucode_image_addr> 820 50

Remember that this is a uboot command so the block count 820 is in hex.

The equivalent command on ubuntu would be:

dd if=fsl_fman_ucode_t2080_r1.1_106_4_18.bin of=/dev/sdcard  bs=512 seek=2080

This is the table that SHOULD be in the documentation.

This one was taken from the README for the T2080RDB board support, but it is largely applicable to the LS1046A

Micro SD Card memory Map on LS1046A (blocksize 512 bytes)
----------------------------------------------------
Block     #blocks      Definition             Size
x8        2048         RCW+PBI+SPL+u-boot img 1MB
x800      16           u-boot env             8KB
x820      128          FMAN ucode             64KB

For sdcard, the RCW is combined with the preboot load instructions (PBI), the uboot secondary program loader (SPL), and the main uboot executable.  There are probably some alignment constraints on those images as well but I'm too lazy to go figure it out.  Basically the `mkimage` tool in the uboot build tree is used to put all those together into a single image that you can write to you sdcard starting at block 8.

The uboot environment block is made with the `mkenvimage` tool that is included in the uboot build tree. You will need to include a size parameter when building your own environments.

mkenvimage -s 8192 -o input.txt output.bin

The FMAN microcode is NOT included in the u-boot tree.  You'll have to get that from the LS1046ARDB SDK.  

1,208 Views
ufedor
NXP Employee
NXP Employee

The following line from the log indicates the issue:

    Fman1: Data at 00000000ffe362d0 is not a firmware

Ethernets in U-Boot can't operate if FMan microcode (firmware) is not provided.

0 Kudos
1,207 Views
cswarth
Contributor III

Thanks ufedor, I suspected that might be the problem.  

Do you know if there is any way to supply the FMAN microcode to u-boot on an sdcard? This LS1046A application note  shows a QSPI flash memory map that includes FMAN microcode, but I don't see a similar map for the booting from sdcard.  We currently boot from an sdcard with RCW+PBL+SPL+u-boot. Is there any way to pack the FMAN code in there too?  

0 Kudos
1,207 Views
ufedor
NXP Employee
NXP Employee

Please refer to the SDK Documentation:

Submit Form 

0 Kudos