Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Jul 2019 08:06:29 -0600
From:      Ian Lepore <ian@freebsd.org>
To:        Kaya Saman <kayasaman@optiplex-networks.com>, "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   Re: Pine64-LTS overlays for uart ports fixed!
Message-ID:  <2ab16425ac48bb7ff4365561b8959ee3eac50530.camel@freebsd.org>
In-Reply-To: <09afae63-3583-46bd-8911-82a0f0a3185f@optiplex-networks.com>
References:  <5f30c425-60c6-d54a-9593-2584bcf25925@optiplex-networks.com> <c601f08c4b3f1ad7beed5465622df37f583f844e.camel@freebsd.org> <09afae63-3583-46bd-8911-82a0f0a3185f@optiplex-networks.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2019-07-31 at 14:33 +0100, Kaya Saman wrote:
> On 7/31/19 1:42 AM, Ian Lepore wrote:
> > On Wed, 2019-07-31 at 00:46 +0100, Kaya Saman wrote:
> > > Hi guys,
> > > 
> > > 
> > > just wanted to say that I managed to fix the overlay issue for
> > > the uart
> > > ports. I just updated my bug report:
> > > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239390
> > > 
> > > 
> > > So, thanks to everyone who provided assistance and especially
> > > Milan for
> > > the introduction to the 'overlay' system and the dtso file :-)
> > > 
> > > 
> > > Just need to figure out why PPS isn't working now, my GPS
> > > receiver is
> > > sending the information so it definitely is a system config issue
> > > -
> > > either wrong pin or something in the OS... (still looking into
> > > it). Also
> > > needing a driver in lcdproc for my Newhaven displays and after
> > > that the
> > > project will be perfect :-) :-) :-)
> > > 
> > > 
> > > Best Regards,
> > > 
> > > 
> > > Kaya
> > > 
> > > 
> > 
> > Is the GPS receiver delivering the pps signal on one of the uart
> > pins
> > such as cts?  If it's using cts, you probably need this change to
> > your
> > overlay:
> > 
> > --- sun50i-a64-uart4.dts.orig	2019-07-30 18:35:19.188762000
> > -0600
> > +++ sun50i-a64-uart4.dts	2019-07-30 18:37:02.015479000 -0600
> > @@ -30,7 +30,7 @@
> >   		target = <&uart4>;
> >   		 __overlay__ {
> >   			pinctrl-names = "default";
> > -			pinctrl-0 = <&uart4_pins>;
> > +			pinctrl-0 = <&uart4_pins &uart4_rts_cts_pins>;
> >   			status = "okay";
> >   		};
> >   	};
> > 
> > You may also need to set sysctl dev.uart.4.pps_mode=1 for CTS, in
> > /etc/sysctl.conf.
> > 
> > If it's using some other pin such as RI or CD, there is no pre-
> > written
> > pinctrl entry for it in those overlays you found, and some more
> > research into how to add the right pinctrl nodes will be needed.
> > 
> > -- Ian
> > 
> 
> Bingo!!! :-) :-)
> 
> 
> Thank you so much Ian.....
> 
> 
> I am seeing this:
> 
> gpsd:PROG: PPS:/dev/gps1 Assert cycle:  999973, duration:  799977 @  
> 1564579823.472659791
> gpsd:PROG: PPS:/dev/gps1 Assert rejected missing last_fixtime
> 
> 
> Perfect ;-)
> 
> 
> I think I need to add pps_mode=0x11 or 17 in dec. as the pulse is
> inverted.
> 
> 
> This setup was working previously using a Prolific Serial to USB adapter 
> for testing purposes as of course the USB introduces high latency.
> 

Actually, not so much as you'd think.  I expected both high latency and
a lot of jitter when using a usb-serial for PPS, and what I found was a
fixed latency of less than a millisecond and jitter on the order of 60-
80 microseconds.  Even trying to saturate the usb bus by doing
continuous or bursty IO to a disk drive didn't noticibly increase the
pps latency or jitter.  I was pretty surprised.

-- Ian





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2ab16425ac48bb7ff4365561b8959ee3eac50530.camel>