It looks like you're passing the right devicetree in there, which is first thing to check when you get a boot hang after U-Boot passes off control to the kernel with no further serial output. It's also a good idea to check that U-Boot is loading the kernel, devicetree, etc. at sensible addresses. If there are still problems you can try adding
earlycon=uart8250,mmio32,0xfebc0000
(I think?) to the kernel command line to force it to write early boot messages to the UART.
earlycon
tends to cause issues later on in the boot but it's useful to get those early hints.