linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Dan Malek <dan@embeddededge.com>
To: bart@ardistech.com
Cc: Alex Zeffertt <ajz@cambridgebroadband.com>,
	Embedded Linux PPC List <linuxppc-embedded@lists.linuxppc.org>,
	dmalek@jlc.net
Subject: Re: MPC823: i2c-algo-8xx read interrupt?
Date: Mon, 11 Feb 2002 10:30:20 -0500	[thread overview]
Message-ID: <3C67E38C.2020304@embeddededge.com> (raw)
In-Reply-To: 3C6776CC.634AB65D@ardistech.com


bart@ardistech.com wrote:


> The way I interpret the data sheet (I assume the 823 and 860 are similar) is that I get the TX
> interrupt when the I2C address is sent plus the two character times. The rest of the TX buffer
> is just a place holder and will not be sent.

Not correct.  The data isn't sent on the data lines, but the CPM decrements the
counter and uses it to time the receive transfer.  The I2C thinks it is sending
something, but the bits just fall off the sand into a bucket.  It is used to generate
the timing of the clock and count how many receive bytes you wish to acquire.

> .... The RX interrupt is fired when all the RX bytes are
> received and written to mem.

How do you know when you have received the proper number of bytes?  Are we
always changing the value of mrblr (I don't remember the code anymore)?

> So I assume waiting for two char times would not help.

You could just poll the receive buffer for about two plus a little character
times.  If you don't get the empty flag cleared in this time report some error.

The interesting thing about any I2C controller is the overhead of trying to
manage this thing is higher than just clocking bits in software.  I seldom
use the I2C controller, just a few lines of C code to do the job.  Think about it.


	-- Dan


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

  parent reply	other threads:[~2002-02-11 15:30 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-08 15:18 MPC823: i2c-algo-8xx read interrupt? bart
2002-02-08 17:04 ` Dan Malek
     [not found]   ` <3C640C11.4080407@cambridgebroadband.com>
     [not found]     ` <3C6410F1.4000104@embeddededge.com>
2002-02-11 12:13       ` bart
     [not found]     ` <3C6776CC.634AB65D@ardistech.com>
2002-02-11 15:30       ` Dan Malek [this message]
2002-02-11 15:45         ` bart
2002-02-11 16:02           ` Dan Malek
2002-02-11 16:19             ` bart
  -- strict thread matches above, loose matches on Subject: below --
2002-02-11 15:49 Pergola, Michael

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3C67E38C.2020304@embeddededge.com \
    --to=dan@embeddededge.com \
    --cc=ajz@cambridgebroadband.com \
    --cc=bart@ardistech.com \
    --cc=dmalek@jlc.net \
    --cc=linuxppc-embedded@lists.linuxppc.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).