I'm working with a MIMXRT1170-EVK board trying to create a driver for a MIPI LCD that is not 1 of the 3 that already have drivers in the SDK. I'm using the MIPI DSI Compliant Test as my project, I've modified the frame buffer in that to display a red, green, blue pattern on the LCD instead of a black, grey, white.
The LCD I'm trying to create a driver for is a Riverdi RVT70HSMNWC00-B, it's LCD driver is an EK79007AD3+EK73217BCGA. The pinouts are not the same between the EVK and the LCD so I have a breakout board so that the clock and data lanes are aligned, along with the 3.3V and GND, the anode and cathode for the LCD backlight is powered by an external DC power supply as the electrical characteristics for the Riverdi backlight are different than the Rocktech backlight.
The LCD is partially receiving commands properly, I'm able to set the LCD to display a Built-In Self Text (BIST) pattern perfectly fine. The BIST pattern doesn't use any of the data lanes or clocks, when I send the commands for the LCD to function in normal operation a bunch of static comes through (it looks like an old CRT tv on the wrong channel). Below I will add the files I've modified, along with the lines specific where I added stuff for my driver. If anyone has any light to shed on this it would be much appreciated, I'm at a loss right now.
The Riverdi LCD datasheet can be found here: https://riverdi.com/download/RVT70HSMNWC00-B/DS_RVT70HSMNWC00-B%20_Rev.1.0.pdf
In display_support.h:
- Lines 22-23: Added defines for screens.
- Lines 28-30: Define the panel being used.
- Lines 73-78: Added width and height of panel.
In display_support.c:
- Lines 17-19: Added conditional include for the EK97007AD3 controller.
- Lines 64-73: Defined the panel's timing characteristics (Back/Front Porch, Sync Pulses).
- Lines 188-206: Created structures for underlying MIPI DSI driver.
- Lines 311-312: Added divider for desired Pixel Clock Frequency.
- Lines 398-401: Added initialization of LCD panel.
In fsl_ek79007ad3.h:
- All of this was created from scratch using the drivers for the other panels as reference.
In fsl_ek79007ad3.c:
- All of this was created from scratch using the drivers for the other panels as reference.
- The initialization sequence is taken from the Riverdi initialization code from their datasheet.
Everything else is exactly the same as it is in the evkmimxrt1170_mipi_dsi_compliant_test_cm7 project from the SDK (SDK_2.x_MIMXRT1170-EVK (Version 2.11.1)).