AnsweredAssumed Answered

I2C bus got stuck on ls1021aiot based custom board

Question asked by Dhruvalkumar Patel on Feb 16, 2017
Latest reply on Feb 16, 2017 by Pavel Chubakov

Hi All,

 

I have been experiencing some undefined behavior on i2c bus . I have a 4 devices on ls1021aiot based custom board 

• Temperature ADT7461 (0x4C)     ---- linux driver is attached for this device 
• Board clocking 6V49205B (0x69)  ---- No driver is attached  for this device 
• PMIC MC34VR500V1ES (0x08)   ----- No driver is attached for this device 

• And controller acting as slave at address 0x70 .   ---- linux driver is attached for this device 

 

When I do i2cdetect on linux I get following 

 

root@bravo:~# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: -- -- -- -- -- -- -- -- 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b UU 4d 4e 4f
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: UU 71 72 73 74 75 76 77
root@bravo:~#

 

And I cannot access any of my devices now ( ADT7461 (0x4C)  and  at address 0x70). I can't figure out why this is happening. When I do reboot it doesn't solve the problem when I power cycle the board all the devices comes back and work fine . I suspect that one of the devices is pulling the SDA line low , not sure though. If any one of you have experience this kind of problem can you please help.  Is there a way to recover it from linux or u-boot. any help or hint  I'll appreciate.

 

Thanks

Dhruval

Outcomes