AM335X的I2C0总线上本身接了TPS65910芯片,我再加一片I2C从机,就引起系统奔溃了。有人遇到过吗?
Backtrace:[<c026c7d0>] (tps65910_i2c_read+0x0/0x7c) from [<c026d490>] (tps65910_g_rtc+0x38/0x1a0)
[<c026d458>] (tps65910_g_rtc+0x0/0x1a0) from [<c0337ef8>] (omap_rtc_read_time+0x60/0x6c)
r7:cf81dd8c r6:00000000 r5:cf81dd8c r4:cf81dd8c
[<c0337e98>] (omap_rtc_read_time+0x0/0x6c) from [<c033441c>] (__rtc_read_time+0x54/0x58)
r5:cf81dd8c r4:cf365800
[<c03343c8>] (__rtc_read_time+0x0/0x58) from [<c03350b8>] (rtc_read_time+0x34/0x48)
r5:cf365800 r4:cf365950
[<c0335084>] (rtc_read_time+0x0/0x48) from [<c03351f0>] (__rtc_read_alarm+0x24/0x2cc)
r7:cf81dd8c r6:c0816168 r5:cf365800 r4:cf365800
[<c03351cc>] (__rtc_read_alarm+0x0/0x2cc) from [<c03341c8>] (rtc_device_register+0x124/0x234)
[<c03340a4>] (rtc_device_register+0x0/0x234) from [<c07d6818>] (omap_rtc_probe+0xc8/0x260)
[<c07d6750>] (omap_rtc_probe+0x0/0x260) from [<c02581a4>] (platform_drv_probe+0x20/0x24)
[<c0258184>] (platform_drv_probe+0x0/0x24) from [<c0256cf8>] (driver_probe_device+0xa0/0x1ac)
[<c0256c58>] (driver_probe_device+0x0/0x1ac) from [<c0256e98>] (__driver_attach+0x94/0x98)
r9:00000000 r8:c07d672c r7:00000000 r6:c081619c r5:c083c81c
r4:c0816168
[<c0256e04>] (__driver_attach+0x0/0x98) from [<c02564ac>] (bus_for_each_dev+0x68/0x94)
r7:00000000 r6:c0256e04 r5:cf81dec8 r4:c083c81c
[<c0256444>] (bus_for_each_dev+0x0/0x94) from [<c0256b48>] (driver_attach+0x24/0x28)
r7:00000000 r6:cf369ec0 r5:c0830460 r4:c083c81c
[<c0256b24>] (driver_attach+0x0/0x28) from [<c0255d14>] (bus_add_driver+0xa8/0x23c)
[<c0255c6c>] (bus_add_driver+0x0/0x23c) from [<c02574fc>] (driver_register+0x80/0x13c)
[<c025747c>] (driver_register+0x0/0x13c) from [<c0258640>] (platform_driver_register+0x4c/0x60)
r7:00000013 r6:c003f4ec r5:c0851040 r4:c083c808
[<c02585f4>] (platform_driver_register+0x0/0x60) from [<c0258674>] (platform_driver_probe+0x20/0x6c)
[<c0258654>] (platform_driver_probe+0x0/0x6c) from [<c07d6744>] (rtc_init+0x18/0x24)
r5:c0851040 r4:c07f3cc0
[<c07d672c>] (rtc_init+0x0/0x24) from [<c0008608>] (do_one_initcall+0x3c/0x190)
[<c00085cc>] (do_one_initcall+0x0/0x190) from [<c07b7288>] (kernel_init+0x80/0x124)
[<c07b7208>] (kernel_init+0x0/0x124) from [<c003f4ec>] (do_exit+0x0/0x69c)
r5:c07b7208 r4:00000000
Code: e24cb004 e24dd020 e54b1025 e24b1024 (e5900004)—[ end trace bf90bbbfb1b777b6 ]—
Kernel panic – not syncing: Attempted to kill init!
………
leo chen:
注意一下I2C从机的地址是多少,其次现在的上拉电阻多大,
tony2:
你量一下上拉,可能没有释放I2C,这种问题我碰到好多次。
Gino E:
回复 tony2:
看上去是你增加的从设备影响了AM335x对TPS65910的访问,建议你查查I2C硬件信号。SDA或者SCL是否在空闲状态下有被拉低?
cheng feng:
回复 tony2:
请问,您后来对I2C这种现象怎么处理的?
Gino E:
回复 cheng feng:
硬件SCL&SDA信号,你是否已经有量过么?是否有出现我提到的被拉低的问题?
软件里,你单独和这个i2c器件的通讯调试正常么?