Differences between LS1040A-RDB with silicon 1.1 and silicon 1.0

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

Differences between LS1040A-RDB with silicon 1.1 and silicon 1.0

1,545 Views
luisbatista
Contributor II

I am installing ONIE + ONL in a LS1043ARDB-PC.

 

The ONIE was previously ported to this board by NXP:

https://github.com/opencomputeproject/onie/tree/master/machine/nxp/nxp_ls1043ardb

 

After seeking help on ONIE mailing list, Qiang Zhao kindly replied me and pointed out that I have a different SoC version which has not been supported by onie.

"silicon 1.1 with SoC id 0x87920011"  instead of "silicon 1.0 with SoC id is 0x87920010"

 

The details of my board are:

  • LS1043ARDB-PC REV A
  • 700-29077 REV C

 

My questions are:

  • What are the main changes between these two silicon versions? I searched through data sheets and manuals but couldn't find it.
  • What are the main necessary adjustments to be done in the u-boot and kernel to reflect the silicon differences?

 

In the attached file I added the output from u-boot and the errors I am getting.

 

Best regards

Original Attachment has been moved to: DetailedLog.zip

Labels (1)
Tags (4)
6 Replies

1,170 Views
mcbridematt
Contributor III

Hi Luis,

Try reverting this patch in u-boot, or at least flipping HAS_FEATURE_GIC64K_ALIGN to 'N' for ARCH_LS1043A.

git.denx.de Git - u-boot.git/commitdiff ("armv8/ls1043a: fixup GIC offset for ls1043a rev1")

The QorIQ SDK/LSDK u-boot should detect and apply this automatically, but detection might fail for some LS1043v1.0 variants (such as preproduction silicon supplied with some LS1043ARDB versions)

Hope this helps,

Matt

1,170 Views
luisbatista
Contributor II

Hi Mathew, 

Thank you for your suggestion!  I appreciate it.

To confirm my understanding, this patch could be  applied on the u-boot provided with the QorIQ SDK/LSDK. Is it right?

I am using a u-boot version that is included in the  ONIE | Open Network Install Environment 

As I recently updated on previous comment, I got a patch for ONIE that fixed this issue. 

I appreciate your comment and will look at your suggestion to understand better and learn what is going on with the different SoC versions. 

=)

Best regards, 

Luis

0 Kudos

1,171 Views
mcbridematt
Contributor III

Hi Luis,

For the 'mainline' u-boot and the u-boot in the newer LSDK, you will need to reverse the commit (mentioned above) that added the 64K alignment feature. I'm not familiar with which version ONIE has.

The primary difference (software wise) between the LS1043v1.0 and v1.1 is updating the interrupt controller (GIC) to support 64K alignment (similar to other ARMv8 SoC's), so if the kernel is told to use 64K GIC on v1.0 silicon this will cause the boot to fail.

The patch I suggested reverting actually adds the capability to detect LS1043v1.0 and v1.1 CPUs but the detection does not work with LS1043 preproduction/engineering samples (such as those on LS1043ARDB-A/B/C) - they have a different CPUID, and it will default to v1.1/64K GIC.

I think the last version of the QorIQ (Yocto) SDK had a different logic - it will default to the LS1043v1.0 configuration and only apply the 64K alignment if v1.1 is explicitly detected.

Hope this explains the issue! This affected us a lot when developing on our LS1043ARDB boards before our own LS1043v1.1 boards arrived.

Cheers,

Mathew

1,171 Views
luisbatista
Contributor II

Hello Mathew

Thank you very much for your explanation!

It really helped me to understand what was going on!

Best regards, 

Luis

0 Kudos

1,171 Views
ufedor
NXP Employee
NXP Employee

1) To obtain information about differences between the silicon revisions please create a Technical Case:

https://community.freescale.com/thread/381898

2) Latest NXP Layerscape SDK 1706 supports the Rev.1.1:

Layerscape SDK|NXP 

1,171 Views
luisbatista
Contributor II

Hi ufedor, 

Thanks for your response, I will create the Technical Case as suggested. 

I would also like to mention that after my query on ONIE mailing list, I got help from Quiang Zhao, who provided a patch for ONIE and the problem was solved. In this case I am not using the standard u-boot provided in the LSDK

I will proceed to understand the differences and what was the issue. 

0 Kudos