-
Notifications
You must be signed in to change notification settings - Fork 6
Description
I recently began transferring my project to using v2.12 for t210, t186, and t194. And my tests with t210 failed to boot. On both the l4t r32.7.6 boot stack and the android rel-shield-r one. So I began stepping backwards to through release tags to find the last working tag for the arch. And found that it was v2.7. Three years ago.
Next I started bisecting to find where the breakage occurred. 0fe7b9f broke the arch during the v2.8 development cycle. Then 40a4e2d fixed that during the v2.9 dev cycle. However, f8a3579 quickly broke things again. cb6c8ef was supposed to fix that, but it actually doesn't. I get send_smc errors spammed in the boot log and boot never completes. However, that doesn't even matter because before that was merged, 0b9f05f landed which prevents t210 from even loading tf-a enough to start logging. End result: v2.9 doesn't boot for two separate reasons. And nothing changed from then until now.
If I revert cb6c8ef, 0b9f05f, and f8a3579 on top of v2.12, t210 boots as expected. This is not a valid solution however, because it reverts an intentional change to meet spec and it also breaks the other tegra platforms.
This all raises a big question for me. Are the tegra platforms maintained at all? I looked at using tf-a release tags, expecting that the platforms were being verified and confirmed stable. Tegra210, Tegra186, and Tegra194 are listed in docs as supported. However:
a) Tegra210 hasn't even booted for three years.
b) Tegra186 throws mmu faults galore, causing display corruption during boot and likely other issues. And the maintainer said that Tegra186 support was developed against an internal bootloader that was never released to the public, so it has never worked right. And since that platform is EOL, it is unlikely the closed source updates will ever be released.
c) Tegra194 seems to work okay, but with the condition of the other two archs, my confidence is waning.
d) As a related note, it appears that Nvidia has no intention of pushing support for the newer platforms such as Tegra234 and Tegra264 and intends to only support those in downstream forks with no commit history. Which makes it near impossible to unify back to a single repo for supporting multiple archs inside a project.
So my question is: Is there any intention to maintain tegra support in upstream tf-a? If not, then the illusion that it is needs to be removed. Mark the platforms as unmaintained, so any potential users know to expect to put in work to make things usable. Or remove the platforms entirely.