[ECOS] AT91SAM and I2C

Tom Deconinck t.deconinck@gmail.com
Mon Jan 7 09:39:00 GMT 2008


On Jan 6, 2008 10:28 PM, Laurie Gellatly <laurie.gellatly@netic.com> wrote:
> -----Original Message-----
> From: ecos-discuss-owner@ecos.sourceware.org
> [mailto:ecos-discuss-owner@ecos.sourceware.org]On Behalf Of Andrew Lunn
> Sent: Monday, 7 January 2008 8:12 AM
> To: Jan Jacobs
> Cc: ecos-discuss@ecos.sourceware.org
> Subject: Re: [ECOS] AT91SAM and I2C
>
>
> On Sun, Jan 06, 2008 at 11:01:51PM +0200, Jan Jacobs wrote:
> > Hi All,
> >
> > I need an I2C (TWI) driver for the AT91SAM7X. I have started doing
> > something, but want to find out if somebody has done one or has any
> advice?
>
> >I think somebody is working on such a driver. It was mentioned last
> >month. Take a look in the mail archive.
>
> > Secondly, I think there might be a flaw with the I2C IO package.
> > If the device you communication to does not use internal addressing (RTC,
> > Sensor, etc) then the I2C IO API works.
> > If the device requires internal addressing (EEPROM) I do not see how that
> > gets conveyed via the I2C IO API?
>
> >I don't really follow. Do you want to make it look like the EEPROM is
> >memory mapped?
>
> Jan,
> When you talk to a EEPROM then part of the I2C message is a command followed
> by the memory address then the data is exchanged all across teh I2C bus.
> You should see this in the Datasheet.
>
> (apologies for duplicate message Andrew).
>
>                         ...Laurie:{)
>
>
>
> --
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>
>
Hi,

I'm currently working on and off an I2C driver for the AT91SAM7S family.
I have started with the framework provided by the Opencores I2C driver
(basically, because that's a driver someone developed at the company I
work and he's only sitting 5m away ;) ) and I've adapted that code for
use with the AT91 I2C controller.
The write side is working: interrupt driven, no major data transfer
tested yet, this could be cumbersome as Andrew warned me, but I
haven't got the time to test this yet.

I have problems with reading, because right now, I seem to miss the
data received interrupts of the TWI controller. I've got some support
code from Atmel, but again, due to lack of time I didn't got the
chance to look into the issue any further. Right now, I can start a
read transfer, but it just keeps on reading (that's due to the rather
strange implementations decisions Atmel has made.... )
No CDL or anything alike yet.

For information purposes: I hooked up an Atmel EEPROM (AT24C64A) to
the CPU to test my driver code.

If someone's interested in the code I've got this far, I'm willing to
share ;), but keep in mind that all is still very raw.

Regards,
Tom

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list