2024-10-31 07:48 AM - edited 2024-10-31 07:51 AM
I have a custom board with a STM32H747 micro on board, interfacing with a LCD driven by OTM8009A over the MIPI DSI interface. I have taken the driver code from the DISCO eval board which I used to design and build my board. On calling OTM8009A_Init(), the first four write reg calls run fine - entering in command 2 mode and set EXTC to enable address shift function and entering ORISE command 2 and shifting the address to 0x80 - however, every write command after that fails with a timeout. The timeout appears to be generated by the command FIFO being full and not clearing.
Firstly, how likely is this to be down to a hardware error with the board itself?
Secondly, if it is more likely down to the hardware configuration in the micro, what should be the first thing to investigate? I have copied the CubeMX setup from the eval board demo that I had running.
Finally, what's the best way to debug the physical communications between the micro and screen on the DSI lines? What should I be looking for to indicate a hardware error?
EDIT:
The specifics of the issue do not change, even if the screen is disconnected! So there must first be a hardware problem to solve.