2025-12-23 6:20 AM
I am trying to get my own DSI and LTDC code to run on STM32H757I-EVAL in preparation for custom hardware. In parallel, I am trying to get the example code to run (see this thread).
I've made some progress with my own code by reading AN4860 and following the steps "34.14 Programming procedure" in RM0399. I copied OTM8009A_init() from TouchGFX example code and adapted it to my code. I can successfully configure the panel and sending panel on/off commands has the desired effect.
When I step over OTM8009A_init(), the display shows blocks of noise (see image below). As soon as LTDCEN is set in LTDC_GCR, all LTDC register values change to 0x2220. Is this normal?
It never seems to read from my RAM buffer, and I never get anything else on the screen. I also find it strange that if the code is stopped just after CMCR is cleared, then the noise is not on the screen.
I've read many forums of DSI and LTDC issues, and clock timing seems to be one of the biggest culprits but I've double- and tripple- checked PLL3 and DSI PLL config, and it seems to be correct. My problem is that I do not know what to expect (given I do not have a working example yet), and I did not find any steps on what to check on DSI issues in the forums, so I thought that maybe if someone had some general debug advice, it may be good to have it here.
2025-12-23 9:47 AM
One important step you do , load init and set disp ON. Next is LTDC with internal RAM little framebuffer for example 100x100ps in left up corner. Full display stay one colour based on LTDC params. Between us DSI pattern generator hal calls to test DSI setings...