device-tree on BeagleBone Black (enabling UART)
Ian Lepore
ian at freebsd.org
Fri Feb 12 02:15:53 UTC 2021
On Fri, 2021-02-12 at 01:00 +0100, Kristoff wrote:
> Hi Ian, Daniel,
>
>
> I am sorry for the late reply.
> (inline comments)
>
>
> On 8/02/2021 9:41 p.m., Ian Lepore wrote:
> >
> > > I am running FreeBSD 12.1 on a beaglebone black. As I want to use
> > > it
> > > for
> > > a time-server (i.e. connect it to a GPS), I want to enable an
> > > additional
> > > UART (and also a pps gpio-pin, I guess).
>
> Good news! I managed to get the uart working.
> To get to the same configuration as Daniel, I upgraded to FreeBSD
> 13.0,
> and that seams to have done the trick.
>
> Uart1 has been created with a device-tree overlay-file and I can use
> it
> on the device.
>
>
> Question, what is the difference between /dev/cuau0 and /dev/ttyu0,
> and
> which one do I use for what?
>
ttyu0 is the "call-in" device, and cuau0 is teh "call-out" device. The
difference is that when you call open on a call-in device, the open
call blocks until the carrier-detect signal on the tty goes active
(presumably signaling that a modem has answered and connected). With
the call-out device, the blocking doesn't happen.
> > The beaglebone has a special pps driver that uses the am335x chip's
> > timer hardware to measure the pps pulse time with better accuracy
> > than
> > the generic gpio-pps driver. To use it, add
> >
> > am335x_dmtpps_load=YES
>
> At the same time I also wanted to try the pps driver you mention.
>
> However, it does not seams to load.
>
> I get this:
>
> [root at black1 ~]# kldload am335x_dmtpps
> kldload: can't load am335x_dmtpps: No such file or directory
>
>
> The issue seams to be this:
>
> # dmesg
> (...)
> KLD am335x_dmtpps.ko: depends on ti_sysc - not available or version
> mismatch
>
> Looking on my system, I seems to have the source of 'to_sysc', but
> not
> the .ko.
> [root at black1 ~]# locate ti_sysc
> /usr/src/sys/arm/ti/ti_sysc.c
> /usr/src/sys/arm/ti/ti_sysc.h
>
>
> What is the procedure to compile one single kernel-module?
> I tried "make ti_sysc", but that failed due to compilation errors
>
>
Hmm, are you using the GENERIC kernel, or a custom kernel, or what?
The ti_sysc device is a relative newcomer, and we may have neglected to
add it to the GENERIC config. There probably isn't a makefile to build
it as a module.
So the fix for that would be to add 'device ti_sysc' to whatever kernel
config you're using and rebuild the kernel.
-- Ian
More information about the freebsd-arm
mailing list