Hi there, I want to connect a Real Time Clock DS1302 and several other I2C devices to the foxboard. I would like to use the dedicated I2C Pins for both purposes. The DS1302 is not a fully compliant I2C-device, but uses a RST pin for addressing. My first guess is, that both the DS1302 and normal I2C devices can operate on the same I2C bus. From the reading of data sheets it seems to be, that the communication between foxboard and Ds1302 requires no start condition. Therefore I hope, that the communication between kernel and DS1302 will not wake up all the other I2C devices. On the other hand, during the communication of my user program with the normal I2C devices (e.g. PCF8591) the RST line is not active, and therefore the DS1302 should sleep peacefully during this time.
Can anybody confirm, that DS1302 and normal I2C devices can operate on the same bus? Or is it preferable to use different pins? Another aspect can be a race condition, where the kernel tries to access the I2C bus the same time my user program communicates with another device at the bus. Is this a real risk or is this avoided by any method in the I2C driver? Does the kernel use the I2C driver for the DS1302 communication or has the kernel an independent driver for the RTC? What happens if my user space program opens /dev/i2c and keeps it open indefinitely? Will this be a blocking point for the kernel to access the RTC? Please excuse all these silly questions, but these topics are completely new for me. .................... Thomas Treyer [Non-text portions of this message have been removed]
