Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 02 Jun 2020 07:49:39 -0600
From:      Ian Lepore <ian@freebsd.org>
To:        "Dr. Rolf Jansen" <freebsd@cyclaero.com>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: BeagleBone AI
Message-ID:  <840faedfcf7c3c09a372cf566acddd8ad876ff2b.camel@freebsd.org>
In-Reply-To: <3CA84BA5-FEA8-4BD8-A713-C794139170EE@cyclaero.com>
References:  <DCF67826-C2CA-461F-9A61-F934F6FB042A@cyclaero.com> <966c33ea1924c2cfab5d9e295a9239d134e03f8a.camel@freebsd.org> <3CA84BA5-FEA8-4BD8-A713-C794139170EE@cyclaero.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 2020-05-31 at 16:56 -0300, Dr. Rolf Jansen wrote:
> > Am 31.05.2020 um 14:11 schrieb Ian Lepore <ian@freebsd.org>:
> > 
> > On Fri, 2020-05-29 at 23:21 -0300, Dr. Rolf Jansen wrote:
> > > ...
> > > 
> > > First Question:
> > > 
> > > What modern SBC with more than 1 I²C bus and which can run
> > > FreeBSD 13++ would you suggest?
> > > 
> > > ...
> > > 
> > > Two more Questions:
> > > 
> > > Is it reasonable to assume that FreeBSD would run on a BBAI in
> > > the future, let’s say in 2 to 3 years?
> > > 
> > > Perhaps I could help porting FreeBSD to a BBAI. What would be the
> > > general steps?
> > > 
> > > 
> > > Many thanks in advance for any suggestions, advices and
> > > clarifications.
> > > 
> > > Best regards
> > > 
> > > Rolf
> > 
> > BTW, if you need drivers for any new i2c devices just let me know
> > and
> > I'll see what I can do.
> 
> I am pretty comfortable with register level programming, and so far I
> came away with ioctl() calls for what I needed. So perhaps I won’t
> need exactly a driver for new I²C devices. However, I am far away
> from being a perfect I²C expert, specially when it comes to timing
> and the best sequence of addressing different devices on the bus.
> Perhaps, I may ask some questions when I run into problems.
> 
> > Also, in my experience you can often get away with running an i2c
> > bus
> > faster than 400khz if you need more bandwidth.  I've never seen any
> > modern chip fail to work at 800khz, and most seem to work fine up
> > to
> > about 1mhz; above that they become pretty unreliable.
> 
> Does this „over clocking“ work for the ARM boards as well? I just set
> the clock-frequency in the dts-overlay which activates I2C1 of the
> BBB from 400000 to 800000. The bus seems to work as usual, however, I
> did not yet come to check its speed. How again would I do that?
> Probably there are many more questions to come :-)
> 
> Best regards
> 
> Rolf

I suspect it works on some boards and maybe won't work on others.  Some
SOCs have very flexible clock settings in their i2c controllers, a few
just allow choosing between fixed low and high speeds.

For experimenting, there is a sysctl dev.iicbus.#.frequency that you
can change on the fly (it will override any value from the dts).  The
value is the frequency in hz.

-- Ian





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