Hello,
I am working through the dm6467 EVM VPIF user guide (spruer9d). Please help me understand raw mode. As I understand, raw mode is the ability to bypass the video support hardware and directly pass in data bit streams that are already in some desired form. In raw mode, the VPIF will not do any formating but more act as an especially fast DMA to SDRAM.
I beleive that to enable "raw mode" I set CH0_FORMAT and CH1_FORMAT bits in the CH0_CTRL/CH1_CTRL registers to 0x02 or 0x03. After which I need a mating connector to my EVM to directly connect to the VPIF signals. This connector would need to include the raw_h_valid and raw_v_valid signals.
Ok. Here are my questions:
1. What is the difference between setting the registers to 0x02 and 0x03 - the documentation is not clear.
2. Looking at the provided drivers for the vpif (vpif.c, vpif_capture.c etc) I see that this driver is intricately connected to the v4l2 driver. In raw mode, would I just need the v4l2 driver? In my simple mind, I think I should set the appropiate vpif registers to raw mode, set the start address and wait for the interrupt to retreive the data. But then I wonder, how will I receive the interrupt, how will I control the incrementing of the location is SDRAM and how do I retrieve the data from SDRAM. now I guess it is a bit more complicated.
3a. When will the VPIF know that the data stream is complete and to trigger a "frame interrupt". It says on page 36 that the VPIF just knows when the frame is done. Does it trigger a frame interrupt when both the raw_h_valid and raw_v_valid lines are inactive?
3b. What if I don't want to send the VPIF a data stream that is of standard size. For instance, I want to send 720*480 bytes with a small header of say 10 bytes. What will be the behavior then with horizontal lines technically shifted?
4. How best do you recommend to use the drivers that already exist to implement an application that can use this raw data mode?
Thanks so much!
Brandy