Skip to contentSkip to conversation

question about i2c-designware

DISCUSSION Kefeng Wang 2 participants 2 messages Jul 9, 2015 – Jul 10, 2015 I2C subsystem host drivers

lore
Share & tools
lore
#0 lore raw

Hi all,

We met a issue when use Synopsys DesignWare I2C. The SDA will keep low level and never go back to the high level
if both i2c controllers simultaneously access the same i2c device(rtc), then both two i2c controllers can't send any data. we try to reset the rtc, but not working. After reset the i2c controller, the SDA goes back to the high state and we can get time from rtc again.

The scenario is as follows, any advice will be appreciated.

OS 1 | OS 2
|
+--------------+----------|--------------+
| | | |
| +---------|----+-----|---------+ |
| | | | | | |

   ----------------    ------	  |    -----------------
   |i2c controller1|   | rtc|	  |    |i2c controller2|
   ----------------    ------     |    -----------------
                                  |

note:
1) i2c controller1 and controller2 use same IP.
2) OS1 use v3.19 and OS2 use 2.6

Thanks
Kefeng

#1 lore raw

+ linux-arm-kernel at lists.infradead.org

Quoted 26 lines · Kefeng Wang

Hi all,

We met a issue when use Synopsys DesignWare I2C. The SDA will keep low level and never go back to the high level
if both i2c controllers simultaneously access the same i2c device(rtc), then both two i2c controllers can't send any data. we try to reset the rtc, but not working. After reset the i2c controller, the SDA goes back to the high state and we can get time from rtc again.

The scenario is as follows, any advice will be appreciated.

OS 1 | OS 2
|
+--------------+----------|--------------+
| | | |
| +---------|----+-----|---------+ |
| | | | | | |

   ----------------    ------	  |    -----------------
   |i2c controller1|   | rtc|	  |    |i2c controller2|
   ----------------    ------   |    -----------------
                                |

note:
1) i2c controller1 and controller2 use same IP.
2) OS1 use v3.19 and OS2 use 2.6

Thanks
Kefeng