David,

I have asked one of our developers to assist you with this.  He will
also post to the list any examples and patches needed at it may assist
others that may be having similar issues with QSPI and I2C on the
MCF5282 processor.


Michael Durrant
[EMAIL PROTECTED]

David Canales wrote:
Hello,

I am working in a controller using the motorola coldfire 5282 into the
uCevolution test board from Arcturus. In the last days, I downloaded the
"uClinux-dist-2008-FEB-05-r0-release" distribution from arcturus site.
It's working with the kernel 2.6, and I understand that this
distribution have a better support for i2c communication. I have been
tried to implement the i2c but I don't know how to do this.

I have configure Device Drivers---->
                     I2C Support-------->
                            <m>  I2C Support-------->
                                      <m> I2C Device Interface
                                          I2C Hardware bus support --->
                                             <m> MCF Coldfire

Then I read from documentation inside the distribution
linux2.6/Documentation/i2c/dev-interface    to use this protocol is
necessary only do this:

So let's say you want to access an i2c adapter from a C program. The
first thing to do is "#include <linux/i2c-dev.h>". Please note that
there are two files named "i2c-dev.h" out there, one is distributed
with the Linux kernel and is meant to be included from kernel
driver code, the other one is distributed with lm_sensors and is
meant to be included from user-space programs. You obviously want
the second one here.

Now, you have to decide which adapter you want to access. You should
inspect /sys/class/i2c-dev/ to decide this. Adapter numbers are assigned
somewhat dynamically, so you can not even assume /dev/i2c-0 is the
first adapter.

Next thing, open the device file, as follows:
  int file;
  int adapter_nr = 2; /* probably dynamically determined */
  char filename[20];
sprintf(filename,"/dev/i2c-%d",adapter_nr);
  if ((file = open(filename,O_RDWR)) < 0) {
    /* ERROR HANDLING; you can check errno to see what went wrong */
    exit(1);
  }

When you have opened the device, you must specify with what device
address you want to communicate:
  int addr = 0x40; /* The I2C address */
  if (ioctl(file,I2C_SLAVE,addr) < 0) {
    /* ERROR HANDLING; you can check errno to see what went wrong */
    exit(1);
  }




but this does not work, I need more documentation and if is possible a
example that can help me to make my work possible.


I have seen that can be load a module for i2c in the mcf called
i2c-mcf.c i load the module using insmod i2c-mcf.ko, but my question is
how i can use the function in that the module have, or how i  can use
the driver I am confuse.

PLEASE HELP ME BECAUSE I AM HAVE STUCK IN THE DEVELOPMENT OF A VERY
IMPORTANT PROJECT.


_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev



_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to