Re: Radxa Orion O6
Jared McNeill <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.arm |
|---|---|
| Message-ID | <BYAPR14MB2632A3BC2296DA50498FD6D5FAE92@BYAPR14MB2632.namprd14.prod.outlook.com> |
My board arrived earlier this week (thanks!) and I've managed to fix some
of the issues you raised.
1) EFI runtime services issue
This one is still outstanding. I still feel that it's a firmware bug (that
NetBSD doesn't properly contain, but this is a separate issue). For now
I've committed a workaround that detects the Orion O6 board and skips EFI
runtime initialization:
https://mail-index.netbsd.org/source-changes/2025/01/30/msg155361.html
2) XHCI crash at boot
It seems that the SoC's XHCI IP requires 32-bit aligned accesses. The XHCI
spec defines a handful of 8- and 16-bit registers, and some of them (like
the one that returns the XHCI version) is at an offset that is not 32-bit
aligned. I committed a workaround for this:
https://mail-index.netbsd.org/source-changes/2025/01/30/msg155355.html
Once I fixed this, the crash went away, but USB devices wouldn't attach
("device problem, disabling port n"). I tracked down the root cause for
this and committed a fix as well:
https://mail-index.netbsd.org/source-changes/2025/01/30/msg155360.html
3) Crash when booting with SMP enabled.
The crash was caused by virtual timer interrupts not firing on CPUs 1-4.
The first workaround I tried was to use the physical timer -- this worked,
but not ideal. So I did some more digging and it turns out NetBSD was
making assumptions about the state of the CNTHCTL_EL2 and CNTKCTL_EL1
system registers when entering the kernel that were not valid. I fixed
initialization for both of these:
https://mail-index.netbsd.org/source-changes/2025/01/30/msg155358.html
https://mail-index.netbsd.org/source-changes/2025/01/30/msg155359.html
If you update your tree to pick up all of these changes, you should be
able to boot an unmodified kernel to the installer.
Take care,
Jared