[i2c] [lm-sensors] I2C for uCLinux on ARM926EJ (with AMBA bus)
Mark M. Hoffman
mhoffman at lightlink.com
Tue Aug 1 18:51:18 CEST 2006
Hello:
I am moving this thread to the I2C list...
* Drasko Draskovic <drasko.draskovic at gmail.com> [2006-08-01 16:04:49 +0200]:
> Hi. I am working on a custom design that is based on ARM926EJ and AMBA
> bus. OS of choice is uCLinux, patched with RTAI for RT performance. I
> have to implement now I2C support, but looking at the existing driver
> things seem a bit unclear for me.
>
> Here is what I unserstood:
> i2c-core.c is independent of the bus and is kernel module. This should
> be working. But what about AMBA bus? Is it supported? Is this file for
> support of AMBA located in 'busses' directory? What are algos files? As
> I undersand, these are bus dependent. Is AMBA supported by these?
>
> If there are not, does anyone have idea how these can be written?
Your questions indicate much confusion.
ARM926EJ is a SoC processor core. AMBA is a standard bus connecting SoC
cores to SoC peripherals. The AMBA bus is entirely internal to the SoC.
The only thing AMBA has to do with I2C, is that an I2C peripheral bus
controller may sit on an AMBA bus, in the same way that the Intel i801
I2C bus controller sits on the PCI bus in a normal PC.
So rather than asking about support for AMBA in the busses directory,
you may be looking for support for your specific peripheral (possibly
connected to the SoC core by AMBA) in the busses directory. It would
be helpful if you name the specific peripheral.
The file i2c-core.c implements the subsystem core routines. It is not
a driver by itself. It is independent of any specific driver. To see
how the 'algos' fit into the picture, you should read the docs[1] and
then ask more specific questions if necessary.
[1] Documentation/i2c/* from the 2.6 Linux kernel source
> How can a proper working of I2C be tested? Can some dummy I2C
> peripheral be created in Linux?
If you have some I2C slave devices, connect them to your bus and you
can test your bus driver that way. There is no need to write a driver
for the slave device right away... you can perform some generic xfers
with the userspace tools from lm-sensors.org. Of course, a scope is
very helpful too.
I can't guess what you mean by that second question... rephrase please.
Regards,
--
Mark M. Hoffman
mhoffman at lightlink.com
More information about the i2c
mailing list