Hello,
I'm using a customized board with the DM648 and have some problems to initialize the video port. I'm using a TVP5154A that producing a 27 MHz clock as input clock, and delivering a 720x480 picture in BT.656 8-bit.
My sequence looks like that:
1.) Initialize input source so that clock and video data is available (works)
2.) Init edma3 (which gives me a edma handle that's not NULL)
3.) Power the VIC peripheral (I also skipped that part but nothing changes)
4.) Power VP0 and VP2
5.) Pinmux VP0 and VP2
6.) calling GIO_create for VP0
GIO_create(
"/VP0CAPTURE/A/0",
IOM_INPUT,
NULL,
(void*) &vCapParamsChan,
NULL);
7.) repeating the step 6 for the 3 other Channels "/VP0CAPTURE/B/1", "/VP2CAPTURE/A/2", "/VP2CAPTURE/B/3",
with
static VPORTCAP_Params vCapParamsChan =
{
VPORT_MODE_BT656_8BIT, // cmode:3 // 0 BT.656 8-bit mode
VPORT_FLDOP_FRAME, // fldOp:3 // 4 capture complete frame field 1 and field 2
VPORT_SCALING_DISABLE, // scale:1 // 0 disable horizontal scaling mode
VPORT_RESMPL_DISABLE, // resmpl:1 // chroma resampling disbaled
VPORTCAP_BPK_10BIT_ZERO_EXTENDED, // bpk10Bit:2 // 10-Bit mode zero extended Packing format
VPORTCAP_HRST_SAV, // hCtRst:1 // pixel counter reset at the sav code used with embedded sync mode
VPORTCAP_VRST_EAV_V0, // vCtRst:1 // line counter reset at inactive edge, used with embedded sync mode
VPORTCAP_FLDD_DISABLE, // fldDect:1 // fielde detect logic off
VPORTCAP_EXC_DISABLE, // fldInv:1 // external control disable, if disabled embedded EAV/SAV code ist used
VPORTCAP_FINV_DISABLE, // fldInv:1 // field invers disable, only used if exc is enabled
0, // fldXStrt1
3, // fldYStrt1
0, // fldXStrt2
3, // fldYStrt2
719, // fldXStop1 // num of cols minus 1
482, // fldYStop1 // num or rows plus 2
719, // fldXStop2 // num of cols -1
482, // fldYStop2 // num of rows +2
(720>>3), // thrld
0, // numFrmBufs (zero for normal FVID usage)
128, // alignment
VPORT_FLDS_MERGED, // mergeFlds
DDR2, // segId
TRUE, // autoSyncEnable
hEdma // hEdma from edma init
};
So it's pretty much the same it is on the EVM of the DM648 but the GIO_create always returns NULL. Can someone give me a clue what i'm missing?
Best regards
Dirk