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.

720p PRGB panel interfacing suggestions

Hello everyone,

I have a LVDS display I'm trying to interface. The display is a 18 bits PRGB that runs at 69 to 76MHz, with a resolution of 1280x800. Apart from the huge mess connecting the LVDS transmitter in between the DM368 and the display is (that could qualify for a section in hell of it's own) I'm not sure of how to configure the DVSDK to output the required clock (to start with something doable).

Truth is, I don't know why or how, I got a really nice 74MHz clock the other day, thanks to some really nice configuration or kernel hacking, but I've since then changed something and I'm not able to go back on that status.

I've started with editing the logicpd_encoder.c file, adding my display and the details of it, verified that it was actually selected at boot and then started modifing davinci_platform.c to add support for my new VID_ENC_STD. Adding it like other low resolutions like VID_ENC_STD_640x480, and thus calling davinci_enc_set_prgb, works, and gives a really nice clock at something around 33MHz. However that's the only mode that works. I can't use some of the high-ish resolutions default functions, because the clock they initialise doesn't work.

I think to have read in the manual that for frequencies higher than 30MHz, other components of the DM368 are used to generate the clock. If so, do I need to edit the registers in the davinci_enc_set_prgb function and that's it, or are there better ways to do this?

Thank you,
Giovanni

  • Progress, I think. I was able to setup SYSCLK6 to 69MHz inside davinci_enc_set_prgb. That is the output clock, so I guess that VPSS_CLK_CTRL is already configured for using that clock. It doesn't work, naturally, but at least I can see progress. :)

    Now I'm trying to understand if the triangle/sine wave I'm getting from the clock is the only one possible, and/or if I need to get a square wave instead. Playing with some registers I was able to get a square wave at lower frequencies, but not at 30MHz or higher. I hope there is no hardware limitation I should be aware of (since that the manual states that an external clock input is needed for > 30MHz, so maybe the triangle/sinewave I got at 70MHz is not enough and to get a squarewave I need additional hardware).