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:
My questions are:
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
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
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
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
Hello Mathew
Thank you very much for your explanation!
It really helped me to understand what was going on!
Best regards,
Luis
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:
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.