IMX7D MIPI Display

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX7D MIPI Display

1,021 Views
hellfire3456789
Contributor II

Hi, I've been trying to setup a MIPI display with Linux on a IMX7Dual Sabre development board and am running into some trouble. I'm using an ST7701 display driver as my chip, which I previously had working on a parallel interface on an IMX6UL. I have ported over all the initilisation parameters so they send using the MIPI interface rather than the SPI interface I was using before. However, when I read from the chip, it returns incorrect data (Reading the chip ID does not return what the data sheets states that it will). It does not time out however.

Looking at the driver (is mipi_dsi_samsung.c the correct driver?) there seems to be a lot magic numbers setting up the PLLs. Is there any need to modify these values for my use case? Is there any guidance as to what they should be?

I also notice the pixel format is hard coded as 24-bit, is there a need to change this to have it function correctly for a 16-bit display?

Thanks

Labels (1)
Tags (2)
4 Replies

931 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello Nick,

OV5647 mipi camera was verified on iMX7D board.

https://community.nxp.com/thread/395858

also one can use camera module from Boundary Devices

OV5640 Camera Module for i.MX6 boards 

As for documentation one can refer to Chapter 20 MIPI CSI2 Driver

of the  Linux reference Manual installed on your BSP documentation.

Also you need to change to 16 bit the pixel hardcoded.

Regards

0 Kudos

931 Views
hellfire3456789
Contributor II

I'm asking about the MIPI display driver, not camera driver.

0 Kudos

931 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Well, one can look at description of mipi drivers in Source Code Structure of the Linux Manual.

0 Kudos

931 Views
hellfire3456789
Contributor II

I have solved this problem, the LCDIF driver is buggy as it pulls the settings for the screen after it sets them, so any screen not using default clock values does not function correctly.

My solution was to move the call to mxsfb_dispdrv_init out of the probe function and into the mxsfb_init_fbinfo function. The MIPI display drivers are pretty poorly written in general, most things are hardcoded in instead of taking them from the settings structure.