display driver for HX8394-A01

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

display driver for HX8394-A01

Jump to solution
1,711 Views
electronic15
Contributor III

We are working on a new product based on the i.mx8 processor which will run Android 10 and we are facing the challenge of making a driver for the display we have chosen for our new product. Actually, we are currently working with a development kit from Variscite and we want to validate the display before going on with the design of our hardware. This is the very first time we work we AOSP images. So far we have been able to compile the whole project (u-boot, kernel, device-tree, Android) and make some little changes to it like add a new apk to the image. But now, we want to change the display driver to use our own display and the thing is I am quite lost about where I should start and I would like to get some help or guidance. I know I have to modify the device tree to "declare" the new hardware but

  • How is the device tree related to the display drivers? Which dt files do I have to modify?
  • What functions my driver should expose to the kernel?
  • How do I tell the tool-chain what driver it has to compile? which mk file do I have to modify?
  • What about the hardware abstraction layer (HAL), do I have to introduce any change?

The display we have to test is a TFT MIPI 4 lanes and the controller is the HX8394-A01. Also, I have to make my own touch screen driver.

0 Kudos
1 Solution
1,688 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi,

 

The driver is at:

drveirs/video/fbdev/mxc/mipi_dsi.c MIPI DSI IP Frame buffer driver source file
drivers/video/fbdev/mxc/mipi_dsi.h MIPI DSI IP Frame bufferdriver header file
drivers/video/fbdev/mxc/mxcfb_hx8369_wvga.c MIPI DSI Frame bufferDisplay Panel driver source file
drivers/video/fbdev/mxc/mipi_dsi_samsung.c MIPI DSI Frame buffer Samsung source file
drivers/video/fbdev/mxc/mipi_dsi_northwest.c MIPI DSI Frame buffer Northwest source file

 

Regards

 

 

 

 

View solution in original post

0 Kudos
4 Replies
1,702 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello electronic15,

Your driver is not included in the current driver list of display supported, you will have to create you own driver, and modified your own device tree, we can see something on display sometimes in the following settings.

static const struct drm_display_mode default_mode = {
 .clock  = 63000,
 .vrefresh = 30,

 .hdisplay = 720,
 .hsync_start = 720 + 10,
 .hsync_end = 720 + 10 + 2,
 .htotal  = 720 + 10 + 2 + 86,

 .vdisplay = 1280,
 .vsync_start = 1280 + 8,
 .vsync_end = 1280 + 8 + 2,
 .vtotal  = 1280 + 8 + 2 + 14,
};

NXP doesn't use the DCS to communicate commands to MIPI-DSI bridge IC on DRM drivers. It uses i2c instead. So you need to make changes in i2c.  Also you have to modify the clock something like:

clk_byte_freq >= dpi_pclk_freq * DPI_pixel_size / ( 8 * (cfg_num_lanes + 1))
(more info see i.MX8M Reference Manual Rev0 page 5361)

After that you will ave to compile all android and see if your driver work.

Regards

 

0 Kudos
1,669 Views
electronic15
Contributor III

Dear Bio_TICFSL,

About your comment that the Display Command Set (DCS) is nor supported by the NXP drivers and that must be resolve by i2c.

- Does it mean that the i.mx8 mini hardware does not support DCS or it is just a matter of drivers? 

 As I said before, the display we have chosen has an HX8394-A01 controller which does not have i2c interface, it has just MIPI-DSI 4 lanes interface.

- Is there any way to communicate with this kind of controller directly?

- or Should I use some MIPI-DSI to MIPI-DSI bridge to achieve this?

I would like to understand this as well as possible because in case I have to choose another display.

Best regards, 

Gonzalo.

0 Kudos
1,695 Views
electronic15
Contributor III

Dear Bio_TICFSL,

Thank you for your help. Where can I consult which are the currently supported display? Maybe I can try a different approach and try to select a new display based on the availability of its driver.

Regards, 

Gonzalo. 

0 Kudos
1,689 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi,

 

The driver is at:

drveirs/video/fbdev/mxc/mipi_dsi.c MIPI DSI IP Frame buffer driver source file
drivers/video/fbdev/mxc/mipi_dsi.h MIPI DSI IP Frame bufferdriver header file
drivers/video/fbdev/mxc/mxcfb_hx8369_wvga.c MIPI DSI Frame bufferDisplay Panel driver source file
drivers/video/fbdev/mxc/mipi_dsi_samsung.c MIPI DSI Frame buffer Samsung source file
drivers/video/fbdev/mxc/mipi_dsi_northwest.c MIPI DSI Frame buffer Northwest source file

 

Regards

 

 

 

 

0 Kudos