Issues attempting to use Raspberry Pi 4 serial console on mainline

Nathan Chancellor natechancellor at gmail.com
Tue Jul 21 18:57:24 EDT 2020


Hi all,

Thank you for all of the hard work that has been done on supporting the
Raspberry Pi 4 upstream. It has been a great platform so far for testing
various clang technologies on actual hardware.

I am investigating a panic that occurs when running a guest under KVM
when clang's Shadow Call Stack is enabled and it would be handy to grab
the kernel panic via serial console as the device panics and I lose my
ssh connection. I picked up a USB to TTL cable and I am able to get
connected with the following config.txt options and cmdline.txt options:

$ head -n4 /boot/config.txt
enable_uart=1
kernel=Image
os_prefix=custom-mainline-arm64/
upstream_kernel=1

$ cat /boot/custom-mainline-arm64/cmdline.txt
console=ttyS1,115200 console=tty1 root=PARTUUID=45a8dd8a-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait plymouth.ignore-serial-consoles

However, when I connect to the serial console via PuTTY, I get nothing
but garbage output: https://imgur.com/a/ekFlLYq

As I understand it, that is due to the mini UART not being as good as a
regular PL011. On the downstream kernel, one would apply
'dtoverlay=disable-bt' which would free up the first PL011 to be used as
the primary UART but the device tree overlays do not work on a mainline
kernel. Is there an easy way to disable Bluetooth via the device tree?
If not, is there any recommended or documented way to use the mini UART
successfully? I have seen information around using 'core_freq=...' but
the documentation says that does not work for the Raspberry Pi 4.

Any guidance or documentation that you could point me to would be much
appreciated.

Cheers,
Nathan



More information about the linux-rpi-kernel mailing list