X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=board%2Fbf527-ezkit%2Fvideo.c;h=c2bf145013f9388cd40f1e572f2f86b6aef5e088;hb=25c0673635da1bef75ab5a9d852f92e0f0b581df;hp=87e7658b4df7a2ba460aac6fb83426b5d127fc1f;hpb=e67f46286440a53fb1d693152667ea3b1a6b3060;p=oweals%2Fu-boot.git diff --git a/board/bf527-ezkit/video.c b/board/bf527-ezkit/video.c index 87e7658b4d..c2bf145013 100644 --- a/board/bf527-ezkit/video.c +++ b/board/bf527-ezkit/video.c @@ -17,6 +17,10 @@ #include #include +#include +#include +#include + #include #include @@ -24,12 +28,9 @@ #define LCD_Y_RES 240 /* Vertical Resolution */ #define DMA_BUS_SIZE 16 -#ifdef CONFIG_MK_BF527_EZKIT_REV_2_1 /* lq035q1 */ +#include EASYLOGO_HEADER -#if !defined(CONFIG_LQ035Q1_USE_RGB888_8_BIT_PPI) && \ - !defined(CONFIG_LQ035Q1_USE_RGB565_8_BIT_PPI) -# define CONFIG_LQ035Q1_USE_RGB565_8_BIT_PPI -#endif +#ifdef CONFIG_BF527_EZKIT_REV_2_1 /* lq035q1 */ /* Interface 16/18-bit TFT over an 8-bit wide PPI using a * small Programmable Logic Device (CPLD) @@ -37,14 +38,12 @@ */ #ifdef CONFIG_LQ035Q1_USE_RGB565_8_BIT_PPI -#include #define LCD_BPP 16 /* Bit Per Pixel */ #define CLOCKS_PPIX 2 /* Clocks per pixel */ #define CPLD_DELAY 3 /* RGB565 pipeline delay */ #endif #ifdef CONFIG_LQ035Q1_USE_RGB888_8_BIT_PPI -#include #define LCD_BPP 24 /* Bit Per Pixel */ #define CLOCKS_PPIX 3 /* Clocks per pixel */ #define CPLD_DELAY 5 /* RGB888 pipeline delay */ @@ -96,7 +95,6 @@ #endif #else /* t350mcqb */ -#include #define LCD_BPP 24 /* Bit Per Pixel */ #define CLOCKS_PPIX 3 /* Clocks per pixel */ @@ -125,7 +123,7 @@ #define PPI_PACK_EN 0x80 #define PPI_POLS_1 0x8000 -#ifdef CONFIG_MK_BF527_EZKIT_REV_2_1 +#ifdef CONFIG_BF527_EZKIT_REV_2_1 static struct spi_slave *slave; static int lq035q1_control(unsigned char reg, unsigned short value) { @@ -305,7 +303,7 @@ void EnableTIMER12(void) int video_init(void *dst) { -#ifdef CONFIG_MK_BF527_EZKIT_REV_2_1 +#ifdef CONFIG_BF527_EZKIT_REV_2_1 lq035q1_control(LQ035_SHUT_CTL, LQ035_ON); lq035q1_control(LQ035_DRIVER_OUTPUT_CTL, (CONFIG_LQ035Q1_LCD_MODE & LQ035_DRIVER_OUTPUT_MASK) | LQ035_DRIVER_OUTPUT_DEFAULT); @@ -318,7 +316,7 @@ int video_init(void *dst) Init_PPI(); EnablePPI(); -#ifdef CONFIG_MK_BF527_EZKIT_REV_2_1 +#ifdef CONFIG_BF527_EZKIT_REV_2_1 EnableTIMER12(); #else /* Frame sync 2 (VS) needs to start at least one PPI clk earlier */ @@ -388,19 +386,11 @@ void video_stop(void) DisableDMA(); DisableTIMER0(); DisableTIMER1(); -#ifdef CONFIG_MK_BF527_EZKIT_REV_2_1 +#ifdef CONFIG_BF527_EZKIT_REV_2_1 lq035q1_control(LQ035_SHUT_CTL, LQ035_SHUT); #endif } -void video_putc(const char c) -{ -} - -void video_puts(const char *s) -{ -} - int drv_video_init(void) { int error, devices = 1; @@ -419,13 +409,23 @@ int drv_video_init(void) #ifdef EASYLOGO_ENABLE_GZIP unsigned char *data = EASYLOGO_DECOMP_BUFFER; unsigned long src_len = EASYLOGO_ENABLE_GZIP; - if (gunzip(data, bfin_logo.size, bfin_logo.data, &src_len)) { + error = gunzip(data, bfin_logo.size, bfin_logo.data, &src_len); + bfin_logo.data = data; +#elif defined(EASYLOGO_ENABLE_LZMA) + unsigned char *data = EASYLOGO_DECOMP_BUFFER; + SizeT lzma_len = bfin_logo.size; + error = lzmaBuffToBuffDecompress(data, &lzma_len, + bfin_logo.data, EASYLOGO_ENABLE_LZMA); + bfin_logo.data = data; +#else + error = 0; +#endif + + if (error) { puts("Failed to decompress logo\n"); free(dst); return -1; } - bfin_logo.data = data; -#endif memset(dst + ACTIVE_VIDEO_MEM_OFFSET, bfin_logo.data[0], fbmem_size - ACTIVE_VIDEO_MEM_OFFSET); @@ -440,8 +440,6 @@ int drv_video_init(void) strcpy(videodev.name, "video"); videodev.ext = DEV_EXT_VIDEO; /* Video extensions */ videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ - videodev.putc = video_putc; /* 'putc' function */ - videodev.puts = video_puts; /* 'puts' function */ error = stdio_register(&videodev);