-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
LTDC in video mode #1
Comments
You want to display video on the display? Note that in my code I have the display hold its last frame and I update it as needed. For video you want to tell the LTDC to auto-trigger the transfer from the LTDC output to the MIPI side. Per the data sheet your resolution is limited to the bandwidth of the MIPI interface. |
Yeah I know that you have to set explicitly the bit DSI_WCR_LTDCEN to update the display, and this is what happens in command mode. |
Ah got it. It is just math.
Assuming you're running the MIPI bus at 500MBs you would need to delay 245000 pixel clocks betwen "frames" to get an even 60Hz. Or you tell it to wait 245000 clocks between vertical syncs if you're sending all your data each frame starting on the vertical sync. Does that help? |
Ah got it. It is just math.
Assuming you're running the MIPI bus at 500MBs you would need to delay 245000 pixel clocks betwen "frames" to get an even 60Hz. Or you tell it to wait 245000 clocks between vertical syncs if you're sending all your data each frame starting on the vertical sync. Does that help? |
Interesting. So, doing some calculation, basically the timings should be chosen such that |
Yes sort of. Reading the documentation is seems that in video mode the screen update is triggered by the Vsync pulse, it doesn't have to meet any "timing" parameter exactly, rather when it pulses that is when the display switches to the current frame for its display. The horizontal sync pulses tell the display to start storing on the next line. It looks like you need at least 1 clock of hfp to allow the display to get its address adjusted before the next pixel comes in. Then if you count up the number of pixel clocks between the leading edge of vsyncs, that will be your equivalent refresh rate. I would not be surprised if you also needed a few clocks of vfp to allow the display to switch, and the address counters to reset to the start of the memory buffer. |
Hi,
I'm happy to have found this repository, because I'm also writing the configuration code for the LCD display of this board. It is working fine in command mode, but now I'm trying to make it work also in video mode (it seems that in command mode the maximum frame rate is quite low). However I can not find the right timings for the display (I found NOWHERE any datasheet of the equipped display). With some trial-and-error, the best I obtained is a working display with the right side still black and a strange black line on top of the display. Since you have already worked on this driver, do you have any idea on how to make it work properly also in video mode?
The text was updated successfully, but these errors were encountered: