Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 May 2020 14:31:03 +0000
From:      Dan Kotowski <dan.kotowski@a9development.com>
To:        "greg@unrelenting.technology" <greg@unrelenting.technology>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: FreeBSD on Layerscape/QorIQ LX2160X
Message-ID:  <ShdSNL8XDgj0KtPR4v8nn1ohjVssrnoUQGwNL-gHOpylio7Eo5J_WjA2Ko9YjV5md64MeFz017Ts01KUnpJa3Xpw4y_PncL4e5cfUcotRWM=@a9development.com>
In-Reply-To: <4ad62e6669044f82e71a9d86fd493356@unrelenting.technology>
References:  <fn58k-44ZAkuwnDdytVzV-cLaB9amYMgZWydbpR_muUcKNZwohKqn9zFxqqw_Vz8Ij8L8yOSv0XhefrcTSo_bSYSOe5_7wcjoBWl8Q2dDVM=@a9development.com> <37858865a8ebddd3fe1e3a228a19ef62@unrelenting.technology> <7066da0bc417ed047dc27b4741c90e81@unrelenting.technology> <xoiJF1ZUP3-rgbxC8ZmJGQNpsJSyK4zsAXhbLl8Ml96Da1lBPGwPqn0ANf7q-GgthPAWePSR9QDCM5vKysd_3e2aGtp-0egUXu6AW3bhLDg=@a9development.com> <CANCZdfqbd_u35toFYKr4LKkCBwnRhutM5knjnVcGR018Jfo1Vw@mail.gmail.com> <664db38a87ea8803be72af9738534994@unrelenting.technology> <b5105ce888b7a91eff50ec9118a910a8@unrelenting.technology> <8951311F-77F7-40B8-AEA0-F8CBCB1A05DE@yahoo.com> <4ad62e6669044f82e71a9d86fd493356@unrelenting.technology>

next in thread | previous in thread | raw e-mail | index | archive | help
> 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 th=
at 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 diffe=
rences in the former that I think may be important to merge in.

=3D=3D=3D=3D=3D 1. Platform/SolidRun/LX2160aCex7/DeviceTree/fsl-lx2160a-cex=
7.dts and Silicon/NXP/LX2160A/Include/DeviceTreeInclude/fsl-lx2160a.dtsi

The former branch includes a number of devices and aliases that are not pre=
sent in the latter (e.g. pcs_mdio5)

=3D=3D=3D=3D=3D 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.

=3D=3D=3D=3D=3D 3. Silicon/NXP/Library/MmcLib/MmcInterface.c

The former branch has a preprocessor conditional IsCardReadOnly.

=3D=3D=3D=3D=3D 4. AcpiTables

This is where I'm actually out of my depth. The former branch has them unde=
r Platform/NXP/LX2160aCex7Pkg/AcpiTables/ while the latter under Silicon/NX=
P/LX2160A/AcpiTables/

Start diving in and you start to notice some ugly differences. Just in Plat=
form.h, we can see right at the top that the former branch is defined for t=
he CEX7 platform while the latter is for the Reference Dev Board (RDB) plat=
form. 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 dif=
ferent sources.

=3D=3D=3D=3D=3D

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ShdSNL8XDgj0KtPR4v8nn1ohjVssrnoUQGwNL-gHOpylio7Eo5J_WjA2Ko9YjV5md64MeFz017Ts01KUnpJa3Xpw4y_PncL4e5cfUcotRWM=>