While I have no great love for UEFI, it's damn convenient to be able to use the UEFI command line to mount up local filesystems, browse files etc when troubleshooting boot problems. Also to be able to plug in a USB key, see the files there, and try booting from one of them.
Since SBSA/SBBR is used almost exclusively on servers, 2 MB - so what?
So UEFI can to the same as a much smaller u-boot?
As I say I have no great affection for UEFI. Internally the code is pretty awful. But if you want a standard that works the same across x86 and ARM servers and exists already on those servers, then it's UEFI (I'm aware you can run u-boot on x86, but next to no one actually does that).
BTW UEFI is fully open source as of a few months ago after Microsoft relicensed the FAT driver. So we're just comparing two free software projects with different takes on the booting problem.
U-boot is ported and regularly run on the MinnowBoard with an Intel Atom.
Do you speak about tianocore? I don't have much experience with it, can you configure it as well as u-boot and just compile in stuff you need?
Update: If you didn't know, u-boot supports signed images too. So UEFI is not necessary for this.
If you were expecting it to be lightweight, I'm afraid I've got disappointing news for you. The UEFI/aarch64 binary is 2MB or so. But it's like a mini-operating system with drivers for a bunch of disk hardware, network devices and filesystems, because it supports network booting and booting from files located on local disks (so similar to grub).