Browse Source

[bsp][imxrt1170] 移动 VGLite、video驱动文件到对应文件夹以提高代码可重用性 (#8092)

Frogrey 1 year ago
parent
commit
61e38bd13d
89 changed files with 363 additions and 217 deletions
  1. 7 1
      bsp/imxrt/imxrt1170-nxp-evk/m7/.config
  2. 41 36
      bsp/imxrt/imxrt1170-nxp-evk/m7/board/Kconfig
  3. 3 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/board/SConscript
  4. 5 5
      bsp/imxrt/imxrt1170-nxp-evk/m7/board/board.c
  5. 55 61
      bsp/imxrt/imxrt1170-nxp-evk/m7/board/display_support.c
  6. 44 44
      bsp/imxrt/imxrt1170-nxp-evk/m7/board/display_support.h
  7. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/board/vglite_support.c
  8. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/board/vglite_support.h
  9. 2 3
      bsp/imxrt/imxrt1170-nxp-evk/m7/board/vglite_window.c
  10. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/board/vglite_window.h
  11. 2 2
      bsp/imxrt/imxrt1170-nxp-evk/m7/project.ewp
  12. 38 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/SConscript
  13. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/elcdif/fsl_dc_fb_elcdif.c
  14. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/elcdif/fsl_dc_fb_elcdif.h
  15. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/fsl_dc_fb.h
  16. 2 2
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.c
  17. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.h
  18. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/fbdev/fsl_fbdev.c
  19. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/fbdev/fsl_fbdev.h
  20. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/fsl_display.h
  21. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/hx8394/fsl_hx8394.c
  22. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/hx8394/fsl_hx8394.h
  23. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.c
  24. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.h
  25. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68191/fsl_rm68191.c
  26. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68191/fsl_rm68191.h
  27. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68200/fsl_rm68200.c
  28. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68200/fsl_rm68200.h
  29. 2 2
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/fsl_video_common.c
  30. 0 0
      bsp/imxrt/imxrt1170-nxp-evk/m7/video/fsl_video_common.h
  31. 4 56
      bsp/imxrt/libraries/MIMXRT1170/SConscript
  32. 19 1
      bsp/imxrt/libraries/drivers/SConscript
  33. 116 0
      bsp/imxrt/libraries/drivers/drv_lcd_mipi.c
  34. 19 0
      bsp/imxrt/libraries/drivers/drv_lcd_mipi.h
  35. 1 1
      bsp/imxrt/libraries/drivers/vglite/VGLite/rtos/vg_lite_os.c
  36. 0 0
      bsp/imxrt/libraries/drivers/vglite/VGLite/rtos/vg_lite_os.h
  37. 0 0
      bsp/imxrt/libraries/drivers/vglite/VGLite/vg_lite.c
  38. 0 0
      bsp/imxrt/libraries/drivers/vglite/VGLite/vg_lite_flat.c
  39. 0 0
      bsp/imxrt/libraries/drivers/vglite/VGLite/vg_lite_flat.h
  40. 0 0
      bsp/imxrt/libraries/drivers/vglite/VGLite/vg_lite_image.c
  41. 0 0
      bsp/imxrt/libraries/drivers/vglite/VGLite/vg_lite_matrix.c
  42. 0 0
      bsp/imxrt/libraries/drivers/vglite/VGLite/vg_lite_path.c
  43. 0 0
      bsp/imxrt/libraries/drivers/vglite/VGLiteKernel/rtos/vg_lite_hal.c
  44. 0 0
      bsp/imxrt/libraries/drivers/vglite/VGLiteKernel/rtos/vg_lite_platform.h
  45. 0 0
      bsp/imxrt/libraries/drivers/vglite/VGLiteKernel/vg_lite_hw.h
  46. 0 0
      bsp/imxrt/libraries/drivers/vglite/VGLiteKernel/vg_lite_kernel.c
  47. 0 0
      bsp/imxrt/libraries/drivers/vglite/VGLiteKernel/vg_lite_kernel.h
  48. 0 0
      bsp/imxrt/libraries/drivers/vglite/elementary/inc/Elm.h
  49. 0 0
      bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_buffer.c
  50. 0 0
      bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_draw.c
  51. 0 0
      bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_headers.h
  52. 0 0
      bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_init.c
  53. 0 0
      bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_object.c
  54. 0 0
      bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_os.c
  55. 0 0
      bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_os.h
  56. 0 0
      bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_precom.h
  57. 0 0
      bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_text.c
  58. 0 0
      bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_text.h
  59. 0 0
      bsp/imxrt/libraries/drivers/vglite/elementary/src/velm.h
  60. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/buf_reader.c
  61. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/buf_reader.h
  62. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/fonts.h
  63. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mcufont.h
  64. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_bwfont.c
  65. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_bwfont.h
  66. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_config.h
  67. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_encoding.c
  68. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_encoding.h
  69. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_font.c
  70. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_font.h
  71. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_justify.c
  72. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_justify.h
  73. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_kerning.c
  74. 3 3
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_kerning.h
  75. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_rlefont.c
  76. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_rlefont.h
  77. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_scaledfont.c
  78. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_scaledfont.h
  79. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_wordwrap.c
  80. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_wordwrap.h
  81. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/rle_font_read.c
  82. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/vft_debug.c
  83. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/vft_debug.h
  84. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/vft_draw.c
  85. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/vft_draw.h
  86. 0 0
      bsp/imxrt/libraries/drivers/vglite/font/vg_lite_text.c
  87. 0 0
      bsp/imxrt/libraries/drivers/vglite/inc/vg_lite.h
  88. 0 0
      bsp/imxrt/libraries/drivers/vglite/inc/vg_lite_hal.h
  89. 0 0
      bsp/imxrt/libraries/drivers/vglite/inc/vg_lite_text.h

+ 7 - 1
bsp/imxrt/imxrt1170-nxp-evk/m7/.config

@@ -1012,6 +1012,7 @@ CONFIG_SOC_IMXRT1170_SERIES=y
 #
 CONFIG_BSP_USING_QSPIFLASH=y
 CONFIG_SOC_MIMXRT1176DVMAA=y
+# CONFIG_BSP_USING_LCD_MIPI is not set
 
 #
 # On-chip Peripheral Drivers
@@ -1028,7 +1029,6 @@ CONFIG_BSP_USING_LPUART1=y
 # CONFIG_BSP_USING_LPUART3 is not set
 # CONFIG_BSP_USING_CAN is not set
 # CONFIG_BSP_USING_FLEXSPI is not set
-# CONFIG_BSP_USING_VGLITE is not set
 
 #
 # Onboard Peripheral Drivers
@@ -1036,6 +1036,12 @@ CONFIG_BSP_USING_LPUART1=y
 # CONFIG_BSP_USING_SDRAM is not set
 # CONFIG_BSP_USING_ETH is not set
 # CONFIG_BSP_USING_FS is not set
+# CONFIG_BSP_USING_VGLITE is not set
+# CONFIG_DISPLAY_USING_RK055AHD091 is not set
+# CONFIG_DISPLAY_USING_RK055IQH091 is not set
+# CONFIG_DISPLAY_USING_RK055MHD091 is not set
+# CONFIG_BSP_USING_ELCDIF is not set
+# CONFIG_BSP_USING_LCDIFV2 is not set
 
 #
 # Board extended module Drivers

+ 41 - 36
bsp/imxrt/imxrt1170-nxp-evk/m7/board/Kconfig

@@ -12,6 +12,10 @@ config SOC_MIMXRT1176DVMAA
     select RT_USING_USER_MAIN
     default y
 
+config BSP_USING_LCD_MIPI
+    bool
+    default n
+
 menu "On-chip Peripheral Drivers"
 
     config BSP_USING_DMA
@@ -141,42 +145,6 @@ menu "On-chip Peripheral Drivers"
                     bool "Enable FLEXSPI2"
                     default n
             endif
-			
-    menuconfig BSP_USING_VGLITE
-        bool "Enable VGLITE"
-        select RT_USING_PIN
-        default n
-		
-		if BSP_USING_VGLITE
-			choice
-				prompt "Select lcd panel"
-				default VGLITE_USING_RK055AHD091
-				
-				config VGLITE_USING_RK055AHD091
-					bool "RK055AHD091-CTG (RK055HDMIPI4M 720 * 1280)"
-					
-				config VGLITE_USING_RK055IQH091
-					bool "RK055IQH091-CTG (540 * 960)"
-					
-				config VGLITE_USING_RK055MHD091
-					bool "RK055MHD091A0-CTG (RK055HDMIPI4MA0 720 * 1280)"
-			endchoice
-			
-			choice
-				prompt "Select display controller"
-				default VGLITE_USING_LCDIFV2
-				
-				config VGLITE_USING_ELCDIF
-					bool "ELCDIF"
-				
-				config VGLITE_USING_LCDIFV2
-					bool "LCDIFV2"
-			endchoice
-
-			config VGLITE_USING_ELM
-			bool "Enable Elementary"
-			default y
-		endif
 endmenu
 
 menu "Onboard Peripheral Drivers"
@@ -259,6 +227,43 @@ menu "Onboard Peripheral Drivers"
                 default n
         endif
 
+    menuconfig BSP_USING_VGLITE
+        bool "Enable VGLite"
+        select RT_USING_PIN
+        select BSP_USING_LCD_MIPI
+        default n
+
+        if BSP_USING_VGLITE
+            choice
+                prompt "Select display panel"
+                default DISPLAY_USING_RK055AHD091
+                
+                config DISPLAY_USING_RK055AHD091
+                    bool "RK055AHD091-CTG (RK055HDMIPI4M 720 * 1280)"
+                    
+                config DISPLAY_USING_RK055IQH091
+                    bool "RK055IQH091-CTG (540 * 960)"
+                    
+                config DISPLAY_USING_RK055MHD091
+                    bool "RK055MHD091A0-CTG (RK055HDMIPI4MA0 720 * 1280)"
+            endchoice
+
+            choice
+                prompt "Select display controller"
+                default BSP_USING_LCDIFV2
+                
+                config BSP_USING_ELCDIF
+                    bool "ELCDIF"
+                
+                config BSP_USING_LCDIFV2
+                    bool "LCDIFV2"
+            endchoice
+
+            config VGLITE_USING_ELM
+            bool "Enable Elementary"
+            default y
+        endif
+
 endmenu
 
 menu "Board extended module Drivers"

+ 3 - 0
bsp/imxrt/imxrt1170-nxp-evk/m7/board/SConscript

@@ -10,6 +10,9 @@ MCUX_Config/clock_config.c
 MCUX_Config/pin_mux.c
 """)
 
+if GetDepend(['BSP_USING_VGLITE']):
+    src += ['display_support.c', 'vglite_support.c', 'vglite_window.c']
+
 CPPPATH = [cwd,cwd + '/MCUX_Config',cwd + '/ports']
 CPPDEFINES = ['CPU_MIMXRT1176DVMAA_cm7', 'XIP_BOOT_HEADER_ENABLE=1', 'XIP_BOOT_HEADER_DCD_ENABLE=1', 'FSL_SDK_ENABLE_DRIVER_CACHE_CONTROL=1','XIP_EXTERNAL_FLASH=1','ARM_MATH_CM7','USE_SDRAM']
 

+ 5 - 5
bsp/imxrt/imxrt1170-nxp-evk/m7/board/board.c

@@ -1315,10 +1315,10 @@ void imxrt_flexspi_pins_init(void)
 }
 #endif
 
-#ifdef BSP_USING_VGLITE
-void imxrt_lcd_pins_init(void)
+#ifdef BSP_USING_LCD_MIPI
+void imxrt_mipi_dsi_pins_init(void)
 {
-#ifdef BSP_USING_VGLITE
+#ifdef BSP_USING_LCD_MIPI
     CLOCK_EnableClock(kCLOCK_Iomuxc); /* LPCG on: LPCG is ON. */
 
     IOMUXC_SetPinMux(
@@ -1379,8 +1379,8 @@ void rt_hw_board_init()
     imxrt_flexspi_pins_init();
 #endif
 
-#ifdef BSP_USING_VGLITE
-    imxrt_lcd_pins_init();
+#ifdef BSP_USING_LCD_MIPI
+    imxrt_mipi_dsi_pins_init();
 #endif
 }
 

+ 55 - 61
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/display_support.c → bsp/imxrt/imxrt1170-nxp-evk/m7/board/display_support.c

@@ -50,7 +50,7 @@ const MIPI_DSI_Type g_mipiDsi = {
     .dphy = DSI_HOST_DPHY_INTFC,
 };
 
-#if defined(VGLITE_USING_RK055AHD091)
+#if defined(DISPLAY_USING_RK055AHD091)
 
 static mipi_dsi_device_t dsiDevice = {
     .virtualChannel = 0,
@@ -68,7 +68,7 @@ static display_handle_t rm68200Handle = {
     .ops      = &rm68200_ops,
 };
 
-#elif defined(VGLITE_USING_RK055MHD091)
+#elif defined(DISPLAY_USING_RK055MHD091)
 
 static mipi_dsi_device_t dsiDevice = {
     .virtualChannel = 0,
@@ -86,7 +86,7 @@ static display_handle_t hx8394Handle = {
     .ops      = &hx8394_ops,
 };
 
-#else
+#elif defined(DISPLAY_USING_RK055IQH091)
 
 static mipi_dsi_device_t dsiDevice = {
     .virtualChannel = 0,
@@ -106,20 +106,19 @@ static display_handle_t rm68191Handle = {
 
 #endif
 
-#if defined(VGLITE_USING_LCDIFV2)
-
+#if defined(BSP_USING_LCDIFV2)
 static dc_fb_lcdifv2_handle_t s_dcFbLcdifv2Handle = {0};
 
 static const dc_fb_lcdifv2_config_t s_dcFbLcdifv2Config = {
     .lcdifv2       = DEMO_LCDIF,
-    .width         = LCD_WIDTH,
-    .height        = LCD_HEIGHT,
-    .hsw           = LCD_HSW,
-    .hfp           = LCD_HFP,
-    .hbp           = LCD_HBP,
-    .vsw           = LCD_VSW,
-    .vfp           = LCD_VFP,
-    .vbp           = LCD_VBP,
+    .width         = LCD_MIPI_WIDTH,
+    .height        = LCD_MIPI_HEIGHT,
+    .hsw           = LCD_MIPI_HSW,
+    .hfp           = LCD_MIPI_HFP,
+    .hbp           = LCD_MIPI_HBP,
+    .vsw           = LCD_MIPI_VSW,
+    .vfp           = LCD_MIPI_VFP,
+    .vbp           = LCD_MIPI_VBP,
     .polarityFlags = DEMO_LCDIF_POL_FLAGS,
     .lineOrder     = kLCDIFV2_LineOrderRGB,
 /* CM4 is domain 1, CM7 is domain 0. */
@@ -136,20 +135,20 @@ const dc_fb_t g_dc = {
     .config  = &s_dcFbLcdifv2Config,
 };
 
-#else
+#elif defined(BSP_USING_ELCDIF)
 
 dc_fb_elcdif_handle_t s_dcFbElcdifHandle = {0}; /* The handle must be initialized to 0. */
 
 const dc_fb_elcdif_config_t s_dcFbElcdifConfig = {
     .elcdif        = DEMO_LCDIF,
-    .width         = LCD_WIDTH,
-    .height        = LCD_HEIGHT,
-    .hsw           = LCD_HSW,
-    .hfp           = LCD_HFP,
-    .hbp           = LCD_HBP,
-    .vsw           = LCD_VSW,
-    .vfp           = LCD_VFP,
-    .vbp           = LCD_VBP,
+    .width         = LCD_MIPI_WIDTH,
+    .height        = LCD_MIPI_HEIGHT,
+    .hsw           = LCD_MIPI_HSW,
+    .hfp           = LCD_MIPI_HFP,
+    .hbp           = LCD_MIPI_HBP,
+    .vsw           = LCD_MIPI_VSW,
+    .vfp           = LCD_MIPI_VFP,
+    .vbp           = LCD_MIPI_VBP,
     .polarityFlags = DEMO_LCDIF_POL_FLAGS,
 #if (!DEMO_USE_XRGB8888) && (DEMO_USE_LUT8)
     .dataBus       = kELCDIF_DataBus8Bit,
@@ -195,7 +194,7 @@ static void BOARD_PullPanelPowerPin(bool pullUp)
 
 static status_t BOARD_DSI_Transfer(dsi_transfer_t *xfer)
 {
-    return DSI_TransferBlocking(DEMO_MIPI_DSI, xfer);
+    return DSI_TransferBlocking(DEMO_LCD_MIPI, xfer);
 }
 
 static void BOARD_InitLcdifClock(void)
@@ -209,19 +208,19 @@ static void BOARD_InitLcdifClock(void)
     const clock_root_config_t lcdifClockConfig = {
         .clockOff = false,
         .mux      = 4, /*!< PLL_528. */
-#if (defined(VGLITE_USING_RK055AHD091) || defined(VGLITE_USING_RK055MHD091))
+#if (defined(DISPLAY_USING_RK055AHD091) || defined(DISPLAY_USING_RK055MHD091))
         .div = 9,
-#else
+#elif defined(DISPLAY_USING_RK055IQH091)
         .div = 15,
 #endif
     };
 
-#if defined(VGLITE_USING_LCDIFV2)
+#if defined(BSP_USING_LCDIFV2)
     CLOCK_SetRootClock(kCLOCK_Root_Lcdifv2, &lcdifClockConfig);
 
     mipiDsiDpiClkFreq_Hz = CLOCK_GetRootClockFreq(kCLOCK_Root_Lcdifv2);
 
-#else
+#elif defined(BSP_USING_ELCDIF)
 
     CLOCK_SetRootClock(kCLOCK_Root_Lcdif, &lcdifClockConfig);
 
@@ -273,30 +272,26 @@ static status_t BOARD_InitLcdPanel(void)
     const gpio_pin_config_t pinConfig = {kGPIO_DigitalOutput, 0, kGPIO_NoIntmode};
 
     const display_config_t displayConfig = {
-        .resolution   = FSL_VIDEO_RESOLUTION(LCD_WIDTH, LCD_HEIGHT),
-        .hsw          = LCD_HSW,
-        .hfp          = LCD_HFP,
-        .hbp          = LCD_HBP,
-        .vsw          = LCD_VSW,
-        .vfp          = LCD_VFP,
-        .vbp          = LCD_VBP,
+        .resolution   = FSL_VIDEO_RESOLUTION(LCD_MIPI_WIDTH, LCD_MIPI_HEIGHT),
+        .hsw          = LCD_MIPI_HSW,
+        .hfp          = LCD_MIPI_HFP,
+        .hbp          = LCD_MIPI_HBP,
+        .vsw          = LCD_MIPI_VSW,
+        .vfp          = LCD_MIPI_VFP,
+        .vbp          = LCD_MIPI_VBP,
         .controlFlags = 0,
-        .dsiLanes     = DEMO_MIPI_DSI_LANE_NUM,
+        .dsiLanes     = DEMO_LCD_MIPI_LANE_NUM,
     };
 
     GPIO_PinInit(BOARD_MIPI_PANEL_POWER_GPIO, BOARD_MIPI_PANEL_POWER_PIN, &pinConfig);
     GPIO_PinInit(BOARD_MIPI_PANEL_BL_GPIO, BOARD_MIPI_PANEL_BL_PIN, &pinConfig);
     GPIO_PinInit(BOARD_MIPI_PANEL_RST_GPIO, BOARD_MIPI_PANEL_RST_PIN, &pinConfig);
 
-#if defined(VGLITE_USING_RK055AHD091)
+#if defined(DISPLAY_USING_RK055AHD091)
     status = RM68200_Init(&rm68200Handle, &displayConfig);
-
-#elif defined(VGLITE_USING_RK055MHD091)
-
+#elif defined(DISPLAY_USING_RK055MHD091)
     status = HX8394_Init(&hx8394Handle, &displayConfig);
-
-#else
-
+#elif defined(DISPLAY_USING_RK055IQH091)
     status = RM68191_Init(&rm68191Handle, &displayConfig);
 #endif
 
@@ -313,18 +308,18 @@ static void BOARD_SetMipiDsiConfig(void)
     dsi_config_t dsiConfig;
     dsi_dphy_config_t dphyConfig;
 
-    const dsi_dpi_config_t dpiConfig = {.pixelPayloadSize = LCD_WIDTH,
+    const dsi_dpi_config_t dpiConfig = {.pixelPayloadSize = LCD_MIPI_WIDTH,
                                         .dpiColorCoding   = kDSI_Dpi24Bit,
                                         .pixelPacket      = kDSI_PixelPacket24Bit,
                                         .videoMode        = kDSI_DpiBurst,
                                         .bllpMode         = kDSI_DpiBllpLowPower,
                                         .polarityFlags    = kDSI_DpiVsyncActiveLow | kDSI_DpiHsyncActiveLow,
-                                        .hfp              = LCD_HFP,
-                                        .hbp              = LCD_HBP,
-                                        .hsw              = LCD_HSW,
-                                        .vfp              = LCD_VFP,
-                                        .vbp              = LCD_VBP,
-                                        .panelHeight      = LCD_HEIGHT,
+                                        .hfp              = LCD_MIPI_HFP,
+                                        .hbp              = LCD_MIPI_HBP,
+                                        .hsw              = LCD_MIPI_HSW,
+                                        .vfp              = LCD_MIPI_VFP,
+                                        .vbp              = LCD_MIPI_VBP,
+                                        .panelHeight      = LCD_MIPI_HEIGHT,
                                         .virtualChannel   = 0};
 
     /*
@@ -337,11 +332,11 @@ static void BOARD_SetMipiDsiConfig(void)
      * dsiConfig.btaTo_ByteClk = 0;
      */
     DSI_GetDefaultConfig(&dsiConfig);
-    dsiConfig.numLanes       = DEMO_MIPI_DSI_LANE_NUM;
+    dsiConfig.numLanes       = DEMO_LCD_MIPI_LANE_NUM;
     dsiConfig.autoInsertEoTp = true;
 
     /* Init the DSI module. */
-    DSI_Init(DEMO_MIPI_DSI, &dsiConfig);
+    DSI_Init(DEMO_LCD_MIPI, &dsiConfig);
 
     /* Init DPHY.
      *
@@ -355,26 +350,26 @@ static void BOARD_SetMipiDsiConfig(void)
      *
      * Note that the DSI output pixel is 24bit per pixel.
      */
-    mipiDsiDphyBitClkFreq_Hz = mipiDsiDpiClkFreq_Hz * (24 / DEMO_MIPI_DSI_LANE_NUM);
+    mipiDsiDphyBitClkFreq_Hz = mipiDsiDpiClkFreq_Hz * (24 / DEMO_LCD_MIPI_LANE_NUM);
 
     mipiDsiDphyBitClkFreq_Hz = DEMO_MIPI_DPHY_BIT_CLK_ENLARGE(mipiDsiDphyBitClkFreq_Hz);
 
     DSI_GetDphyDefaultConfig(&dphyConfig, mipiDsiDphyBitClkFreq_Hz, mipiDsiTxEscClkFreq_Hz);
 
-    mipiDsiDphyBitClkFreq_Hz = DSI_InitDphy(DEMO_MIPI_DSI, &dphyConfig, mipiDsiDphyRefClkFreq_Hz);
+    mipiDsiDphyBitClkFreq_Hz = DSI_InitDphy(DEMO_LCD_MIPI, &dphyConfig, mipiDsiDphyRefClkFreq_Hz);
 
     /* Init DPI interface. */
-    DSI_SetDpiConfig(DEMO_MIPI_DSI, &dpiConfig, DEMO_MIPI_DSI_LANE_NUM, mipiDsiDpiClkFreq_Hz, mipiDsiDphyBitClkFreq_Hz);
+    DSI_SetDpiConfig(DEMO_LCD_MIPI, &dpiConfig, DEMO_LCD_MIPI_LANE_NUM, mipiDsiDpiClkFreq_Hz, mipiDsiDphyBitClkFreq_Hz);
 }
 
 status_t BOARD_InitDisplayInterface(void)
 {
     CLOCK_EnableClock(kCLOCK_Video_Mux);
 
-#if defined(VGLITE_USING_LCDIFV2)
+#if defined(BSP_USING_LCDIFV2)
     /* LCDIF v2 output to MIPI DSI. */
     VIDEO_MUX->VID_MUX_CTRL.SET = VIDEO_MUX_VID_MUX_CTRL_MIPI_DSI_SEL_MASK;
-#else
+#elif defined(BSP_USING_ELCDIF)
     /* ELCDIF output to MIPI DSI. */
     VIDEO_MUX->VID_MUX_CTRL.CLR = VIDEO_MUX_VID_MUX_CTRL_MIPI_DSI_SEL_MASK;
 #endif
@@ -405,12 +400,12 @@ status_t BOARD_InitDisplayInterface(void)
     return BOARD_InitLcdPanel();
 }
 
-#if defined(VGLITE_USING_LCDIFV2)
+#if defined(BSP_USING_LCDIFV2)
 void LCDIFv2_IRQHandler(void)
 {
     DC_FB_LCDIFV2_IRQHandler(&g_dc);
 }
-#else
+#elif defined(BSP_USING_ELCDIF)
 void eLCDIF_IRQHandler(void)
 {
     DC_FB_ELCDIF_IRQHandler(&g_dc);
@@ -449,7 +444,6 @@ status_t BOARD_PrepareDisplayController(void)
 
     if (status != kStatus_Success)
     {
-        // PRINTF("Error: Invalid display clock source.\r\n");
         return status;
     }
 
@@ -459,11 +453,11 @@ status_t BOARD_PrepareDisplayController(void)
 
     if (kStatus_Success == status)
     {
-#if defined(VGLITE_USING_LCDIFV2)
+#if defined(BSP_USING_LCDIFV2)
         NVIC_ClearPendingIRQ(LCDIFv2_IRQn);
         NVIC_SetPriority(LCDIFv2_IRQn, 3);
         EnableIRQ(LCDIFv2_IRQn);
-#else
+#elif defined(BSP_USING_ELCDIF)
         NVIC_ClearPendingIRQ(eLCDIF_IRQn);
         NVIC_SetPriority(eLCDIF_IRQn, 3);
         EnableIRQ(eLCDIF_IRQn);

+ 44 - 44
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/display_support.h → bsp/imxrt/imxrt1170-nxp-evk/m7/board/display_support.h

@@ -12,11 +12,11 @@
 
 #include "fsl_dc_fb.h"
 
-#if defined(VGLITE_USING_RK055AHD091)
+#if defined(DISPLAY_USING_RK055AHD091)
 #include "fsl_rm68200.h"
-#elif defined(VGLITE_USING_RK055IQH091)
+#elif defined(DISPLAY_USING_RK055IQH091)
 #include "fsl_rm68191.h"
-#elif defined(VGLITE_USING_RK055MHD091)
+#elif defined(DISPLAY_USING_RK055MHD091)
 #include "fsl_hx8394.h"
 #else
 #error "Please config lcd panel parameters."
@@ -24,9 +24,9 @@
 #include "pin_mux.h"
 #include "board.h"
 
-#if defined(VGLITE_USING_LCDIFV2)
+#if defined(BSP_USING_LCDIFV2)
 #include "fsl_dc_fb_lcdifv2.h"
-#else
+#elif defined(BSP_USING_ELCDIF)
 #include "fsl_dc_fb_elcdif.h"
 #endif
 
@@ -69,20 +69,20 @@
 #define DEMO_BUFFER_BYTE_PER_PIXEL 2
 #endif
 
-#if (defined(VGLITE_USING_RK055AHD091) || defined(VGLITE_USING_RK055MHD091))
+#if (defined(DISPLAY_USING_RK055AHD091) || defined(DISPLAY_USING_RK055MHD091))
 
-#define LCD_WIDTH  (720)
-#define LCD_HEIGHT (1280)
+#define LCD_MIPI_WIDTH  (720)
+#define LCD_MIPI_HEIGHT (1280)
 
-#elif defined(VGLITE_USING_RK055IQH091)
+#elif defined(DISPLAY_USING_RK055IQH091)
 
-#define LCD_WIDTH  (540)
-#define LCD_HEIGHT (960)
+#define LCD_MIPI_WIDTH  (540)
+#define LCD_MIPI_HEIGHT (960)
 
 #endif
 
-#define DEMO_BUFFER_WIDTH  LCD_WIDTH
-#define DEMO_BUFFER_HEIGHT LCD_HEIGHT
+#define DEMO_BUFFER_WIDTH  LCD_MIPI_WIDTH
+#define DEMO_BUFFER_HEIGHT LCD_MIPI_HEIGHT
 
 /* Where the frame buffer is shown in the screen. */
 #define DEMO_BUFFER_START_X 0U
@@ -110,47 +110,47 @@
  * MIPI panel pin for RT-Thread
  */
 #define GET_PIN(PORTx, PIN)  (32 * (PORTx - 1) + (PIN & 31))    /* PORTx:1,2,3,4,5 */
-#define LCD_RST_GPIO_PORT    (3U)
-#define LCD_RST_GPIO_PIN     (1U)
-#define LCD_RST_PIN          GET_PIN(LCD_RST_GPIO_PORT, LCD_RST_GPIO_PIN)
+#define LCD_MIPI_RST_GPIO_PORT    (3U)
+#define LCD_MIPI_RST_GPIO_PIN     (1U)
+#define LCD_MIPI_RST_PIN          GET_PIN(LCD_MIPI_RST_GPIO_PORT, LCD_MIPI_RST_GPIO_PIN)
 /* Back light pin. */
-#define LCD_BL_GPIO_PORT     (3U)
-#define LCD_BL_GPIO_PIN      (29U)
-#define LCD_BL_PIN           GET_PIN(LCD_BL_GPIO_PORT, LCD_BL_GPIO_PIN)
+#define LCD_MIPI_BL_GPIO_PORT     (3U)
+#define LCD_MIPI_BL_GPIO_PIN      (29U)
+#define LCD_MIPI_BL_PIN           GET_PIN(LCD_MIPI_BL_GPIO_PORT, LCD_MIPI_BL_GPIO_PIN)
 
 /*
  * RK055AHD091 panel
  */
 
-#if defined(VGLITE_USING_RK055AHD091)
-#define LCD_HSW 8
-#define LCD_HFP 32
-#define LCD_HBP 32
-#define LCD_VSW 2
-#define LCD_VFP 16
-#define LCD_VBP 14
+#if defined(DISPLAY_USING_RK055AHD091)
+#define LCD_MIPI_HSW 8
+#define LCD_MIPI_HFP 32
+#define LCD_MIPI_HBP 32
+#define LCD_MIPI_VSW 2
+#define LCD_MIPI_VFP 16
+#define LCD_MIPI_VBP 14
 
-#elif defined(VGLITE_USING_RK055IQH091)
+#elif defined(DISPLAY_USING_RK055IQH091)
 
-#define LCD_HSW 2
-#define LCD_HFP 32
-#define LCD_HBP 30
-#define LCD_VSW 2
-#define LCD_VFP 16
-#define LCD_VBP 14
+#define LCD_MIPI_HSW 2
+#define LCD_MIPI_HFP 32
+#define LCD_MIPI_HBP 30
+#define LCD_MIPI_VSW 2
+#define LCD_MIPI_VFP 16
+#define LCD_MIPI_VBP 14
 
-#elif defined(VGLITE_USING_RK055MHD091)
+#elif defined(DISPLAY_USING_RK055MHD091)
 
-#define LCD_HSW 6
-#define LCD_HFP 12
-#define LCD_HBP 24
-#define LCD_VSW 2
-#define LCD_VFP 16
-#define LCD_VBP 14
+#define LCD_MIPI_HSW 6
+#define LCD_MIPI_HFP 12
+#define LCD_MIPI_HBP 24
+#define LCD_MIPI_VSW 2
+#define LCD_MIPI_VFP 16
+#define LCD_MIPI_VBP 14
 
 #endif
 
-#if defined(VGLITE_USING_LCDIFV2)
+#if defined(BSP_USING_LCDIFV2)
 
 #define DEMO_LCDIF_POL_FLAGS                                                             \
     (kLCDIFV2_DataEnableActiveHigh | kLCDIFV2_VsyncActiveLow | kLCDIFV2_HsyncActiveLow | \
@@ -158,7 +158,7 @@
 
 #define DEMO_LCDIF LCDIFV2
 
-#else
+#elif defined(BSP_USING_ELCDIF)
 
 #define DEMO_LCDIF_POL_FLAGS \
     (kELCDIF_DataEnableActiveHigh | kELCDIF_VsyncActiveLow | kELCDIF_HsyncActiveLow | kELCDIF_DriveDataOnFallingClkEdge)
@@ -168,8 +168,8 @@
 #endif
 
 /* Definitions for MIPI. */
-#define DEMO_MIPI_DSI          (&g_mipiDsi)
-#define DEMO_MIPI_DSI_LANE_NUM 2
+#define DEMO_LCD_MIPI          (&g_mipiDsi)
+#define DEMO_LCD_MIPI_LANE_NUM 2
 
 extern const dc_fb_t g_dc;
 

+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vglite_support.c → bsp/imxrt/imxrt1170-nxp-evk/m7/board/vglite_support.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vglite_support.h → bsp/imxrt/imxrt1170-nxp-evk/m7/board/vglite_support.h


+ 2 - 3
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vglite_window.c → bsp/imxrt/imxrt1170-nxp-evk/m7/board/vglite_window.c

@@ -4,7 +4,7 @@
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
-#include <rtthread.h>
+
 #include "vglite_support.h"
 #include "vg_lite_platform.h"
 #include "vglite_window.h"
@@ -15,7 +15,7 @@
 
 #if !DEMO_BUFFER_FIXED_ADDRESS
 AT_NONCACHEABLE_SECTION_ALIGN(
-    static uint8_t s_frameBuffer[APP_BUFFER_COUNT][LCD_HEIGHT][LCD_WIDTH][DEMO_BUFFER_BYTE_PER_PIXEL],
+    static uint8_t s_frameBuffer[APP_BUFFER_COUNT][DEMO_BUFFER_HEIGHT][DEMO_BUFFER_WIDTH][DEMO_BUFFER_BYTE_PER_PIXEL],
     FRAME_BUFFER_ALIGN);
 
 #define DEMO_BUFFER0_ADDR (uint32_t) s_frameBuffer[0]
@@ -79,7 +79,6 @@ vg_lite_error_t VGLITE_CreateDisplay(vg_lite_display_t *display)
     if (!display)
         return VG_LITE_INVALID_ARGUMENT;
 
-    BOARD_PrepareDisplayController();
     FBDEV_Open(&display->g_fbdev, &g_dc, 0);
 
     return VG_LITE_SUCCESS;

+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vglite_window.h → bsp/imxrt/imxrt1170-nxp-evk/m7/board/vglite_window.h


+ 2 - 2
bsp/imxrt/imxrt1170-nxp-evk/m7/project.ewp

@@ -1408,10 +1408,10 @@
   <group>
     <name>xip</name>
     <file>
-      <name>$PROJ_DIR$\xip\evkmimxrt1170_flexspi_nor_config.c</name>
+      <name>$PROJ_DIR$\xip\fsl_flexspi_nor_boot.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\xip\fsl_flexspi_nor_boot.c</name>
+      <name>$PROJ_DIR$\xip\evkmimxrt1170_flexspi_nor_config.c</name>
     </file>
   </group>
 </project>

+ 38 - 0
bsp/imxrt/imxrt1170-nxp-evk/m7/video/SConscript

@@ -0,0 +1,38 @@
+from building import *
+
+src = []
+cwd = GetCurrentDir()
+path = [cwd]
+CPPDEFINES = []
+
+if GetDepend(['BSP_USING_LCD_MIPI']):
+
+    path += [cwd + '/display', cwd + '/display/dc', cwd + '/display/fbdev', cwd + '/display/mipi_dsi_cmd']
+
+    src += ['fsl_video_common.c']
+    src += ['display/fbdev/fsl_fbdev.c']
+    src += ['display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.c']
+
+    if GetDepend(['BSP_USING_LCDIFV2']):
+        src += ['display/dc/lcdifv2/fsl_dc_fb_lcdifv2.c']
+        path += [cwd + '/display/dc/lcdifv2']
+    elif GetDepend(['BSP_USING_ELCDIF']):
+        src += ['display/dc/elcdif/fsl_dc_fb_elcdif.c']
+        path += [cwd + '/display/dc/elcdif']
+
+    if GetDepend(['DISPLAY_USING_RK055AHD091']):
+        src += ['display/rm68200/fsl_rm68200.c']
+        path += [cwd + '/display/rm68200']
+    elif GetDepend(['DISPLAY_USING_RK055IQH091']):
+        src += ['display/rm68191/fsl_rm68191.c']
+        path += [cwd + '/display/rm68191']
+    elif GetDepend(['DISPLAY_USING_RK055MHD091']):
+        src += ['display/hx8394/fsl_hx8394.c']
+        path += [cwd + '/display/hx8394']
+
+    group = DefineGroup('video', src, depend = [''], CPPPATH = path, CPPDEFINES=CPPDEFINES)
+
+    Return('group')
+else:
+    empty_list = []
+    Return('empty_list')

+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_dc_fb_elcdif.c → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/elcdif/fsl_dc_fb_elcdif.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_dc_fb_elcdif.h → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/elcdif/fsl_dc_fb_elcdif.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_dc_fb.h → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/fsl_dc_fb.h


+ 2 - 2
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_dc_fb_lcdifv2.c → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.c

@@ -6,7 +6,7 @@
  */
 
 #include "fsl_dc_fb_lcdifv2.h"
-#if defined(SDK_OS_RTOS)
+#if defined(USE_RTOS)
 #include "rtthread.h"
 #endif
 
@@ -144,7 +144,7 @@ status_t DC_FB_LCDIFV2_EnableLayer(const dc_fb_t *dc, uint8_t layer)
 
         while (true == dcHandle->layers[layer].shadowLoadPending)
         {
-#if defined(SDK_OS_RTOS)
+#if defined(USE_RTOS)
             rt_thread_delay(1);
 #endif
         }

+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_dc_fb_lcdifv2.h → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_fbdev.c → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/fbdev/fsl_fbdev.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_fbdev.h → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/fbdev/fsl_fbdev.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_display.h → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/fsl_display.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_hx8394.c → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/hx8394/fsl_hx8394.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_hx8394.h → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/hx8394/fsl_hx8394.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_mipi_dsi_cmd.c → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_mipi_dsi_cmd.h → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_rm68191.c → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68191/fsl_rm68191.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_rm68191.h → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68191/fsl_rm68191.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_rm68200.c → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68200/fsl_rm68200.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_rm68200.h → bsp/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68200/fsl_rm68200.h


+ 2 - 2
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_video_common.c → bsp/imxrt/imxrt1170-nxp-evk/m7/video/fsl_video_common.c

@@ -7,7 +7,7 @@
  */
 
 #include "fsl_video_common.h"
-#if defined(SDK_OS_RTOS)
+#if defined(USE_RTOS)
 #include "rtthread.h"
 #endif
 
@@ -31,7 +31,7 @@ bool VIDEO_IsYUV(video_pixel_format_t format)
 
 void VIDEO_DelayMs(uint32_t ms)
 {
-#if defined(SDK_OS_RTOS)
+#if defined(USE_RTOS)
     rt_thread_mdelay(ms);
 #else
     while (0U != (ms--))

+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_video_common.h → bsp/imxrt/imxrt1170-nxp-evk/m7/video/fsl_video_common.h


+ 4 - 56
bsp/imxrt/libraries/MIMXRT1170/SConscript

@@ -53,62 +53,10 @@ if GetDepend(['BSP_USING_FLEXSPI']):
     src += ['MIMXRT1176/drivers/fsl_flexspi.c']
 
 if GetDepend(['BSP_USING_VGLITE']):
-    src += ['MIMXRT1176/drivers/fsl_soc_src.c']
-    src += ['MIMXRT1176/drivers/fsl_mipi_dsi.c']
-    src += ['MIMXRT1176/drivers/fsl_video_common.c']
-    src += ['MIMXRT1176/drivers/display_support.c']
-    src += ['MIMXRT1176/drivers/fsl_fbdev.c']
-    src += ['MIMXRT1176/drivers/fsl_mipi_dsi_cmd.c']
-    
-    if GetDepend(['VGLITE_USING_LCDIFV2']):
-        src += ['MIMXRT1176/drivers/fsl_dc_fb_lcdifv2.c']
-        src += ['MIMXRT1176/drivers/fsl_lcdifv2.c']
-    else:
-        src += ['MIMXRT1176/drivers/fsl_dc_fb_elcdif.c']
-        src += ['MIMXRT1176/drivers/fsl_elcdif.c']
-
-    if GetDepend(['VGLITE_USING_RK055AHD091']):
-        src += ['MIMXRT1176/drivers/fsl_rm68200.c']
-    elif GetDepend(['VGLITE_USING_RK055IQH091']):
-        src += ['MIMXRT1176/drivers/fsl_rm68191.c']
-    else:
-        src += ['MIMXRT1176/drivers/fsl_hx8394.c']
-
-    src += ['MIMXRT1176/drivers/mf_bwfont.c']
-    src += ['MIMXRT1176/drivers/mf_encoding.c']
-    src += ['MIMXRT1176/drivers/mf_font.c']
-    src += ['MIMXRT1176/drivers/mf_justify.c']
-    src += ['MIMXRT1176/drivers/mf_kerning.c']
-    src += ['MIMXRT1176/drivers/mf_rlefont.c']
-    src += ['MIMXRT1176/drivers/mf_scaledfont.c']
-    src += ['MIMXRT1176/drivers/mf_wordwrap.c']
-    
-    src += ['MIMXRT1176/drivers/buf_reader.c']
-    src += ['MIMXRT1176/drivers/rle_font_read.c']
-    src += ['MIMXRT1176/drivers/vft_debug.c']
-    src += ['MIMXRT1176/drivers/vft_draw.c']
-    src += ['MIMXRT1176/drivers/vg_lite_text.c']
-    
-    src += ['MIMXRT1176/drivers/vg_lite_os.c']
-    src += ['MIMXRT1176/drivers/vg_lite.c']
-    src += ['MIMXRT1176/drivers/vg_lite_flat.c']
-    src += ['MIMXRT1176/drivers/vg_lite_image.c']
-    src += ['MIMXRT1176/drivers/vg_lite_matrix.c']
-    src += ['MIMXRT1176/drivers/vg_lite_path.c']
-    
-    src += ['MIMXRT1176/drivers/vglite_support.c']
-    src += ['MIMXRT1176/drivers/vglite_window.c']
-    
-    src += ['MIMXRT1176/drivers/vg_lite_hal.c']
-    src += ['MIMXRT1176/drivers/vg_lite_kernel.c']
-    
-    if GetDepend(['VGLITE_USING_ELM']):
-        src += ['MIMXRT1176/drivers/elm_buffer.c']
-        src += ['MIMXRT1176/drivers/elm_draw.c']
-        src += ['MIMXRT1176/drivers/elm_init.c']
-        src += ['MIMXRT1176/drivers/elm_object.c']
-        src += ['MIMXRT1176/drivers/elm_os.c']
-        src += ['MIMXRT1176/drivers/elm_text.c']
+    src += ['MIMXRT1176/drivers/fsl_soc_src.c', 'MIMXRT1176/drivers/fsl_mipi_dsi.c']
+
+if GetDepend(['BSP_USING_LCDIFV2']) or GetDepend(['BSP_USING_ELCDIF']):
+    src += ['MIMXRT1176/drivers/fsl_lcdifv2.c', 'MIMXRT1176/drivers/fsl_elcdif.c']
 
 #fsl os abstract files
 src += ['MIMXRT1176/drivers/fsl_os_abstraction_rtthread.c']

+ 19 - 1
bsp/imxrt/libraries/drivers/SConscript

@@ -2,10 +2,13 @@ from building import *
 
 src = []
 cwd = []
+
 CPPDEFINES = []
 
 cwd = GetCurrentDir()
 
+path =  [cwd]
+
 if GetDepend('BSP_USING_GPIO'):
     src += ['drv_gpio.c']
 
@@ -80,8 +83,23 @@ if GetDepend('BSP_USING_PULSE_ENCODER'):
 if GetDepend('BSP_USING_FLEXSPI'):
     src += ['drv_flexspi.c']
 
+if GetDepend('BSP_USING_LCD_MIPI'):
+    src += ['drv_lcd_mipi.c']
+
+if GetDepend(['BSP_USING_VGLITE']):
+    src += Glob('vglite/font/*.c')
+    src += Glob('vglite/font/mcufont/decoder/*.c')
+    src += Glob('vglite/VGLite/rtos/*.c')
+    src += Glob('vglite/VGLite/*.c')
+    src += Glob('vglite/VGLiteKernel/rtos/*.c')
+    src += Glob('vglite/VGLiteKernel/*.c')
+    path += [cwd + '/vglite/font', cwd + '/vglite/font/mcufont/decoder', cwd + '/vglite/inc', cwd + '/vglite/VGLite', cwd + '/vglite/VGLite/rtos', cwd + '/vglite/VGLiteKernel', cwd + '/vglite/VGLiteKernel/rtos']
+
+    if GetDepend(['VGLITE_USING_ELM']):
+        src += Glob('vglite/elementary/src/*.c')
+        path += [cwd + '/vglite/elementary/inc', cwd + '/vglite/elementary/src']
+
 src += ['drv_common.c']
-path =  [cwd]
 
 group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES=CPPDEFINES)
 

+ 116 - 0
bsp/imxrt/libraries/drivers/drv_lcd_mipi.c

@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2006-2023, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date           Author       Notes
+ * 2017-10-30     Tanek        the first version
+ * 2023-09-25     Frogrey      export MIPI DSI config parameters.
+ */
+
+#include <rtthread.h>
+
+#ifdef BSP_USING_LCD_MIPI
+
+#include "display_support.h"
+#include "drv_lcd_mipi.h"
+#include "fsl_common.h"
+#include "fsl_iomuxc.h"
+#include "fsl_elcdif.h"
+#include "drv_gpio.h"
+
+#define LOG_TAG             "drv.lcd_mipi"
+#include <drv_log.h>
+
+#if !defined(LCD_MIPI_WIDTH) || !defined(LCD_MIPI_HEIGHT)
+#error "Please config mipi dsi pixel parameters."
+#endif
+
+#if !defined(LCD_MIPI_HFP) || !defined(LCD_MIPI_HBP) || !defined(LCD_MIPI_HSW) || \
+    !defined(LCD_MIPI_VFP) || !defined(LCD_MIPI_VBP) || !defined(LCD_MIPI_VSW)
+#error "Please config mipi dsi timing parameters."
+#endif
+
+#if !defined(LCD_MIPI_BL_PIN) || !defined(LCD_MIPI_RST_PIN)
+#error "Please config mipi dsi backlight or reset pin."
+#endif
+
+struct imxrt_lcd_mipi
+{
+    struct rt_device device;
+    struct rt_device_graphic_info info;
+};
+
+static struct imxrt_lcd_mipi lcd_mipi;
+
+static rt_err_t imxrt_lcd_mipi_init(rt_device_t device)
+{
+    RT_ASSERT(device != RT_NULL);
+
+    BOARD_PrepareDisplayController();
+
+    /* MIPI DSI DEVICE INFORMATION*/
+    lcd_mipi.info.width          = LCD_MIPI_WIDTH;
+    lcd_mipi.info.height         = LCD_MIPI_HEIGHT;
+#if DEMO_USE_XRGB8888
+    lcd_mipi.info.pixel_format   = RTGRAPHIC_PIXEL_FORMAT_ARGB888;
+    lcd_mipi.info.bits_per_pixel = 32;
+#elif DEMO_USE_RGB565
+    lcd_mipi.info.pixel_format   = RTGRAPHIC_PIXEL_FORMAT_RGB565;
+    lcd_mipi.info.bits_per_pixel = 16;
+#else
+    lcd_mipi.info.bits_per_pixel = 16;
+#endif
+
+    return RT_EOK;
+}
+
+static rt_err_t imxrt_lcd_mipi_control(rt_device_t device, int cmd, void *args)
+{
+    switch(cmd)
+    {
+    case RTGRAPHIC_CTRL_RECT_UPDATE:
+        break;
+
+    case RTGRAPHIC_CTRL_POWERON:
+        rt_pin_write(LCD_MIPI_BL_PIN, PIN_HIGH);
+        break;
+
+    case RTGRAPHIC_CTRL_POWEROFF:
+        rt_pin_write(LCD_MIPI_BL_PIN, PIN_LOW);
+        break;
+
+    case RTGRAPHIC_CTRL_GET_INFO:
+        rt_memcpy(args, &lcd_mipi.info, sizeof(lcd_mipi.info));
+        break;
+
+    case RTGRAPHIC_CTRL_SET_MODE:
+        break;
+    }
+
+    return RT_EOK;
+}
+
+int rt_hw_lcd_mipi_init(void)
+{
+    rt_err_t ret;
+
+    lcd_mipi.device.type    = RT_Device_Class_Graphic;
+    lcd_mipi.device.init    = imxrt_lcd_mipi_init;
+    lcd_mipi.device.open    = RT_NULL;
+    lcd_mipi.device.close   = RT_NULL;
+    lcd_mipi.device.read    = RT_NULL;
+    lcd_mipi.device.write   = RT_NULL;
+    lcd_mipi.device.control = imxrt_lcd_mipi_control;
+
+    lcd_mipi.device.user_data = (void *)&lcd_mipi.info;
+
+    ret = rt_device_register(&lcd_mipi.device, "lcd_mipi", RT_DEVICE_FLAG_RDWR);
+
+    return ret;
+}
+
+INIT_DEVICE_EXPORT(rt_hw_lcd_mipi_init);
+
+#endif /* BSP_USING_LCD_MIPI */

+ 19 - 0
bsp/imxrt/libraries/drivers/drv_lcd_mipi.h

@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2006-2023, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date           Author       Notes
+ * 2018-04-05     Liuguang     the first version.
+ */
+
+#ifndef __DRV_LCD_H__
+#define __DRV_LCD_H__
+
+#include <rtthread.h>
+#include <rtdevice.h>
+
+int rt_hw_lcd_init(void);
+
+#endif

+ 1 - 1
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_os.c → bsp/imxrt/libraries/drivers/vglite/VGLite/rtos/vg_lite_os.c

@@ -90,7 +90,7 @@ void command_queue(void * parameters)
             if(os_obj.queue_handle->entry)
             {
                 len = rt_mq_recv(os_obj.queue_handle, (void*) &peek_queue, os_obj.queue_handle->msg_size, (rt_int32_t) ((rt_int64_t)THREAD_WAIT_TIME * RT_TICK_PER_SECOND / 1000));
-                if(len != 0)
+                if(len)
                 {
 #if defined(PRINT_COMMAND_BUFFER)
                     int i = 0;

+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_os.h → bsp/imxrt/libraries/drivers/vglite/VGLite/rtos/vg_lite_os.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite.c → bsp/imxrt/libraries/drivers/vglite/VGLite/vg_lite.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_flat.c → bsp/imxrt/libraries/drivers/vglite/VGLite/vg_lite_flat.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_flat.h → bsp/imxrt/libraries/drivers/vglite/VGLite/vg_lite_flat.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_image.c → bsp/imxrt/libraries/drivers/vglite/VGLite/vg_lite_image.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_matrix.c → bsp/imxrt/libraries/drivers/vglite/VGLite/vg_lite_matrix.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_path.c → bsp/imxrt/libraries/drivers/vglite/VGLite/vg_lite_path.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_hal.c → bsp/imxrt/libraries/drivers/vglite/VGLiteKernel/rtos/vg_lite_hal.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_platform.h → bsp/imxrt/libraries/drivers/vglite/VGLiteKernel/rtos/vg_lite_platform.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_hw.h → bsp/imxrt/libraries/drivers/vglite/VGLiteKernel/vg_lite_hw.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_kernel.c → bsp/imxrt/libraries/drivers/vglite/VGLiteKernel/vg_lite_kernel.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_kernel.h → bsp/imxrt/libraries/drivers/vglite/VGLiteKernel/vg_lite_kernel.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/Elm.h → bsp/imxrt/libraries/drivers/vglite/elementary/inc/Elm.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/elm_buffer.c → bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_buffer.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/elm_draw.c → bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_draw.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/elm_headers.h → bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_headers.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/elm_init.c → bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_init.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/elm_object.c → bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_object.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/elm_os.c → bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_os.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/elm_os.h → bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_os.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/elm_precom.h → bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_precom.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/elm_text.c → bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_text.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/elm_text.h → bsp/imxrt/libraries/drivers/vglite/elementary/src/elm_text.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/velm.h → bsp/imxrt/libraries/drivers/vglite/elementary/src/velm.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/buf_reader.c → bsp/imxrt/libraries/drivers/vglite/font/buf_reader.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/buf_reader.h → bsp/imxrt/libraries/drivers/vglite/font/buf_reader.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fonts.h → bsp/imxrt/libraries/drivers/vglite/font/fonts.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mcufont.h → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mcufont.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_bwfont.c → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_bwfont.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_bwfont.h → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_bwfont.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_config.h → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_config.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_encoding.c → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_encoding.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_encoding.h → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_encoding.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_font.c → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_font.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_font.h → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_font.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_justify.c → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_justify.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_justify.h → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_justify.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_kerning.c → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_kerning.c


+ 3 - 3
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_kerning.h → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_kerning.h

@@ -10,11 +10,11 @@
 #include "mf_rlefont.h"
 
 /* Compute the kerning adjustment when c1 is followed by c2.
- *
+ * 
  * font: Pointer to the font definition.
  * c1: The previous character.
  * c2: The next character to render.
- *
+ * 
  * Returns the offset to add to the x position for c2.
  */
 #if MF_USE_KERNING
@@ -24,4 +24,4 @@ MF_EXTERN int8_t mf_compute_kerning(const struct mf_font_s *font,
 #define mf_compute_kerning(f,c1,c2) (0)
 #endif
 
-#endif
+#endif

+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_rlefont.c → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_rlefont.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_rlefont.h → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_rlefont.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_scaledfont.c → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_scaledfont.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_scaledfont.h → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_scaledfont.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_wordwrap.c → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_wordwrap.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/mf_wordwrap.h → bsp/imxrt/libraries/drivers/vglite/font/mcufont/decoder/mf_wordwrap.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/rle_font_read.c → bsp/imxrt/libraries/drivers/vglite/font/rle_font_read.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vft_debug.c → bsp/imxrt/libraries/drivers/vglite/font/vft_debug.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vft_debug.h → bsp/imxrt/libraries/drivers/vglite/font/vft_debug.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vft_draw.c → bsp/imxrt/libraries/drivers/vglite/font/vft_draw.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vft_draw.h → bsp/imxrt/libraries/drivers/vglite/font/vft_draw.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_text.c → bsp/imxrt/libraries/drivers/vglite/font/vg_lite_text.c


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite.h → bsp/imxrt/libraries/drivers/vglite/inc/vg_lite.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_hal.h → bsp/imxrt/libraries/drivers/vglite/inc/vg_lite_hal.h


+ 0 - 0
bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/vg_lite_text.h → bsp/imxrt/libraries/drivers/vglite/inc/vg_lite_text.h