So I quit that company.
For a new design to work, it really need to be a sold platform, with a spec and kernels that don't need per-device images to boot and run. Device trees help, but they're just not enough.
https://en.wikipedia.org/wiki/Server_Base_System_Architectur...
The non-upstreamable part is due to variety factors, including but not limited to dubious code quality, tendency to reinvent things in house and unwillingness to share code with competitors and develop common frameworks. UEFI won't help with these particular issues.
As for random shit connected to random GPIOs (or mapped to random memory), you probably really want ACPI. Fwiw, ACPI is said to be coming to ARM and last time I heard Linux developers weren't exactly excited - ACPI means running opaque vendor-provided bytecode which pokes I/O registers behind the OS's back and, if x86 is anything to go by, contains countless bugs which can't be fixed without the vendor releasing firmware update and users applying it, so you end up with a collection of machine-specific workarounds anyway.