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]

Reply via email to