cancel
Showing results for 
Search instead for 
Did you mean: 

How to move from a LTDC-DSI project working on a stm32F769 disco board to a 5 inch display using LTDC-MIPI and RGB 24 pin?

WScot.1
Associate II

Using a MIPI chip to replace the DSI functionality, I have removed DSI initialization, and configured LTDC for RGB 24 pin output, I have issues with LTDC initialization as it calls DSI? Also, in TouchGFX/target/STM32TouchController.cpp BSP_TS_Init makes calls to the driver ft6x06_ts_drv for the I2C sensor which I don't want? Is there some notes or a guide that would help me achieve this transition to a LTDC MIPI display?

1 ACCEPTED SOLUTION

Accepted Solutions

Hello Will,

Yes you need to signalVSync for the TouchGFX loop to be triggered. For this, you need to implement HAL_LTDC_LineEventCallback().

Please refer to the F746-DISCO Application Template (more specifically the TouchGFXGeneratedHAL.cpp). This should help you understand.

/Alexandre

View solution in original post

6 REPLIES 6
WScot.1
Associate II

Thanks, Will.

Alexandre RENOUX
Principal

Hello WScot.1,

MIPI does not mean anything. It's an organization for standardizing interfaces for the mobile industry.

DSI is MIPI, LTDC is not part of the standard from MIPI. So I'm not sure I understand what you are trying to do.

Are you trying to switch from a DSI interface to a simple LTDC interface ?

/Alexandre

WScot.1
Associate II

Hi Alexandre,

Thanks for your reply. Yes, we're trying to switch from DSI interface to a simple 24bit RGB LTDC interface which will drive a MIPI chip. In the TouchGFXHAL::taskEntry I've been removing the calls to __HAL_DSI_ENABLE_IT in enableLCDControllerInterrupt leaving __HAL_LTDC_ENABLE_IT and NVIC_EnableIRQ(LTDC_ER_IRQn) in enableInterrupts. It's then waiting for a 'waitForVSync' and I think I need to send this from LTDC_IRQHandler is this the correct approach?

Thanks Will.

Hello Will,

Yes you need to signalVSync for the TouchGFX loop to be triggered. For this, you need to implement HAL_LTDC_LineEventCallback().

Please refer to the F746-DISCO Application Template (more specifically the TouchGFXGeneratedHAL.cpp). This should help you understand.

/Alexandre

WScot.1
Associate II

Hi Alexandre,

Thanks very much for your help, that's helped me a lot. I set up a F746 project and used the code in TouchGFXGeneratedHAL.cpp as a guide. I've enabled HAL_LTDC_LineEventCallback() and the line interrupt in enableLCD_ControllerInterrupt(). signalVSync is now sent from HAL_LTDC_LineEventCallback(), so I now have Vsync and Hsync signals coming out. This is definitely a step forward for us.

Thanks again,

Will.

Hi Will,

Glad to hear it helped.

When your question is answered, please close this topic by choosing Select as Best.

/Alexandre