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.

DM355 Data through iPipe

Hello,

 

I am new to the dm355, but I have been learning a lot.  I am in uboot and I would like to verify the operation of each device.  I am able to download pictures in rgb565 and yuv422 mode and correctly display them on my 320x240 lcd screen. :-)  The vpbe seems to be working correctly.  :0)

I would like to get the vpfe working correctly.  I would like to verify video.  We have a leopardboard with a 5mp camera.  Now, I can set the syncen wen & vdhden to a memory location and I see raw data on my screen.  It is blurry and not in the right format...but that is expected.

Now, I turn off the wen bit and expect the data to go through the ipipe to transform the data to yuv422 format.  Either the ipipe is doing this and I'm not capturing the right memory location in RAM...or I'm not getting anything from the ipipe... :-/

I am following the vpfe instructions for ipipe initialization.  Please help...  Here are my uboot registers for the ccdc, and ipipe.

One question: The vpbe ocd registers for sdram are offset by 32...are the ipipe? (I've tried it both ways...but I would like an answer one way or the other).

Second Question: The data from the ipipe uses RSZ_SDR_SAD_H/L for the output of data even though the Resizer is turned off?

Thanks!

Tim Liebau

tliebau@visual-ii.com

CCDC Registers:

Leopard Board # md 1c70600
01c70600: 00000001 00000000 00000000 00000000    ................
01c70610: 00000000 00000000 00000000 000002cf    ................
01c70620: 00000000 00000000 000000ef 0000ffff    ................
01c70630: 000000ff 00000078 00000000 00000004    ....x...........
01c70640: 00005460 00000000 00000000 00000000    `T..............
01c70650: 00000000 00000000 00000000 00000080    ................
01c70660: 00000080 00000080 00000080 00000000    ................
01c70670: 00003fff 00000000 00000000 00000000    .?..............
01c70680: 00000000 00000000 00000040 00000000    ........@.......
01c70690: 00000000 00000000 00000000 00000000    ................
01c706a0: 00000000 00000000 00000000 00000000    ................
01c706b0: 00000000 00000000 00000000 00000000    ................
01c706c0: 00000000 00000000 00000000 00000000    ................
01c706d0: 00000000 00000000 00000000 00000000    ................
01c706e0: 00000000 00000000 00000000 00000000    ................
01c706f0: 00000000 00000000 0000000e 00000000    ................
Leopard Board #
01c70700: 00000000 00000000 00000000 00000000    ................
01c70710: 00000000 00000000 00000000 00000000    ................
01c70720: 00000000 00000000 00000000 00000000    ................
01c70730: 00000000 00000000 00000000 00000000    ................
01c70740: 00000000 00000000 00000000 00000000    ................
01c70750: 00000000 00000000 00000000 00000000    ................
01c70760: 00000000 00000000 00000000 00000000    ................
01c70770: 00000000 00000000 00000000 00000000    ................
01c70780: 00000000 00000000 00000000 00000000    ................
01c70790: 00000000 00000000 00000000 00000000    ................
01c707a0: 00000000 00000000 00000000 00000000    ................
01c707b0: 00000000 00000000 00000000 00000000    ................
01c707c0: 00000000 00000000 00000000 00000000    ................
01c707d0: 00000000 00000000 00000000 00000000    ................
01c707e0: 00000000 00000000 00000000 00000000    ................
01c707f0: 00000000 00000000 00000000 00000000    ................
Leopard Board #

IPipe Registers:

Leopard Board # md 1c71000
01c71000: 00000001 00000000 00000002 000000e4    ................
01c71010: 00000000 00000001 00000000 00000001    ................
01c71020: 00000000 00000001 00000007 00000000    ................
01c71030: 00008010 00000000 00000000 00000000    ................
01c71040: 00000002 00001fff 00001fff 00000000    ................
01c71050: 00000000 00000000 00000000 00000000    ................
01c71060: 00000000 00000000 00000000 00000000    ................
01c71070: 00000000 00000000 00000000 00000000    ................
01c71080: 00000000 00000000 00000000 00000000    ................
01c71090: 00000000 00000000 00000000 00000000    ................
01c710a0: 00000000 00000000 00000000 00000000    ................
01c710b0: 00000000 00000000 00000000 00000000    ................
01c710c0: 00000000 00000000 00000000 00000000    ................
01c710d0: 00000000 00000000 00000000 00000000    ................
01c710e0: 00000000 00000000 00000000 00000000    ................
01c710f0: 00000000 00000000 00000000 00000000    ................
Leopard Board #
01c71100: 00000000 00000000 00000000 00000000    ................
01c71110: 00000000 00000000 00000000 00000000    ................
01c71120: 00000000 00000000 00000000 00000000    ................
01c71130: 00000000 00000000 00000000 00000000    ................
01c71140: 00000000 00000000 00000000 00000000    ................
01c71150: 00000000 00000000 00000000 00000000    ................
01c71160: 00000000 00000000 00000000 00000000    ................
01c71170: 00000000 00000000 00000000 00000000    ................
01c71180: 00000100 00000080 00000080 00000080    ................
01c71190: 00000080 00000000 00000000 00000001    ................
01c711a0: 00000001 00000000 00000000 00000001    ................
01c711b0: 00000020 00000000 00000000 00000020     ........... ...
01c711c0: 00000008 00000020 00000010 00000020    .... ....... ...
01c711d0: 00000018 00000020 00000008 00000020    .... ....... ...
01c711e0: 00000008 00000020 00000010 00000020    .... ....... ...
01c711f0: 00000008 00000100 00000000 00000000    ................
Leopard Board #
01c71200: 00000000 00000100 00000000 00000000    ................
01c71210: 00000000 00000100 00000000 00000000    ................
01c71220: 00000000 00000067 00000010 0000004d    ....g.......M...
01c71230: 00000096 0000001d 000003d5 000003ab    ................
01c71240: 00000080 00000080 00000395 000003eb    ................
01c71250: 00000000 00000080 00000080 00000000    ................
01c71260: 000000ff 00000000 000000ff 00000000    ................
01c71270: 00000000 00000000 00000000 00000000    ................
01c71280: 00000000 00000000 00000000 00000000    ................
01c71290: 00000000 00000000 00000000 00000000    ................
01c712a0: 00000000 00000000 00000000 00000000    ................
01c712b0: 00000000 00000000 00000000 00000000    ................
01c712c0: 00000000 00000000 00000000 00000000    ................
01c712d0: 00000000 00000000 00000001 00000000    ................
01c712e0: 00000001 00000000 00000000 00000100    ................
01c712f0: 00000000 00000000 00000100 00000000    ................
Leopard Board #
01c71300: 00000000 00000000 00000000 00000000    ................
01c71310: 00000000 00000000 00000000 0000008a    ................
01c71320: 00008c00 00000000 00000000 00001fff    ................
01c71330: 00000000 00000000 00000000 00000000    ................
01c71340: 00000000 00000000 00000001 00000000    ................
01c71350: 00000001 00000000 00000000 00000100    ................
01c71360: 00000000 00000000 00000100 00000000    ................
01c71370: 00000000 00000000 00000000 00000000    ................
01c71380: 00000000 00000000 00000000 00000000    ................
01c71390: 00000000 00000000 00000000 00001fff    ................
01c713a0: 00000000 00000001 00000000 00000000    ................
01c713b0: 00000000 00000000 00000000 00000000    ................
01c713c0: 00000000 00000000 00000001 00000000    ................
01c713d0: 00000001 00000000 00000001 00000000    ................
01c713e0: 00000001 00000000 00000001 00000000    ................
01c713f0: 00000001 00000000 00000001 00000000    ................
Leopard Board #
01c71400: 00000001

  • You can think of our video pipeline (which includes IPIPE) as an assembly line where there are a few work-stations (CCD capture, previewer, resizer, OSD), each of these blocks can be enabled or bypassed.  In addition, each can pass data to the next block in the pipeline directly or via SDRAM; if data is passed thru SDRAM, then yes 32 bytes offsets are enforced; this is because the built-in DMA engine (not to be confused with EDMA hardware) which carries data to/from these video processing blocks transfers 32 bytes at a time.

    That said, the previewer block is what actually converts the pixel format to YCbCr 422; therefore, if the previewer is enabled (I do not believe WEN bit does this), you can to take a look at the SDRAM address the previewer writes to.  If the Previewer does not write data to SDRAM, but passes it directly to resizer instead, then resizer would have to be enabled to process the data and then you would look at the output of resizer (which seems like you are doing, except that resizer is disabled in your case).

    Let me know if this helps clear things up.