Options for adding I2C devices and how-to

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi there,

My questions are about the options available for adding I2C devices onto existing single board computers, such as Panda Board or Raspberry Pi. Later then I would ask how to get it done.

By far, I have found out the following options. Correct me if I am wrong as my understanding s still hazy.

1. BitBanging method. That is by connecting it to existing unused GPIOs.  Need to create a Bitbanging client driver for the device with the two GPIOs for SDA, SCLK respectively

2. Use existing allocated I2C Pins. Assuming the kernel driver for the device is already available, then simply run make menuconfig to configure to use the right I2c device. However, if the driver is not available. One needs to create a new client driver. if up to now I am still not wrong, then I have a few questions.
       a) what address is it and how to specify one for the new device? would like wise to use the existing allocated addresses which are not being used due to non-existence of those I2C devices on the system?
        b) if somehow, the new I2C device has somewhat similar architecture with the existing supporter I2C devices, would it wise to use it instead of developing a new client driver? I am trying to say that would it wise to trial and error some of the existing supporting driver if they are compatible. Only after testing then decide if new driver development is needed. Is it the right thing to do?

3. Writing/using user mode I2c driver.

Feel free to add any comments or suggestions.

Thank you in advance.

Best regards,
Lim


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux