This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I2C访问tvp7002芯片时出错,请问是什么原因会造成这个问题?
insmod /lib/modules/2.6.37/kernel/drivers/media/video/tvp7002.ko
insmod /lib/modules/2.6.37/kernel/drivers/media/video/ti81xx/ti81xxvin.ko
tvp7002 2-005d: tvp7002 found @ 0x5d (OMAP I2C adapter)
omap_i2c omap_i2c.2: controller timed out
omap_i2c omap_i2c.2: controller timed out
omap_i2c omap_i2c.2: controller timed out
tvp7002 2-005d: Rev. 3a detected.
tvp7002 2-005d: Unknown revision detected.
omap_i2c omap_i2c.2: controller timed out
tvp7002 2-005d: Write: retry ... 0
omap_i2c omap_i2c.2: controller timed out
tvp7002 2-005d: Write: retry ... 1
omap_i2c omap_i2c.2: controller timed out
tvp7002 2-005d: Write: retry ... 2
omap_i2c omap_i2c.2: controller timed out
tvp7002 2-005d: Write: retry ... 3
omap_i2c omap_i2c.2: controller timed out
tvp7002 2-005d: Write: retry ... 4
tvp7002 2-005d: TVP7002 write error -110
tvp7002: probe of 2-005d failed with error -110
可以参考一下:
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/187108.aspx
This looks like an issue where the VPSS kernel module and the VPSS firmware aren't matching up in terms of who is handling i2c (A8 vs. M3). You may need to pass a different i2c_mode parameter when loading the vpss kernel module.
Argument | Description |
---|---|
i2c_mode | choose the control source for the external i2c-based video devices, by default it is A8. when i2c_mode is set to 1, M3 controls external i2c-based video devices and it requires a special M3 fimrware, which is not part of PSP release. |
You can also see that firmware_loader now takes a parameter to control the i2c mode of the firmware, which is new in this release, I believe.
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
===Mandatory arguments===
<Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3
<Location of Firmware> firmware binary file
<start|stop> to start/stop the firmware
===Optional arguments===
-mmap input memory map bin file name
-i2c 0: i2c init not done by M3, 1(default): i2c init done by M3