'Kernel no serial console output if started through U-Boot

How does U-Boot change how the kernel is communicating through UART?

I'm trying to add U-Boot to our project. We build a custom Linux 64 bit kernel with initRAM linked into the kernel.

I have access to the U-Boot shell but when I'm trying to boot the uncompressed Image

mmc dev 0
fatload mmc 0:1 ${kernel_addr_r} Image
fatload mmc 0:1 ${fdt_addr} bcm2710-rpi-cm3.dtb
setenv bootargs console=serial0,115200 console=tty1
booti ${kernel_addr_r} - ${fdt_addr}

I get no kernel output after Starting kernel ...

What confuses me is that if I start the kernel directly through config.txt I do get the expected behavior.

The kernel command line is in both cases console=serial0,115200 console=tty1 Set either by cmdline.txt or through boot.scr.

Is U-Boot changing somehow the routing of the UART's? Why would the kernel have different behavior solely by starting it through U-Boot? Shouldn't U-Boot be completely out of the picture after the kernel is started, thus have no impact on the kernel output?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source