我们使用的是dm8168 evm 的程序代码。
我们用附件saLoopBackVip1.c 测试
附件程序有下面的定义:
#define CAPTURE_DEVICE "/dev/video5"
//#define CAPTURE_DEVICE "/dev/video0"
=============================================
1.
关闭//#define CAPTURE_DEVICE "/dev/video5"
打开#define CAPTURE_DEVICE "/dev/video0"
测试vip0
图像正常还回。
我们的vip0 是adv7441输入的,只是把tvp7002的i2c地址改成adv7441的地址,然后在tvp7002.c的文件里修改了一些寄存器的配置。
==========================================
2.
打开#define CAPTURE_DEVICE "/dev/video5"
关闭//#define CAPTURE_DEVICE "/dev/video0"
测试vip1 没有图像还回输出,
报告错误:
Port a overflowed
================================================
3.测试vip1是我们做了如下的修改:
在board-ti8168.c
static struct omap_board_mux board_mux[] __initdata = {
/* PIN mux for non-muxed NOR */
TI816X_MUX(TIM7_OUT, OMAP_MUX_MODE1), /* gpmc_a12 */
TI816X_MUX(UART1_CTSN, OMAP_MUX_MODE1), /* gpmc_a13 */
TI816X_MUX(UART1_RTSN, OMAP_MUX_MODE1), /* gpmc_a14 */
TI816X_MUX(UART2_RTSN, OMAP_MUX_MODE1), /* gpmc_a15 */
/* REVISIT: why 2 lines configured as gpmc_a15 */
TI816X_MUX(SC1_RST, OMAP_MUX_MODE1), /* gpmc_a15 */
TI816X_MUX(UART2_CTSN, OMAP_MUX_MODE1), /* gpmc_a16 */
TI816X_MUX(UART0_RIN, OMAP_MUX_MODE1), /* gpmc_a17 */
TI816X_MUX(UART0_DCDN, OMAP_MUX_MODE1), /* gpmc_a18 */
TI816X_MUX(UART0_DSRN, OMAP_MUX_MODE1), /* gpmc_a19 */
TI816X_MUX(UART0_DTRN, OMAP_MUX_MODE1), /* gpmc_a20 */
TI816X_MUX(SPI_SCS3, OMAP_MUX_MODE1), /* gpmc_a21 */
TI816X_MUX(SPI_SCS2, OMAP_MUX_MODE1), /* gpmc_a22 */
TI816X_MUX(GP0_IO6, OMAP_MUX_MODE2), /* gpmc_a23 */
TI816X_MUX(TIM6_OUT, OMAP_MUX_MODE1), /* gpmc-a24 */
TI816X_MUX(SC0_DATA, OMAP_MUX_MODE1), /* gpmc_a25 */
/* for controlling high address */
TI816X_MUX(GPMC_A27, OMAP_MUX_MODE1), /* gpio-20 */
#if 1//for vip1 input
TI816X_MUX(TSI1_DCLK, 0x1A), //VIN[1]A_D[9]
TI816X_MUX(TSI1_DATA, 0x1A), //VIN[1]A_D[10]
TI816X_MUX(TSI1_BYTSTRT, 0x1A), //VIN[1]A_D[11]
TI816X_MUX(TSI1_PACVAL, 0x1A), //VIN[1]A_D[12]
TI816X_MUX(TSI1_PACERR, 0x1A), //VIN[1]A_D[13]
TI816X_MUX(TSI2_DCLK, 0x19), //VIN[1]A_D[14]
TI816X_MUX(TSI3_DCLK, 0x1A), //VIN[1]A_D[4]
TI816X_MUX(TSI3_DATA, 0x1A), //VIN[1]A_D[5]
TI816X_MUX(TSI3_BYTSTRT, 0x1A), //VIN[1]A_D[6]
TI816X_MUX(TSI3_PACVAL, 0x1A), //VIN[1]A_D[7]
TI816X_MUX(TSI3_PACERR, 0x1A), //VIN[1]A_D[8]
TI816X_MUX(TSI4_DCLK, 0x1A), //VIN[1]A_D[15]
TI816X_MUX(TSO1_DCLK, 0x1A), //VIN[1]A_CLK
TI816X_MUX(TSO1_DATA, 0x1A), //VIN[1]A_D[0]
TI816X_MUX(TSO1_BYTSTRT, 0x1A), //VIN[1]A_D[1]
TI816X_MUX(TSO1_PACVAL, 0x1A), //VIN[1]A_D[2]
TI816X_MUX(TSO1_PACERR, 0x1A), //VIN[1]A_D[3]
#endif
{ .reg_offset = OMAP_MUX_TERMINATOR },
};
源输入是用fpga产生的16bitYUV422,1080P60数据,内同步方式的。和vip0的输入应该是一样的。
我们fpga产生的数据在dm6467下是没问题的。
=================================================
不知道还需要做哪些修改,各位大侠能帮忙看看,还有什么建议呢?
谢谢。
如果可以可以请直接电话联系:025-51861216-8056 程丙宜。
EMAIL:beyondcheng@talentinfo.com.cn