From 7fb9f37b7dde96357d0a8ea1ad03b23eaedf86a8 Mon Sep 17 00:00:00 2001 From: Bernard Xiong Date: Sun, 15 Jul 2018 15:14:54 +0800 Subject: [PATCH] [BSP] Add width/height options for CLCD. --- bsp/qemu-vexpress-a9/.config | 48 +++++++++++------------- bsp/qemu-vexpress-a9/drivers/Kconfig | 10 +++++ bsp/qemu-vexpress-a9/drivers/drv_clcd.c | 4 +- bsp/qemu-vexpress-a9/drivers/drv_clcd.h | 10 +++++ bsp/qemu-vexpress-a9/drivers/drv_mouse.c | 5 ++- bsp/qemu-vexpress-a9/rtconfig.h | 17 +++++---- 6 files changed, 55 insertions(+), 39 deletions(-) diff --git a/bsp/qemu-vexpress-a9/.config b/bsp/qemu-vexpress-a9/.config index 9cbcc7b619..3f92b73b5b 100644 --- a/bsp/qemu-vexpress-a9/.config +++ b/bsp/qemu-vexpress-a9/.config @@ -18,6 +18,7 @@ CONFIG_RT_USING_OVERFLOW_CHECK=y CONFIG_RT_DEBUG_INIT=0 CONFIG_RT_DEBUG_THREAD=0 CONFIG_RT_USING_HOOK=y +CONFIG_RT_IDEL_HOOK_LIST_SIZE=4 CONFIG_IDLE_THREAD_STACK_SIZE=512 CONFIG_RT_USING_TIMER_SOFT=y CONFIG_RT_TIMER_THREAD_PRIO=4 @@ -127,6 +128,7 @@ CONFIG_RT_USING_DFS_RAMFS=y # Device Drivers # CONFIG_RT_USING_DEVICE_IPC=y +CONFIG_RT_PIPE_BUFSZ=512 CONFIG_RT_USING_SERIAL=y # CONFIG_RT_USING_CAN is not set # CONFIG_RT_USING_HWTIMER is not set @@ -142,6 +144,11 @@ CONFIG_RT_USING_RTC=y # CONFIG_RT_USING_SOFT_RTC is not set # CONFIG_RTC_SYNC_USING_NTP is not set CONFIG_RT_USING_SDIO=y +CONFIG_RT_SDIO_STACK_SIZE=512 +CONFIG_RT_SDIO_THREAD_PRIORITY=15 +CONFIG_RT_MMCSD_STACK_SIZE=1024 +CONFIG_RT_MMCSD_THREAD_PREORITY=22 +CONFIG_RT_MMCSD_MAX_PARTITION=16 CONFIG_RT_USING_SPI=y CONFIG_RT_USING_SPI_MSD=y CONFIG_RT_USING_SFUD=y @@ -182,7 +189,7 @@ CONFIG_RT_USING_POSIX_AIO=y CONFIG_RT_USING_LWIP=y # CONFIG_RT_USING_LWIP141 is not set CONFIG_RT_USING_LWIP202=y -# CONFIG_RT_USING_LWIP_IPV6 is not set +CONFIG_RT_USING_LWIP_IPV6=y # CONFIG_RT_LWIP_IGMP is not set CONFIG_RT_LWIP_ICMP=y # CONFIG_RT_LWIP_SNMP is not set @@ -217,7 +224,7 @@ CONFIG_RT_LWIP_TCPTHREAD_STACKSIZE=1024 CONFIG_RT_LWIP_ETHTHREAD_PRIORITY=12 CONFIG_RT_LWIP_ETHTHREAD_STACKSIZE=1024 CONFIG_RT_LWIP_ETHTHREAD_MBOX_SIZE=8 -# CONFIG_RT_LWIP_REASSEMBLY_FRAG is not set +CONFIG_RT_LWIP_REASSEMBLY_FRAG=y CONFIG_LWIP_NETIF_STATUS_CALLBACK=1 CONFIG_SO_REUSE=1 CONFIG_LWIP_SO_RCVTIMEO=1 @@ -286,6 +293,7 @@ CONFIG_LOG_TRACE_USING_LEVEL_INFO=y # CONFIG_PKG_USING_NOPOLL is not set # CONFIG_PKG_USING_NETUTILS is not set # CONFIG_PKG_USING_ONENET is not set +# CONFIG_PKG_USING_AT_DEVICE is not set # # security packages @@ -297,6 +305,7 @@ CONFIG_LOG_TRACE_USING_LEVEL_INFO=y # # language packages # +# CONFIG_PKG_USING_LUA is not set # CONFIG_PKG_USING_JERRYSCRIPT is not set # CONFIG_PKG_USING_MICROPYTHON is not set @@ -317,12 +326,14 @@ CONFIG_LOG_TRACE_USING_LEVEL_INFO=y # # system packages # - -# -# RT-Thread GUI Engine -# # CONFIG_PKG_USING_GUIENGINE is not set +# CONFIG_PKG_USING_GUIENGINE_V200 is not set +# CONFIG_PKG_USING_GUIENGINE_LATEST_VERSION is not set +# CONFIG_GUIENGINE_IMAGE_LODEPNG is not set +# CONFIG_GUIENGINE_IMAGE_PNG is not set # CONFIG_PKG_USING_PERSIMMON is not set +# CONFIG_PKG_USING_CAIRO is not set +# CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_LWEXT4 is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_FAL is not set @@ -335,10 +346,12 @@ CONFIG_LOG_TRACE_USING_LEVEL_INFO=y # # CONFIG_PKG_USING_STM32F4_HAL is not set # CONFIG_PKG_USING_STM32F4_DRIVERS is not set +# CONFIG_PKG_USING_REALTEK_AMEBA is not set # # miscellaneous packages # +# CONFIG_PKG_USING_OPTPARSE is not set # CONFIG_PKG_USING_FASTLZ is not set # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set @@ -346,6 +359,8 @@ CONFIG_LOG_TRACE_USING_LEVEL_INFO=y # CONFIG_PKG_USING_CANFESTIVAL is not set # CONFIG_PKG_USING_ZLIB is not set # CONFIG_PKG_USING_DSTR is not set +# CONFIG_PKG_USING_DSTR_V010 is not set +# CONFIG_PKG_USING_DSTR_LATEST_VERSION is not set # # sample package @@ -356,27 +371,6 @@ CONFIG_LOG_TRACE_USING_LEVEL_INFO=y # example package: hello # # CONFIG_PKG_USING_HELLO is not set - -# -# Privated Packages of RealThread -# -# CONFIG_PKG_USING_CODEC is not set -# CONFIG_PKG_USING_PLAYER is not set -# CONFIG_PKG_USING_PERSIMMON_SRC is not set - -# -# Network Utilities -# -# CONFIG_PKG_USING_MDNS is not set -# CONFIG_PKG_USING_UPNP is not set -# CONFIG_PKG_USING_WLAN_WICED_SRC is not set -# CONFIG_PKG_USING_CLOUDSDK is not set -# CONFIG_PKG_USING_COREMARK is not set -# CONFIG_PKG_USING_POWER_MANAGER is not set -# CONFIG_PKG_USING_RT_OTA is not set -# CONFIG_PKG_USING_RT_AT is not set -# CONFIG_PKG_USING_RDB is not set -# CONFIG_PKG_USING_RTINSIGHT is not set CONFIG_SOC_VEXPRESS_A9=y CONFIG_RT_USING_UART0=y CONFIG_RT_USING_UART1=y diff --git a/bsp/qemu-vexpress-a9/drivers/Kconfig b/bsp/qemu-vexpress-a9/drivers/Kconfig index 5f033c3c00..d2aa5bc8e4 100644 --- a/bsp/qemu-vexpress-a9/drivers/Kconfig +++ b/bsp/qemu-vexpress-a9/drivers/Kconfig @@ -11,6 +11,16 @@ config BSP_DRV_CLCD depends on PKG_USING_GUIENGINE default y +if BSP_DRV_CLCD + config BSP_LCD_WIDTH + int "Width of LCD panel" + default 640 + + config BSP_LCD_HEIGHT + int "Height of LCD panel" + default 480 +endif + config BSP_DRV_EMAC bool "EMAC driver" depends on RT_USING_LWIP diff --git a/bsp/qemu-vexpress-a9/drivers/drv_clcd.c b/bsp/qemu-vexpress-a9/drivers/drv_clcd.c index 4444d338c3..62b5aa772d 100644 --- a/bsp/qemu-vexpress-a9/drivers/drv_clcd.c +++ b/bsp/qemu-vexpress-a9/drivers/drv_clcd.c @@ -5,8 +5,8 @@ #include #include "drv_clcd.h" -#define CLCD_WIDTH 640 -#define CLCD_HEIGHT 480 +#define CLCD_WIDTH (BSP_LCD_WIDTH) +#define CLCD_HEIGHT (BSP_LCD_HEIGHT) #define CLCD_DEVICE(dev) (struct drv_clcd_device*)(dev) diff --git a/bsp/qemu-vexpress-a9/drivers/drv_clcd.h b/bsp/qemu-vexpress-a9/drivers/drv_clcd.h index 49fa8810e4..4ed3136981 100644 --- a/bsp/qemu-vexpress-a9/drivers/drv_clcd.h +++ b/bsp/qemu-vexpress-a9/drivers/drv_clcd.h @@ -1,6 +1,16 @@ #ifndef DRV_CLCD_H__ #define DRV_CLCD_H__ +#include + +#ifndef BSP_LCD_WIDTH +#define BSP_LCD_WIDTH 640 +#endif + +#ifndef BSP_LCD_HEIGHT +#define BSP_LCD_HEIGHT 480 +#endif + int drv_clcd_hw_init(void); #endif diff --git a/bsp/qemu-vexpress-a9/drivers/drv_mouse.c b/bsp/qemu-vexpress-a9/drivers/drv_mouse.c index 9983a2b4ed..4e1920a635 100644 --- a/bsp/qemu-vexpress-a9/drivers/drv_mouse.c +++ b/bsp/qemu-vexpress-a9/drivers/drv_mouse.c @@ -5,6 +5,7 @@ #include "board.h" #include "interrupt.h" #include "drv_mouse.h" +#include "drv_clcd.h" #define DBG_LEVEL DBG_LOG // #define DBG_ENABLE @@ -14,8 +15,8 @@ #define MOUSE_ADDRESS (0x10007000) #define MOUSE_IRQ_NUM (IRQ_VEXPRESS_A9_MOUSE) -#define MOUSE_XMAX (800) -#define MOUSE_YMAX (480) +#define MOUSE_XMAX (BSP_LCD_WIDTH) +#define MOUSE_YMAX (BSP_LCD_HEIGHT) #define MOUSE_BUTTON_LEFT (0x01) #define MOUSE_BUTTON_RIGHT (0x02) diff --git a/bsp/qemu-vexpress-a9/rtconfig.h b/bsp/qemu-vexpress-a9/rtconfig.h index 11a0432c9a..8ee1d67504 100644 --- a/bsp/qemu-vexpress-a9/rtconfig.h +++ b/bsp/qemu-vexpress-a9/rtconfig.h @@ -16,6 +16,7 @@ #define RT_DEBUG_INIT 0 #define RT_DEBUG_THREAD 0 #define RT_USING_HOOK +#define RT_IDEL_HOOK_LIST_SIZE 4 #define IDLE_THREAD_STACK_SIZE 512 #define RT_USING_TIMER_SOFT #define RT_TIMER_THREAD_PRIO 4 @@ -101,6 +102,7 @@ /* Device Drivers */ #define RT_USING_DEVICE_IPC +#define RT_PIPE_BUFSZ 512 #define RT_USING_SERIAL #define RT_USING_I2C #define RT_USING_I2C_BITOPS @@ -110,6 +112,11 @@ #define RT_MTD_NAND_DEBUG #define RT_USING_RTC #define RT_USING_SDIO +#define RT_SDIO_STACK_SIZE 512 +#define RT_SDIO_THREAD_PRIORITY 15 +#define RT_MMCSD_STACK_SIZE 1024 +#define RT_MMCSD_THREAD_PREORITY 22 +#define RT_MMCSD_MAX_PARTITION 16 #define RT_USING_SPI #define RT_USING_SPI_MSD #define RT_USING_SFUD @@ -135,6 +142,7 @@ #define RT_USING_LWIP #define RT_USING_LWIP202 +#define RT_USING_LWIP_IPV6 #define RT_LWIP_ICMP #define RT_LWIP_DNS #define RT_LWIP_DHCP @@ -162,6 +170,7 @@ #define RT_LWIP_ETHTHREAD_PRIORITY 12 #define RT_LWIP_ETHTHREAD_STACKSIZE 1024 #define RT_LWIP_ETHTHREAD_MBOX_SIZE 8 +#define RT_LWIP_REASSEMBLY_FRAG #define LWIP_NETIF_STATUS_CALLBACK 1 #define SO_REUSE 1 #define LWIP_SO_RCVTIMEO 1 @@ -208,8 +217,6 @@ /* system packages */ -/* RT-Thread GUI Engine */ - /* peripheral libraries and drivers */ @@ -222,12 +229,6 @@ /* example package: hello */ - -/* Privated Packages of RealThread */ - - -/* Network Utilities */ - #define SOC_VEXPRESS_A9 #define RT_USING_UART0 #define RT_USING_UART1 -- GitLab