Date: Thu, 11 Feb 2021 19:15:49 -0700 From: Ian Lepore <ian@freebsd.org> To: Kristoff <kristoff@skypro.be>, freebsd-arm@freebsd.org Subject: Re: device-tree on BeagleBone Black (enabling UART) Message-ID: <596e6c178a78a8c5bdb62505f593b3878aae1a1f.camel@freebsd.org> In-Reply-To: <a9c73d47-f0a6-3c3a-645a-bedd709b9f3d@skypro.be> References: <29ee61d3-6eb7-ccf7-3de9-2ecdccdcbb6b@skypro.be> <06f5ba53fac300855b580d127fdfc57466807a9c.camel@freebsd.org> <a9c73d47-f0a6-3c3a-645a-bedd709b9f3d@skypro.be>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?596e6c178a78a8c5bdb62505f593b3878aae1a1f.camel>