lcd: various cleanups

This cleanup mostly focuses on removing unnecessary whitespace and comments
which are superfluous and/or do not conform to the coding style.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Bo Shen <voice.shen@atmel.com>
Tested-by: Josh Wu <josh.wu@atmel.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Anatolij Gustschin <agust@denx.de>
master
Nikita Kiryanov 9 years ago committed by Anatolij Gustschin
parent 8ddfe2fad8
commit c8d2febcc7
  1. 90
      common/lcd.c
  2. 102
      include/lcd.h

@ -1,5 +1,5 @@
/* /*
* Common LCD routines for supported CPUs * Common LCD routines
* *
* (C) Copyright 2001-2002 * (C) Copyright 2001-2002
* Wolfgang Denk, DENX Software Engineering -- wd@denx.de * Wolfgang Denk, DENX Software Engineering -- wd@denx.de
@ -7,12 +7,7 @@
* SPDX-License-Identifier: GPL-2.0+ * SPDX-License-Identifier: GPL-2.0+
*/ */
/************************************************************************/
/* ** HEADER FILES */
/************************************************************************/
/* #define DEBUG */ /* #define DEBUG */
#include <config.h> #include <config.h>
#include <common.h> #include <common.h>
#include <command.h> #include <command.h>
@ -26,25 +21,18 @@
#include <asm/io.h> #include <asm/io.h>
#include <asm/unaligned.h> #include <asm/unaligned.h>
#include <fdt_support.h> #include <fdt_support.h>
#include <video_font.h>
#if defined(CONFIG_LCD_DT_SIMPLEFB) #if defined(CONFIG_LCD_DT_SIMPLEFB)
#include <libfdt.h> #include <libfdt.h>
#endif #endif
/************************************************************************/
/* ** FONT DATA */
/************************************************************************/
#include <video_font.h> /* Get font data, width and height */
/************************************************************************/
/* ** LOGO DATA */
/************************************************************************/
#ifdef CONFIG_LCD_LOGO #ifdef CONFIG_LCD_LOGO
# include <bmp_logo.h> /* Get logo data, width and height */ #include <bmp_logo.h>
# include <bmp_logo_data.h> #include <bmp_logo_data.h>
# if (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET) && (LCD_BPP != LCD_COLOR16) #if (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET) && (LCD_BPP != LCD_COLOR16)
# error Default Color Map overlaps with Logo Color Map #error Default Color Map overlaps with Logo Color Map
# endif #endif
#endif #endif
#ifdef CONFIG_SANDBOX #ifdef CONFIG_SANDBOX
@ -57,30 +45,23 @@
#if (LCD_BPP != LCD_COLOR8) && (LCD_BPP != LCD_COLOR16) && \ #if (LCD_BPP != LCD_COLOR8) && (LCD_BPP != LCD_COLOR16) && \
(LCD_BPP != LCD_COLOR32) (LCD_BPP != LCD_COLOR32)
# error Unsupported LCD BPP. #error Unsupported LCD BPP.
#endif #endif
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
static int lcd_init(void *lcdbase); static int lcd_init(void *lcdbase);
static void *lcd_logo(void); static void *lcd_logo(void);
static void lcd_setfgcolor(int color); static void lcd_setfgcolor(int color);
static void lcd_setbgcolor(int color); static void lcd_setbgcolor(int color);
static int lcd_color_fg; static int lcd_color_fg;
static int lcd_color_bg; static int lcd_color_bg;
int lcd_line_length; int lcd_line_length;
char lcd_is_enabled = 0; char lcd_is_enabled = 0;
static void *lcd_base; /* Start of framebuffer memory */ static void *lcd_base; /* Start of framebuffer memory */
static char lcd_flush_dcache; /* 1 to flush dcache after each lcd update */ static char lcd_flush_dcache; /* 1 to flush dcache after each lcd update */
/************************************************************************/
/* Flush LCD activity to the caches */ /* Flush LCD activity to the caches */
void lcd_sync(void) void lcd_sync(void)
{ {
@ -110,8 +91,6 @@ void lcd_set_flush_dcache(int flush)
lcd_flush_dcache = (flush != 0); lcd_flush_dcache = (flush != 0);
} }
/*----------------------------------------------------------------------*/
static void lcd_stub_putc(struct stdio_dev *dev, const char c) static void lcd_stub_putc(struct stdio_dev *dev, const char c)
{ {
lcd_putc(c); lcd_putc(c);
@ -122,9 +101,7 @@ static void lcd_stub_puts(struct stdio_dev *dev, const char *s)
lcd_puts(s); lcd_puts(s);
} }
/************************************************************************/ /* Small utility to check that you got the colours right */
/** Small utility to check that you got the colours right */
/************************************************************************/
#ifdef LCD_TEST_PATTERN #ifdef LCD_TEST_PATTERN
#define N_BLK_VERT 2 #define N_BLK_VERT 2
@ -158,10 +135,6 @@ static void test_pattern(void)
} }
#endif /* LCD_TEST_PATTERN */ #endif /* LCD_TEST_PATTERN */
/************************************************************************/
/* ** GENERIC Initialization Routines */
/************************************************************************/
/* /*
* With most lcd drivers the line length is set up * With most lcd drivers the line length is set up
* by calculating it from panel_info parameters. Some * by calculating it from panel_info parameters. Some
@ -181,7 +154,7 @@ int drv_lcd_init(void)
lcd_base = map_sysmem(gd->fb_base, 0); lcd_base = map_sysmem(gd->fb_base, 0);
lcd_init(lcd_base); /* LCD initialization */ lcd_init(lcd_base);
/* Device initialization */ /* Device initialization */
memset(&lcddev, 0, sizeof(lcddev)); memset(&lcddev, 0, sizeof(lcddev));
@ -197,7 +170,6 @@ int drv_lcd_init(void)
return (rc == 0) ? 1 : rc; return (rc == 0) ? 1 : rc;
} }
/*----------------------------------------------------------------------*/
void lcd_clear(void) void lcd_clear(void)
{ {
short console_rows, console_cols; short console_rows, console_cols;
@ -261,20 +233,11 @@ static int do_lcd_clear(cmd_tbl_t *cmdtp, int flag, int argc,
lcd_clear(); lcd_clear();
return 0; return 0;
} }
U_BOOT_CMD(cls, 1, 1, do_lcd_clear, "clear screen", "");
U_BOOT_CMD(
cls, 1, 1, do_lcd_clear,
"clear screen",
""
);
/*----------------------------------------------------------------------*/
static int lcd_init(void *lcdbase) static int lcd_init(void *lcdbase)
{ {
/* Initialize the lcd controller */
debug("[LCD] Initializing LCD frambuffer at %p\n", lcdbase); debug("[LCD] Initializing LCD frambuffer at %p\n", lcdbase);
lcd_ctrl_init(lcdbase); lcd_ctrl_init(lcdbase);
/* /*
@ -304,10 +267,6 @@ static int lcd_init(void *lcdbase)
return 0; return 0;
} }
/************************************************************************/
/* ** ROM capable initialization part - needed to reserve FB memory */
/************************************************************************/
/* /*
* This is called early in the system initialization to grab memory * This is called early in the system initialization to grab memory
* for the LCD controller. * for the LCD controller.
@ -338,8 +297,6 @@ ulong lcd_setmem(ulong addr)
return addr; return addr;
} }
/*----------------------------------------------------------------------*/
static void lcd_setfgcolor(int color) static void lcd_setfgcolor(int color)
{ {
lcd_color_fg = color; lcd_color_fg = color;
@ -350,8 +307,6 @@ int lcd_getfgcolor(void)
return lcd_color_fg; return lcd_color_fg;
} }
/*----------------------------------------------------------------------*/
static void lcd_setbgcolor(int color) static void lcd_setbgcolor(int color)
{ {
lcd_color_bg = color; lcd_color_bg = color;
@ -362,10 +317,6 @@ int lcd_getbgcolor(void)
return lcd_color_bg; return lcd_color_bg;
} }
/************************************************************************/
/* ** Chipset depending Bitmap / Logo stuff... */
/************************************************************************/
#ifdef CONFIG_LCD_LOGO #ifdef CONFIG_LCD_LOGO
__weak void lcd_logo_set_cmap(void) __weak void lcd_logo_set_cmap(void)
{ {
@ -379,17 +330,14 @@ __weak void lcd_logo_set_cmap(void)
void bitmap_plot(int x, int y) void bitmap_plot(int x, int y)
{ {
ushort i, j; ushort i, j;
uchar *bmap; uchar *bmap = &bmp_logo_bitmap[0];
uchar *fb;
ushort *fb16;
unsigned bpix = NBITS(panel_info.vl_bpix); unsigned bpix = NBITS(panel_info.vl_bpix);
uchar *fb = (uchar *)(lcd_base + y * lcd_line_length + x * bpix / 8);
ushort *fb16;
debug("Logo: width %d height %d colors %d\n", debug("Logo: width %d height %d colors %d\n",
BMP_LOGO_WIDTH, BMP_LOGO_HEIGHT, BMP_LOGO_COLORS); BMP_LOGO_WIDTH, BMP_LOGO_HEIGHT, BMP_LOGO_COLORS);
bmap = &bmp_logo_bitmap[0];
fb = (uchar *)(lcd_base + y * lcd_line_length + x * bpix / 8);
if (bpix < 12) { if (bpix < 12) {
WATCHDOG_RESET(); WATCHDOG_RESET();
lcd_logo_set_cmap(); lcd_logo_set_cmap();
@ -424,13 +372,7 @@ void bitmap_plot(int x, int y)
static inline void bitmap_plot(int x, int y) {} static inline void bitmap_plot(int x, int y) {}
#endif /* CONFIG_LCD_LOGO */ #endif /* CONFIG_LCD_LOGO */
/*----------------------------------------------------------------------*/
#if defined(CONFIG_CMD_BMP) || defined(CONFIG_SPLASH_SCREEN) #if defined(CONFIG_CMD_BMP) || defined(CONFIG_SPLASH_SCREEN)
/*
* Display the BMP file located at address bmp_image.
* Only uncompressed.
*/
#ifdef CONFIG_SPLASH_SCREEN_ALIGN #ifdef CONFIG_SPLASH_SCREEN_ALIGN
#define BMP_ALIGN_CENTER 0x7FFF #define BMP_ALIGN_CENTER 0x7FFF
@ -451,9 +393,7 @@ static void splash_align_axis(int *axis, unsigned long panel_size,
} }
#endif #endif
#ifdef CONFIG_LCD_BMP_RLE8 #ifdef CONFIG_LCD_BMP_RLE8
#define BMP_RLE8_ESCAPE 0 #define BMP_RLE8_ESCAPE 0
#define BMP_RLE8_EOL 0 #define BMP_RLE8_EOL 0
#define BMP_RLE8_EOBMP 1 #define BMP_RLE8_EOBMP 1
@ -683,7 +623,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
(y + height - 1) * lcd_line_length + x * bpix / 8); (y + height - 1) * lcd_line_length + x * bpix / 8);
switch (bmp_bpix) { switch (bmp_bpix) {
case 1: /* pass through */ case 1:
case 8: { case 8: {
cmap_base = configuration_get_cmap(); cmap_base = configuration_get_cmap();
#ifdef CONFIG_LCD_BMP_RLE8 #ifdef CONFIG_LCD_BMP_RLE8

@ -13,21 +13,19 @@
#ifndef _LCD_H_ #ifndef _LCD_H_
#define _LCD_H_ #define _LCD_H_
#include <lcd_console.h> #include <lcd_console.h>
#if defined(CONFIG_CMD_BMP) || defined(CONFIG_SPLASH_SCREEN)
#include <bmp_layout.h>
#include <asm/byteorder.h>
#endif
extern char lcd_is_enabled; extern char lcd_is_enabled;
extern int lcd_line_length; extern int lcd_line_length;
extern struct vidinfo panel_info; extern struct vidinfo panel_info;
void lcd_ctrl_init(void *lcdbase); void lcd_ctrl_init(void *lcdbase);
void lcd_enable(void); void lcd_enable(void);
/* setcolreg used in 8bpp/16bpp; initcolregs used in monochrome */
void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue); void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue);
void lcd_initcolregs(void);
/* gunzip_bmp used if CONFIG_VIDEO_BMP_GZIP */
struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp, struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp,
void **alloc_addr); void **alloc_addr);
int bmp_display(ulong addr, int x, int y); int bmp_display(ulong addr, int x, int y);
@ -53,11 +51,8 @@ void lcd_set_flush_dcache(int flush);
typedef struct vidinfo { typedef struct vidinfo {
ushort vl_col; /* Number of columns (i.e. 160) */ ushort vl_col; /* Number of columns (i.e. 160) */
ushort vl_row; /* Number of rows (i.e. 100) */ ushort vl_row; /* Number of rows (i.e. 100) */
u_char vl_bpix; /* Bits per pixel, 0 = 1 */ u_char vl_bpix; /* Bits per pixel, 0 = 1 */
ushort *cmap; /* Pointer to the colormap */ ushort *cmap; /* Pointer to the colormap */
void *priv; /* Pointer to driver-specific data */ void *priv; /* Pointer to driver-specific data */
} vidinfo_t; } vidinfo_t;
@ -71,13 +66,11 @@ ushort *configuration_get_cmap(void);
extern vidinfo_t panel_info; extern vidinfo_t panel_info;
/* Video functions */ void lcd_putc(const char c);
void lcd_puts(const char *s);
void lcd_putc(const char c); void lcd_printf(const char *fmt, ...);
void lcd_puts(const char *s); void lcd_clear(void);
void lcd_printf(const char *fmt, ...); int lcd_display_bitmap(ulong bmp_image, int x, int y);
void lcd_clear(void);
int lcd_display_bitmap(ulong bmp_image, int x, int y);
/** /**
* Get the width of the LCD in pixels * Get the width of the LCD in pixels
@ -141,14 +134,6 @@ int lcd_dt_simplefb_enable_existing_node(void *blob);
/* Update the LCD / flush the cache */ /* Update the LCD / flush the cache */
void lcd_sync(void); void lcd_sync(void);
/************************************************************************/
/* ** BITMAP DISPLAY SUPPORT */
/************************************************************************/
#if defined(CONFIG_CMD_BMP) || defined(CONFIG_SPLASH_SCREEN)
# include <bmp_layout.h>
# include <asm/byteorder.h>
#endif
/* /*
* Information about displays we are using. This is for configuring * Information about displays we are using. This is for configuring
* the LCD controller and memory allocation. Someone has to know what * the LCD controller and memory allocation. Someone has to know what
@ -163,38 +148,32 @@ void lcd_sync(void);
#define LCD_COLOR8 3 #define LCD_COLOR8 3
#define LCD_COLOR16 4 #define LCD_COLOR16 4
#define LCD_COLOR32 5 #define LCD_COLOR32 5
/*----------------------------------------------------------------------*/
#if defined(CONFIG_LCD_INFO_BELOW_LOGO) #if defined(CONFIG_LCD_INFO_BELOW_LOGO)
# define LCD_INFO_X 0 #define LCD_INFO_X 0
# define LCD_INFO_Y (BMP_LOGO_HEIGHT + VIDEO_FONT_HEIGHT) #define LCD_INFO_Y (BMP_LOGO_HEIGHT + VIDEO_FONT_HEIGHT)
#elif defined(CONFIG_LCD_LOGO) #elif defined(CONFIG_LCD_LOGO)
# define LCD_INFO_X (BMP_LOGO_WIDTH + 4 * VIDEO_FONT_WIDTH) #define LCD_INFO_X (BMP_LOGO_WIDTH + 4 * VIDEO_FONT_WIDTH)
# define LCD_INFO_Y VIDEO_FONT_HEIGHT #define LCD_INFO_Y VIDEO_FONT_HEIGHT
#else #else
# define LCD_INFO_X VIDEO_FONT_WIDTH #define LCD_INFO_X VIDEO_FONT_WIDTH
# define LCD_INFO_Y VIDEO_FONT_HEIGHT #define LCD_INFO_Y VIDEO_FONT_HEIGHT
#endif #endif
/* Default to 8bpp if bit depth not specified */ /* Default to 8bpp if bit depth not specified */
#ifndef LCD_BPP #ifndef LCD_BPP
# define LCD_BPP LCD_COLOR8 #define LCD_BPP LCD_COLOR8
#endif #endif
#ifndef LCD_DF #ifndef LCD_DF
# define LCD_DF 1 #define LCD_DF 1
#endif #endif
/* Calculate nr. of bits per pixel and nr. of colors */ /* Calculate nr. of bits per pixel and nr. of colors */
#define NBITS(bit_code) (1 << (bit_code)) #define NBITS(bit_code) (1 << (bit_code))
#define NCOLORS(bit_code) (1 << NBITS(bit_code)) #define NCOLORS(bit_code) (1 << NBITS(bit_code))
/************************************************************************/
/* ** CONSOLE CONSTANTS */
/************************************************************************/
#if LCD_BPP == LCD_COLOR8 #if LCD_BPP == LCD_COLOR8
/*
* 8bpp color definitions
*/
# define CONSOLE_COLOR_BLACK 0 # define CONSOLE_COLOR_BLACK 0
# define CONSOLE_COLOR_RED 1 # define CONSOLE_COLOR_RED 1
# define CONSOLE_COLOR_GREEN 2 # define CONSOLE_COLOR_GREEN 2
@ -203,38 +182,25 @@ void lcd_sync(void);
# define CONSOLE_COLOR_MAGENTA 5 # define CONSOLE_COLOR_MAGENTA 5
# define CONSOLE_COLOR_CYAN 6 # define CONSOLE_COLOR_CYAN 6
# define CONSOLE_COLOR_GREY 14 # define CONSOLE_COLOR_GREY 14
# define CONSOLE_COLOR_WHITE 15 /* Must remain last / highest */ # define CONSOLE_COLOR_WHITE 15 /* Must remain last / highest */
#elif LCD_BPP == LCD_COLOR32 #elif LCD_BPP == LCD_COLOR32
/* #define CONSOLE_COLOR_RED 0x00ff0000
* 32bpp color definitions #define CONSOLE_COLOR_GREEN 0x0000ff00
*/ #define CONSOLE_COLOR_YELLOW 0x00ffff00
# define CONSOLE_COLOR_RED 0x00ff0000 #define CONSOLE_COLOR_BLUE 0x000000ff
# define CONSOLE_COLOR_GREEN 0x0000ff00 #define CONSOLE_COLOR_MAGENTA 0x00ff00ff
# define CONSOLE_COLOR_YELLOW 0x00ffff00 #define CONSOLE_COLOR_CYAN 0x0000ffff
# define CONSOLE_COLOR_BLUE 0x000000ff #define CONSOLE_COLOR_GREY 0x00aaaaaa
# define CONSOLE_COLOR_MAGENTA 0x00ff00ff #define CONSOLE_COLOR_BLACK 0x00000000
# define CONSOLE_COLOR_CYAN 0x0000ffff #define CONSOLE_COLOR_WHITE 0x00ffffff /* Must remain last / highest */
# define CONSOLE_COLOR_GREY 0x00aaaaaa #define NBYTES(bit_code) (NBITS(bit_code) >> 3)
# define CONSOLE_COLOR_BLACK 0x00000000 #else /* 16bpp color definitions */
# define CONSOLE_COLOR_WHITE 0x00ffffff /* Must remain last / highest*/ #define CONSOLE_COLOR_BLACK 0x0000
# define NBYTES(bit_code) (NBITS(bit_code) >> 3) #define CONSOLE_COLOR_WHITE 0xffff /* Must remain last / highest */
#else
/*
* 16bpp color definitions
*/
# define CONSOLE_COLOR_BLACK 0x0000
# define CONSOLE_COLOR_WHITE 0xffff /* Must remain last / highest */
#endif /* color definitions */ #endif /* color definitions */
/************************************************************************/
#ifndef PAGE_SIZE #ifndef PAGE_SIZE
# define PAGE_SIZE 4096 #define PAGE_SIZE 4096
#endif #endif
/************************************************************************/
#endif /* _LCD_H_ */ #endif /* _LCD_H_ */

Loading…
Cancel
Save