Просмотр исходного кода

!375 修lcd驱动适配不同的lcd屏幕
Merge pull request !375 from songchao/rt-smart

bernard 4 лет назад
Родитель
Сommit
2b40cadc10

+ 31 - 62
bsp/imx6ull-artpi-smart/.config

@@ -409,7 +409,6 @@ CONFIG_RT_LWP_SHM_MAX_NR=64
 # CONFIG_PKG_USING_AT_DEVICE is not set
 # CONFIG_PKG_USING_ATSRV_SOCKET is not set
 # CONFIG_PKG_USING_WIZNET is not set
-# CONFIG_PKG_USING_ZB_COORDINATOR is not set
 
 #
 # IoT Cloud
@@ -451,11 +450,7 @@ CONFIG_RT_LWP_SHM_MAX_NR=64
 # CONFIG_PKG_USING_AGILE_FTP is not set
 # CONFIG_PKG_USING_EMBEDDEDPROTO is not set
 # CONFIG_PKG_USING_RT_LINK_HW is not set
-# CONFIG_PKG_USING_LORA_PKT_FWD is not set
-# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
-# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
-# CONFIG_PKG_USING_HM is not set
-# CONFIG_PKG_USING_SMALL_MODBUS is not set
+# CONFIG_PKG_USING_UPNP is not set
 
 #
 # security packages
@@ -472,17 +467,10 @@ CONFIG_RT_LWP_SHM_MAX_NR=64
 # CONFIG_PKG_USING_LUA is not set
 # CONFIG_PKG_USING_JERRYSCRIPT is not set
 # CONFIG_PKG_USING_MICROPYTHON is not set
-# CONFIG_PKG_USING_PIKASCRIPT is not set
 
 #
 # multimedia packages
 #
-
-#
-# LVGL: powerful and easy-to-use embedded GUI library
-#
-# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
-# CONFIG_PKG_USING_LVGL is not set
 # CONFIG_PKG_USING_OPENMV is not set
 # CONFIG_PKG_USING_MUPDF is not set
 # CONFIG_PKG_USING_STEMWIN is not set
@@ -495,13 +483,6 @@ CONFIG_RT_LWP_SHM_MAX_NR=64
 # CONFIG_PKG_USING_NUEMWIN is not set
 # CONFIG_PKG_USING_MP3PLAYER is not set
 # CONFIG_PKG_USING_TINYJPEG is not set
-# CONFIG_PKG_USING_UGUI is not set
-
-#
-# u8g2: a monochrome graphic library
-#
-# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
-# CONFIG_PKG_USING_U8G2 is not set
 
 #
 # tools packages
@@ -557,13 +538,6 @@ CONFIG_RT_LWP_SHM_MAX_NR=64
 # CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
 # CONFIG_PKG_USING_QFPLIB_M3 is not set
 
-#
-# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
-#
-# CONFIG_PKG_USING_CMSIS_5 is not set
-# CONFIG_PKG_USING_CMSIS_5_AUX is not set
-# CONFIG_PKG_USING_CMSIS_RTOS2 is not set
-
 #
 # Micrium: Micrium software products porting for RT-Thread
 #
@@ -582,6 +556,8 @@ CONFIG_RT_LWP_SHM_MAX_NR=64
 # CONFIG_PKG_USING_FLASHDB is not set
 # CONFIG_PKG_USING_SQLITE is not set
 # CONFIG_PKG_USING_RTI is not set
+# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
+# CONFIG_PKG_USING_CMSIS is not set
 # CONFIG_PKG_USING_DFS_YAFFS is not set
 # CONFIG_PKG_USING_LITTLEFS is not set
 # CONFIG_PKG_USING_DFS_JFFS2 is not set
@@ -607,10 +583,6 @@ CONFIG_PKG_LWEXT4_VER="latest"
 # CONFIG_PKG_USING_LPM is not set
 # CONFIG_PKG_USING_TLSF is not set
 # CONFIG_PKG_USING_EVENT_RECORDER is not set
-# CONFIG_PKG_USING_ARM_2D is not set
-# CONFIG_PKG_USING_WCWIDTH is not set
-# CONFIG_PKG_USING_MCUBOOT is not set
-# CONFIG_PKG_USING_TINYUSB is not set
 
 #
 # peripheral libraries and drivers
@@ -622,6 +594,7 @@ CONFIG_PKG_LWEXT4_VER="latest"
 # CONFIG_PKG_USING_AS7341 is not set
 # CONFIG_PKG_USING_STM32_SDIO is not set
 # CONFIG_PKG_USING_ICM20608 is not set
+# CONFIG_PKG_USING_U8G2 is not set
 # CONFIG_PKG_USING_BUTTON is not set
 # CONFIG_PKG_USING_PCF8574 is not set
 # CONFIG_PKG_USING_SX12XX is not set
@@ -680,13 +653,6 @@ CONFIG_PKG_LWEXT4_VER="latest"
 # CONFIG_PKG_USING_KOBUKI is not set
 # CONFIG_PKG_USING_ROSSERIAL is not set
 # CONFIG_PKG_USING_MICRO_ROS is not set
-# CONFIG_PKG_USING_MCP23008 is not set
-# CONFIG_PKG_USING_BLUETRUM_SDK is not set
-# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
-# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
-# CONFIG_PKG_USING_BL_MCU_SDK is not set
-# CONFIG_PKG_USING_SOFT_SERIAL is not set
-# CONFIG_PKG_USING_MB85RS16 is not set
 
 #
 # AI packages
@@ -704,27 +670,6 @@ CONFIG_PKG_LWEXT4_VER="latest"
 #
 # miscellaneous packages
 #
-
-#
-# samples: kernel and components samples
-#
-# CONFIG_PKG_USING_KERNEL_SAMPLES is not set
-# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
-# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
-# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
-
-#
-# entertainment: terminal games and other interesting software packages
-#
-# CONFIG_PKG_USING_CMATRIX is not set
-# CONFIG_PKG_USING_SL is not set
-# CONFIG_PKG_USING_CAL is not set
-# CONFIG_PKG_USING_ACLOCK is not set
-# CONFIG_PKG_USING_THREES is not set
-# CONFIG_PKG_USING_2048 is not set
-# CONFIG_PKG_USING_SNAKE is not set
-# CONFIG_PKG_USING_TETRIS is not set
-# CONFIG_PKG_USING_DONUT is not set
 # CONFIG_PKG_USING_LIBCSV is not set
 # CONFIG_PKG_USING_OPTPARSE is not set
 # CONFIG_PKG_USING_FASTLZ is not set
@@ -742,6 +687,14 @@ CONFIG_PKG_LWEXT4_VER="latest"
 # CONFIG_PKG_USING_DIGITALCTRL is not set
 # CONFIG_PKG_USING_UPACKER is not set
 # CONFIG_PKG_USING_UPARAM is not set
+
+#
+# samples: kernel and components samples
+#
+# CONFIG_PKG_USING_KERNEL_SAMPLES is not set
+# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
+# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
+# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
 # CONFIG_PKG_USING_HELLO is not set
 # CONFIG_PKG_USING_VI is not set
 # CONFIG_PKG_USING_KI is not set
@@ -749,11 +702,20 @@ CONFIG_PKG_LWEXT4_VER="latest"
 # CONFIG_PKG_USING_VT100 is not set
 # CONFIG_PKG_USING_UKAL is not set
 # CONFIG_PKG_USING_CRCLIB is not set
+
+#
+# entertainment: terminal games and other interesting software packages
+#
+# CONFIG_PKG_USING_THREES is not set
+# CONFIG_PKG_USING_2048 is not set
+# CONFIG_PKG_USING_SNAKE is not set
+# CONFIG_PKG_USING_TETRIS is not set
+# CONFIG_PKG_USING_DONUT is not set
+# CONFIG_PKG_USING_ACLOCK is not set
 # CONFIG_PKG_USING_LWGPS is not set
 # CONFIG_PKG_USING_STATE_MACHINE is not set
 # CONFIG_PKG_USING_MCURSES is not set
 # CONFIG_PKG_USING_COWSAY is not set
-# CONFIG_PKG_USING_TERMBOX is not set
 CONFIG_SOC_IMX6ULL=y
 CONFIG_CPU_MCIMX6Y2CVM05=y
 CONFIG_FSL_SDK_ENABLE_DRIVER_CACHE_CONTROL=1
@@ -798,8 +760,15 @@ CONFIG_I2C3_BAUD_RATE=400000
 # Select LCD Driver
 #
 CONFIG_BSP_USING_LCD=y
-CONFIG_BSP_LCD_WIDTH=1024
-CONFIG_BSP_LCD_HEIGHT=600
+CONFIG_BSP_LCD_WIDTH=480
+CONFIG_BSP_LCD_HEIGHT=272
+CONFIG_BSP_LCD_VSW=2
+CONFIG_BSP_LCD_VBP=23
+CONFIG_BSP_LCD_VFP=22
+CONFIG_BSP_LCD_HSW=2
+CONFIG_BSP_LCD_HBP=46
+CONFIG_BSP_LCD_HFP=210
+CONFIG_BSP_LCD_PLL_DIV=8
 
 #
 # Select SDHC Driver

+ 21 - 0
bsp/imx6ull-artpi-smart/drivers/Kconfig

@@ -108,6 +108,27 @@ config BSP_USING_LCD
         config BSP_LCD_HEIGHT
             int "Height of LCD panel"
             default 600
+        config BSP_LCD_VSW
+            int "value of LCD_VSW"
+            default 2
+        config BSP_LCD_VBP
+            int "value of LCD_VBP"
+            default 23        
+        config BSP_LCD_VFP
+            int "value of LCD_VFP"
+            default 22
+        config BSP_LCD_HSW
+            int "value of LCD_HSW"
+            default 2    
+        config BSP_LCD_HBP
+            int "value of LCD_HBP"
+            default 46
+        config BSP_LCD_HFP
+            int "value of LCD_HFP"
+            default 210       
+        config BSP_LCD_PLL_DIV
+            int "value of PLL DIV"
+            default 8                                
     endif
 endmenu
 

+ 2 - 1
bsp/imx6ull-artpi-smart/drivers/drv_lcd.c

@@ -38,7 +38,8 @@ static rt_err_t imx6ull_elcd_init(rt_device_t device)
     elcd_dev = (struct imx6ull_lcd_bus *)device;
     ELCDIF_Reset(elcd_dev->config->ELCDIF);
     pll_config.loopDivider = 32;
-    pll_config.postDivider = 1;
+    pll_config.postDivider = LCD_PLL_DIV;
+
     pll_config.numerator   = 0;
     pll_config.denominator = 0;
 

+ 7 - 6
bsp/imx6ull-artpi-smart/drivers/drv_lcd.h

@@ -26,12 +26,13 @@
 
 #define LCD_WIDTH                   BSP_LCD_WIDTH
 #define LCD_HEIGHT                  BSP_LCD_HEIGHT
-#define LCD_VSW                     3
-#define LCD_VBP                     20
-#define LCD_VFP                     12
-#define LCD_HSW                     20
-#define LCD_HBP                     140
-#define LCD_HFP                     160
+#define LCD_VSW                     BSP_LCD_VSW
+#define LCD_VBP                     BSP_LCD_VBP
+#define LCD_VFP                     BSP_LCD_VFP
+#define LCD_HSW                     BSP_LCD_HSW
+#define LCD_HBP                     BSP_LCD_HBP
+#define LCD_HFP                     BSP_LCD_HFP
+#define LCD_PLL_DIV                 BSP_LCD_PLL_DIV
 
 #define LCD_BITS_PER_PIXEL          32
 #define LCD_BUF_SIZE                (LCD_WIDTH * LCD_HEIGHT * LCD_BITS_PER_PIXEL / 8)

+ 10 - 10
bsp/imx6ull-artpi-smart/rtconfig.h

@@ -267,11 +267,6 @@
 
 /* multimedia packages */
 
-/* LVGL: powerful and easy-to-use embedded GUI library */
-
-
-/* u8g2: a monochrome graphic library */
-
 
 /* tools packages */
 
@@ -281,9 +276,6 @@
 /* acceleration: Assembly language or algorithmic acceleration packages */
 
 
-/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
-
-
 /* Micrium: Micrium software products porting for RT-Thread */
 
 #define PKG_USING_LWEXT4
@@ -298,6 +290,7 @@
 
 /* miscellaneous packages */
 
+
 /* samples: kernel and components samples */
 
 
@@ -328,8 +321,15 @@
 /* Select LCD Driver */
 
 #define BSP_USING_LCD
-#define BSP_LCD_WIDTH 1024
-#define BSP_LCD_HEIGHT 600
+#define BSP_LCD_WIDTH 480
+#define BSP_LCD_HEIGHT 272
+#define BSP_LCD_VSW 2
+#define BSP_LCD_VBP 23
+#define BSP_LCD_VFP 22
+#define BSP_LCD_HSW 2
+#define BSP_LCD_HBP 46
+#define BSP_LCD_HFP 210
+#define BSP_LCD_PLL_DIV 8
 
 /* Select SDHC Driver */
 

+ 2 - 3
include/rtdef.h

@@ -1195,11 +1195,10 @@ enum
     RTGRAPHIC_PIXEL_FORMAT_BGR565 = RTGRAPHIC_PIXEL_FORMAT_RGB565P,
     RTGRAPHIC_PIXEL_FORMAT_RGB666,
     RTGRAPHIC_PIXEL_FORMAT_RGB888,
+    RTGRAPHIC_PIXEL_FORMAT_BGR888,
     RTGRAPHIC_PIXEL_FORMAT_ARGB888,
     RTGRAPHIC_PIXEL_FORMAT_ABGR888,
-    RTGRAPHIC_PIXEL_FORMAT_ARGB565,
-    RTGRAPHIC_PIXEL_FORMAT_ALPHA,
-    RTGRAPHIC_PIXEL_FORMAT_COLOR,
+    RTGRAPHIC_PIXEL_FORMAT_RESERVED,
 };
 
 /**