Both amdgpu and nouveau work absolutely fine on ARM devices, why wouldn't they?!
In fact I made the FreeBSD port of amdgpu work on my Macchiatobin :) Absolutely smooth experience btw, video output works even in UEFI (it actually runs the GOP driver from the card in QEMU), amdgpu works perfectly (played vkquake, supertuxkart, openmw, etc.)
Yes, the BCMwhatever's weird PCIe controller literally returns corrupted data when the driver tries to read from the card, possibly due to not supporting some kind of 64 bit read.
In fact I made the FreeBSD port of amdgpu work on my Macchiatobin :) Absolutely smooth experience btw, video output works even in UEFI (it actually runs the GOP driver from the card in QEMU), amdgpu works perfectly (played vkquake, supertuxkart, openmw, etc.)