Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Feb 2021 00:52:54 +0100
From:      Kristoff <kristoff@skypro.be>
To:        Ian Lepore <ian@freebsd.org>, freebsd-arm@freebsd.org
Subject:   Re: device-tree on BeagleBone Black (enabling UART)
Message-ID:  <629d6766-763b-0120-6bd8-9bcdbc280561@skypro.be>
In-Reply-To: <596e6c178a78a8c5bdb62505f593b3878aae1a1f.camel@freebsd.org>
References:  <29ee61d3-6eb7-ccf7-3de9-2ecdccdcbb6b@skypro.be> <06f5ba53fac300855b580d127fdfc57466807a9c.camel@freebsd.org> <a9c73d47-f0a6-3c3a-645a-bedd709b9f3d@skypro.be> <596e6c178a78a8c5bdb62505f593b3878aae1a1f.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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.

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@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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?629d6766-763b-0120-6bd8-9bcdbc280561>