And upstream Linux won't accept patches to disable the MMU, or the data cache in Linux as they have very good reasons to do that, and they are supposed to be already disabled.
So it's not a viable option in the long run.
As u-boot disables the instruction cache in the boot commands before jumping to Linux, we might be able to replace the boot.img by u-boot to workaround the stock bootloader issues.
Having u-boot would also enable many benefits, such as the ability to have Replicant images that run on multiple devices.
As u-boot is capable of running in different ways, when upstreamming the code we will need to make sure that it can run as boot.img but also with the nonfree and non-redistributable BL1 because other people are interested in that and that, if we manage to get rid of the BL1 at some point, many of the upstreaming work will already been done.