Hi all, This patchset adds support for our (Traverse) Ten64 board, which is an ARM64 networking board using NXP's LS1088A SoC.
I have been intending to do this for a very long time but was waiting for the kernel version to be upgraded to 5.10 or above given the significant amount of work that has been done upstream for this hardware in recent times.
There are four components to this patch: 1: Enable the relevant kernel options for our box This follows our doc at https://ten64doc.traverse.com.au/kernel/
2: Add patches to fully support SFP+ One of these patches came in after 5.15+, while the other fixes a deadlock issue that occurs when detaching/unloading the SFP+ ports (such as rebooting the system). Unfortunately this issue has been stalled upstream without resolution for a while now.
3: Fix our real time clock (rtc-rx8025) not being modprobed I haven't been able to figure out why our RTC driver does not get loaded, given every other relevant module (like GPIO, I2C) does get loaded.
If there is a better way to do this, feel free to NAK and suggest a better method.
4: Bypass the u-boot bootscript on Ten64 The Ten64 uses u-boot which has both EFI and classic 'distroboot' support. We much prefer to boot EFI as this provides some benefits, such as not having to supply your own device tree.
A quirk of the Ten64 implementation (related to how the IOMMU hardware is configured) is that a "failed" bootscript will block the boot of other types (like EFI), so detect if we are on a Ten64 and jump straight to GRUB.
My intention is to prioritize EFI always in a future Ten64 firmware release so this doesn't happen, at which point this hack can be removed. (Removing boot.scr does the same thing, but I prefer that it will boot out of the box without modification)
Here is the fireinfo from a Ten64: https://fireinfo.ipfire.org/profile/97f7fd96a529ca2e5488ab095b7d9effe67d0ef3 (Note to self: I should figure out how to improve the fireinfo output on ARM platforms)
I have also tested this on an AWS Graviton (ARM64) instance to verify there are no regressions on other "standard" (EFI-capable) ARM64 systems.
Mathew McBride (4): linux: enable options for NXP Layerscape kernel: add patches for SFP support on NXP Layerscape/DPAA2 (arm64) config: u-boot: bypass the u-boot script on Traverse Ten64 initscripts: load RTC module (RX8025) for Ten64 board:w
config/kernel/kernel.config.aarch64-ipfire | 76 +++++++++++++---- config/u-boot/boot.cmd | 9 +++ lfs/linux | 3 + src/initscripts/system/setclock | 8 ++ ...rm64-dpaa2-add-support-for-10g-modes.patch | 39 +++++++++ ...inux-5.15-arm64-dpaa2-fix-lock-issue.patch | 81 +++++++++++++++++++ 6 files changed, 202 insertions(+), 14 deletions(-) create mode 100644 src/patches/linux/linux-5-15-arm64-dpaa2-add-support-for-10g-modes.patch create mode 100644 src/patches/linux/linux-5.15-arm64-dpaa2-fix-lock-issue.patch