Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jun 1998 06:29:49 -0400 (EDT)
From:      Peter Dufault <dufault@hda.com>
To:        Nicolas.Souchu@prism.uvsq.fr (Nicolas Souchu)
Cc:        dufault@hda.com, freebsd-hackers@FreeBSD.ORG, mbouget@club-internet.fr
Subject:   Re: I2C bus
Message-ID:  <199806211029.GAA27395@hda.hda.com>
In-Reply-To: <19980620120606.44000@breizh.prism.uvsq.fr> from Nicolas Souchu at "Jun 20, 98 12:06:06 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
> >If someone is interested in working toward a bit-banging (i.e.,
> >line printer port etc) implementation then they should look at the
> >i2cslave code in that tar ball and consider what it would take to
> >make a non-blocking state driven master similar to the non-blocking
> >state driven slave that it now implements.
> 
> What would be the purpose of such a driver in kernel?
> Polling takes all the cpu. We'd like rather have the PCF8584 connected to
> the parallel port.

No - the support is state machine driven.  You call the state
machine at a given frequency and it does what it should without
hogging the CPU.  Using the terminology "polling" and "busy waiting"
this software polls but never busy-waits.

For the I2C slave you have to call the state machine pretty fast
to detect a start condition at full I2C speeds, but a single master
such as most people could use wouldn't have that restriction and
you could run it at whatever rate you required.

You don't have to have special hardware such as the PCF8584 bus
controller.  The multimedia group already use busy waiting I2C
support for talking to tuner chips, EEPROM, etc.  Obviously for
talking IP over I2C you'll want the hardware support for detecting
addressing and serialing the data, but for configuring a tuner or
driving an LCD controller a well designed non-blocking master that
needs no special hardware would be useful.

Peter

-- 
Peter Dufault (dufault@hda.com)   Realtime development, Machine control,
HD Associates, Inc.               Safety critical systems, Agency approval

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



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