FreeBSD on Layerscape/QorIQ LX2160X
Dan Kotowski
dan.kotowski at a9development.com
Sun May 31 14:31:09 UTC 2020
> I've sent a link to a known firmware build before:
> https://drive.google.com/file/d/1yXSS1O1U8CmtwaIPfxNDkzhAClJGvErK/view
> Have you tried it? Any difference in FreeBSD/NetBSD, with NVMe?
I decided to go back to the UEFI sources and have found some differences that I think need to be reconciled before moving forward. That said, I'm not an ACPI wizard by any means - for me it's low-level mage spells at best...
In https://github.com/SolidRun/edk2-platforms we have 2 different branches that SolidRun seems to use:
1. LSDK-19.09-sr
2. master-lx2160a
I've been building from the latter branch, but found some significant differences in the former that I think may be important to merge in.
===== 1. Platform/SolidRun/LX2160aCex7/DeviceTree/fsl-lx2160a-cex7.dts and Silicon/NXP/LX2160A/Include/DeviceTreeInclude/fsl-lx2160a.dtsi
The former branch includes a number of devices and aliases that are not present in the latter (e.g. pcs_mdio5)
===== 2. Silicon/NXP/Include/Pcie.h
Again, the former branch contains a handful of extra lines, but also forces unsigned long on PCI_SEG_MMIO64_MAX_DIFF while the latter does not.
===== 3. Silicon/NXP/Library/MmcLib/MmcInterface.c
The former branch has a preprocessor conditional IsCardReadOnly.
===== 4. AcpiTables
This is where I'm actually out of my depth. The former branch has them under Platform/NXP/LX2160aCex7Pkg/AcpiTables/ while the latter under Silicon/NXP/LX2160A/AcpiTables/
Start diving in and you start to notice some ugly differences. Just in Platform.h, we can see right at the top that the former branch is defined for the CEX7 platform while the latter is for the Reference Dev Board (RDB) platform. You can also see some pretty significant differences in the watchdogs and then PCI and Stream IDs at the bottom.
AcpiTables.inf and LX2170aCex7.inf share a BASE_NAME and FILE_GUID, but different sources.
=====
I can easily bodge in the first few itmes above, but I'd really appreciate a second set of eyes from somebody with more ACPI experience as to whether or not we need to merge anything from the LSDK-19.09-sr into master-lx2160a.
https://github.com/agrajag9/edk2-platforms/tree/a9-lx2160acex7
More information about the freebsd-arm
mailing list