device-tree on BeagleBone Black (enabling UART)

Kristoff kristoff at skypro.be
Thu Feb 18 23:53:00 UTC 2021


Hi all,

(inline comments)

On 12/02/2021 3:15 a.m., Ian Lepore wrote:
>
>>> 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.

OK, still working on this.

Still stuck:
UART now works!
PPS does not.


Sofar not solution. This is my situation:

- FreeBSD 12.1: device-tree does not seams to work
- FreeBSD 12.2: for some reason, all "beaglebone" images I find on 
https://download.freebsd.org/ftp/snapshots/arm/armv7/ISO-IMAGES/12.2/ do 
not boot at all, or -if they boot- have strange issues. (like a simple 
reboot taking up 2 hours!)

- FreeBSD 13.0: Now still running an version:
--> the version I do have now is this one:
FreeBSD 13.0-CURRENT #0 f2ea0734875-c254544(main): Thu Nov 19 09:15:27 
UTC 2020 root at releng1.nyi.freebsd.org:/usr/obj/usr/src/arm.armv7/sys/GENERIC

But that does not contain the "ti_sysc" module.
(as stated earlier)

-> I wanted to try a newer version, all "beaglebone" images for 13.0 
seams to have disappeared from the ftp-server
https://download.freebsd.org/ftp/snapshots/arm/armv7/ISO-IMAGES/13.0/

(actually, that folder does not even exist any more)

-> I also tried using the 13.0 kernel with gpiopps module (better then 
nothing), sofar without success.



So, I guess, the next step is -as you proposed- to try to compile a new 
kernel.

I have never done this. I have been looking in the handbook how to do this.
I guess I need to create a 'MYKERNEL' file for the beaglebone.

Question. Is there a repository of 'MYKERNEL' files for board so I have 
a config-file to start from.
I do not know all the kernel-options and hardware-features of the 
beaglebone black, it would be nice to have something to start from that 
I know actually works!


Note:
As proposed, I added the line "device ti_sysc" at the end of the 
configuration-file, but I get this error:

config: Error: device "ti_sysc" is unknown

I guess that one line in the config-file is not enough?



(Anycase, I am really learning a lot here)


> -- Ian
>
Cheerio!

Kr. Bonne.


More information about the freebsd-arm mailing list