Enabling Raspberry Pi 4B Uarts, specifically uart3

From: Fred Finster <fred_at_thegalacticzoo.com>
Date: Tue, 24 Jan 2023 13:09:00 UTC
*/
/*

*/From:/*<bugzilla-noreply_at_freebsd.org>
*/Date:/*Sun, 22 Jan 2023 21:36:36 UTC

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269104

             Bug ID: 269104
            Summary: The uarts2 - uarts5 do not function on raspberry pi 4B
            Product: Base System
            Version: 13.1-RELEASE
           Hardware: arm64
                 OS: Any
             Status: New
           Severity: Affects Only Me
           Priority: ---
          Component: arm
           Assignee: freebsd-arm@FreeBSD.org
           Reporter: jjrushford@gmail.com

I’ve tried using the additional serial ports that are available with a
raspberry pi 4B by enabling them in config.txt and when I try to read data on
them, I see nothing.

Specifically, I’ve wired an Adafruit ultimate GPS to uart3, gpio pins 4 and 5.
I’ve built the RPI-firmware port and copied the uart0-5 dtb’s  to
/boot/msdos/overlays.  I then enable uart3 in /boot/msdos/config.txt with
dtoverlay=uart3 and reboot. After boot, I see that FreeBSD has created
/dev/ttyu1 and /dev/cuau1 in the dev tree for uart3.  When I try reading from
ttyu1 or cuau1, I do not see any data whatsoever.  I’ve set the baud rate to
9600 and disabled flow control but still no data is seen.  If I change the
wiring to use ttyu0, gpio pins 14 and 15, I do see data there.

Just to verify the hardware, I installed a different SD card with raspberry pi
OS, Debian, and enabled uart3 in config.txt.  When I read the /dev/ttyAMA1 I do
see the NMEA time stamps coming in uart3 at 9600 baud with no issue.  Next I
reboot back to FreeBSD 13.1, I cannot see any data from The GPS card on ttyu1
or cuau1.

-- 
You are receiving this mail because:
You are the assignee for the bug.

In the aarch64 arm64 Raspberry Pi FreeBSD, maybe you need to enable some kernel modules
kldstat
kldload ucom umodem usb_template
sysctl hw.usb.template=3

add in file /boot/loader.conf

ucom_load="YES"
umodem_load="YES"
usb_template_load="YES"
hw.usb.template=3


*cu -s 9600 -l /dev/ttyU1 What do you see? or rather cu? :>)  Do report 
back success or failure or changes necessary to make work, please. *https://forums.raspberrypi.com/viewtopic.php?t=244827&sid=f4a784a3c40ed0940e6fbb9f81af5015&start=25#p1590882  <https://forums.raspberrypi.com/viewtopic.php?t=244827&sid=f4a784a3c40ed0940e6fbb9f81af5015&start=25#p1590882>


      Re: Pi-4 Activating additional UART ports
      <https://forums.raspberrypi.com/viewtopic.php?t=244827&sid=f4a784a3c40ed0940e6fbb9f81af5015&start=25#p1590882>

Mon Jan 06, 2020 10:36 am 
<https://forums.raspberrypi.com/viewtopic.php?p=1590882&sid=3091c9b0b98ce61a2a9be011e1ef5386#p1590882>

On all Pis, UART0 is a PL011 that appear to Linux as ttyAMA<n>, and 
UART1 is an 8250 clone that appears as ttyS0. On a Pi4, UART2-5 are 
additional PL011s that also appear as ttyAMA<n>. The number starts at 0 
for the first enabled PL011 and counts up through all the enabled 
interfaces. The numbering is stable for any given combination of UARTs, 
but enabling or disabling one can change the number assignments of others.

/PL011 appear to FreeBSD/*as /dev/ttyUx   So I wonder if one has to enable ucom and umodem and 
usb_template to view serial data comming back over what looks like a USB 
to serial interface?  Your thoughts? 
https://ghostbsd-arm64.blogspot.com/2023/01/hookup-gdb-to-black-magic-probe-v23.html 
*

My setup trying to connect to USB serial port under X86_64 FreeBSD 13 to a Black Magic Probe


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