AnsweredAssumed Answered

how to add a new panel with imx8mm evk ? I got some problem

Question asked by 凯 方 on Apr 8, 2019
Latest reply on Apr 9, 2019 by 凯 方

hi,

   I got a imx8mm evk board and a panel (MX8_DSI_OLED1).

   I have test the demo images , it works well.

   And I want to test my own lcd with the panel driver st7701s.And i made a connector board for it.

 

   steps:

   1. creat a driver file in kernel_imx\drivers\gpu\drm\panel, panel-sitronix-st7701s.c

 

    2. and add     obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7701S) += panel-sitronix-st7701s.o   

   in Makefile under kernel_imx\drivers\gpu\drm\panel

 

    3. then add : in Kconfig ,also under kernel_imx\drivers\gpu\drm\panel

               config DRM_PANEL_SITRONIX_ST7701S
                     tristate "Sitronix ST7701S panel"
                     depends on OF
                     depends on DRM_MIPI_DSI
                     depends on BACKLIGHT_CLASS_DEVICE
                     help
                        Say Y here if you want to enable support for Sitronix ST7701S
                        (480x640) DSI panel.

 

      4.add : in kernel_imx\arch\arm64\configs\android_defconfig

               CONFIG_DRM_PANEL_SITRONIX_ST7701S=y

 

      5. modify: line 131  in android_build\device\fsl\imx8m\evk_8mm\BoardConfig.mk

old :

            TARGET_BOARD_DTS_CONFIG ?= imx8mm:fsl-imx8mm-evk.dtb imx8mm-mipi-panel:fsl-imx8mm-evk-rm67191.dtb imx8mm-dsd:fsl-imx8mm-evk-ak4497.dtb imx8mm-m4:fsl-imx8mm-evk-m4.dtb

new:

 TARGET_BOARD_DTS_CONFIG ?= imx8mm:fsl-imx8mm-evk.dtb imx8mm-mipi-panel:fsl-imx8mm-evk-st7701s.dtb imx8mm-dsd:fsl-imx8mm-evk-ak4497.dtb imx8mm-m4:fsl-imx8mm-evk-m4.dtb

 

   6. creat a dts file for st7701s

            kernel_imx\arch\arm64\boot\dts\freescale\fsl-imx8mm-evk-st7701s.dts

 

 

make with no error ,but no display on the panel.

 

the driver file below may:

//dsi->mode_flags |= MIPI_DSI_MODE_LPM;

when I test it is set as LP Mode, and I can get the MIPI-D0+/-  signal well .But the signal is not correct,it is incomplete, even short writes.

 

I don't know why.

 

----------------------------

Then I test the rm67191(MX8_DSI_OLED1),and I find almost all the cmds is 2 bytes short write. 

why ?

 

would you pls send me the panel driver file of rm67191?(not the datasheet for the panel,I have got it)

 

there is some error while with more the 2 bytes .

As below it is 3 bytes(in file panel-raydium-rm67191.c),and the data really sent is all 0.

/* Set tear scanline */
ret = mipi_dsi_dcs_set_tear_scanline(dsi, 0x380);
if (ret < 0) {
DRM_DEV_ERROR(dev, "Failed to set tear scanline (%d)\n", ret);
goto fail;
}

 

would u please tell me ,the total steps of proting a new panel for imx8mm (android)?

 

 

 

 

 

         

Outcomes