sys/uart fdt Here is pointers to the code we should be using Hope this helps, John. FreeBSD, UART and Raspberry Pi 3 B+

From: Fred Finster <fred_at_thegalacticzoo.com>
Date: Thu, 26 Jan 2023 17:49:24 UTC
https://blackdot.be/2018/08/freebsd-uart-and-raspberry-pi-3-b/ FreeBSD, 
UART and Raspberry Pi 3 B+

He also wanted to hook up a GPS input to a serial port 0.

Fred

If you are reading this because you, like me were lost and frustrated… I 
feel your pain. But let me try and help!

A few weeks ago I added a POE HAT to a Raspberry Pi 3B+ and installed 
FreeBSD to so I could build a remote access server. I also bough another 
Raspberry Pi 3B+ to replace by OrangePi Zero + USB uBlox 5 NTP server.

Unlike Raspbian it is surprisingly hard to stop FreeBSD’s kernel from 
grabbing uart0 for it’s console. Lets start with why you are probably 
here… how do I stop the kernel from doing this?

|echo 'hw.fdt.console="NO"' >> /boot/loader.conf.local |

Easy right? It took me more than 24 hours to find this. Most of which 
was one long Saturday. I could not find much (any) documentation on this 
parameter. So how did I find it?

One of the embedded device devs from FreeBSD recommended to remove 
/chosen/stdout-path from the fdt tree. This did not work. After a few 
hours of messing around with building kernels without baked in uart 
support and other dead-ends I went back to looking at the fdt stuff.

|/usr/src/sys/gnu/dts/arm/bcm2837-rpi-3-b-plus.dts 
/usr/src/sys/gnu/dts/arm/bcm2835-rpi.dtsi 
/usr/src/sys/gnu/dts/arm/bcm2837.dts |

These dtsi and dts files are what eventually end up in the 
fdt…*bcm2837-rpi-3-b-plus.dts*holds the /chosen/stdout-path for the rPI 
3B+.



-- 
Fred  Finster
fred@thegalacticzoo.com
+1 971-718-9144
https://GhostBSD-ARM64.blogspot.com
https://ghostbsd.org