summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/lcd.c84
-rw-r--r--include/lcd.h38
2 files changed, 49 insertions, 73 deletions
diff --git a/common/lcd.c b/common/lcd.c
index eceb8ad..bd7155f 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -85,15 +85,13 @@
DECLARE_GLOBAL_DATA_PTR;
-ulong lcd_setmem (ulong addr);
-
static void lcd_drawchars(ushort x, ushort y, uchar *str, int count);
static inline void lcd_puts_xy(ushort x, ushort y, uchar *s);
static inline void lcd_putc_xy(ushort x, ushort y, uchar c);
static int lcd_init(void *lcdbase);
-static void *lcd_logo (void);
+static void *lcd_logo(void);
static int lcd_getbgcolor(void);
static void lcd_setfgcolor(int color);
@@ -113,13 +111,6 @@ static void *lcd_base; /* Start of framebuffer memory */
static char lcd_flush_dcache; /* 1 to flush dcache after each lcd update */
-
-#ifdef NOT_USED_SO_FAR
-static void lcd_getcolreg(ushort regno,
- ushort *red, ushort *green, ushort *blue);
-static int lcd_getfgcolor(void);
-#endif /* NOT_USED_SO_FAR */
-
/************************************************************************/
/* Flush LCD activity to the caches */
@@ -158,7 +149,7 @@ static void console_scrollup(void)
/* Clear the last rows */
memset(lcd_console_address + CONSOLE_SIZE - CONSOLE_ROW_SIZE * rows,
COLOR_MASK(lcd_color_bg),
- CONSOLE_ROW_SIZE * rows);
+ CONSOLE_ROW_SIZE * rows);
lcd_sync();
console_row -= rows;
@@ -170,9 +161,8 @@ static inline void console_back(void)
{
if (--console_col < 0) {
console_col = CONSOLE_COLS-1 ;
- if (--console_row < 0) {
+ if (--console_row < 0)
console_row = 0;
- }
}
lcd_putc_xy(console_col * VIDEO_FONT_WIDTH,
@@ -183,16 +173,13 @@ static inline void console_back(void)
static inline void console_newline(void)
{
- ++console_row;
console_col = 0;
/* Check if we need to scroll the terminal */
- if (console_row >= CONSOLE_ROWS) {
- /* Scroll everything up */
+ if (++console_row >= CONSOLE_ROWS)
console_scrollup();
- } else {
+ else
lcd_sync();
- }
}
/*----------------------------------------------------------------------*/
@@ -244,9 +231,9 @@ void lcd_puts(const char *s)
return;
}
- while (*s) {
+ while (*s)
lcd_putc(*s++);
- }
+
lcd_sync();
}
@@ -293,7 +280,7 @@ static void lcd_drawchars(ushort x, ushort y, uchar *str, int count)
#endif
#if LCD_BPP == LCD_MONOCHROME
- uchar rest = *d & -(1 << (8-off));
+ uchar rest = *d & -(1 << (8 - off));
uchar sym;
#endif
for (i = 0; i < count; ++i) {
@@ -323,7 +310,7 @@ static void lcd_drawchars(ushort x, ushort y, uchar *str, int count)
#endif
}
#if LCD_BPP == LCD_MONOCHROME
- *d = rest | (*d & ((1 << (8-off)) - 1));
+ *d = rest | (*d & ((1 << (8 - off)) - 1));
#endif
}
}
@@ -350,7 +337,7 @@ static inline void lcd_putc_xy(ushort x, ushort y, uchar c)
#define N_BLK_VERT 2
#define N_BLK_HOR 3
-static int test_colors[N_BLK_HOR*N_BLK_VERT] = {
+static int test_colors[N_BLK_HOR * N_BLK_VERT] = {
CONSOLE_COLOR_RED, CONSOLE_COLOR_GREEN, CONSOLE_COLOR_YELLOW,
CONSOLE_COLOR_BLUE, CONSOLE_COLOR_MAGENTA, CONSOLE_COLOR_CYAN,
};
@@ -371,7 +358,7 @@ static void test_pattern(void)
for (v = 0; v < v_max; ++v) {
uchar iy = v / v_step;
for (h = 0; h < h_max; ++h) {
- uchar ix = N_BLK_HOR * iy + (h/h_step);
+ uchar ix = N_BLK_HOR * iy + h / h_step;
*pix++ = test_colors[ix];
}
}
@@ -389,12 +376,12 @@ int lcd_get_size(int *line_length)
return *line_length * panel_info.vl_row;
}
-int drv_lcd_init (void)
+int drv_lcd_init(void)
{
struct stdio_dev lcddev;
int rc;
- lcd_base = (void *)(gd->fb_base);
+ lcd_base = (void *) gd->fb_base;
lcd_get_size(&lcd_line_length);
@@ -409,7 +396,7 @@ int drv_lcd_init (void)
lcddev.putc = lcd_putc; /* 'putc' function */
lcddev.puts = lcd_puts; /* 'puts' function */
- rc = stdio_register (&lcddev);
+ rc = stdio_register(&lcddev);
return (rc == 0) ? 1 : rc;
}
@@ -448,11 +435,11 @@ void lcd_clear(void)
/* set framebuffer to background color */
memset((char *)lcd_base,
COLOR_MASK(lcd_getbgcolor()),
- lcd_line_length*panel_info.vl_row);
+ lcd_line_length * panel_info.vl_row);
#endif
/* Paint the logo and retrieve LCD base address */
debug("[LCD] Drawing the logo...\n");
- lcd_console_address = lcd_logo ();
+ lcd_console_address = lcd_logo();
console_col = 0;
console_row = 0;
@@ -482,7 +469,7 @@ static int lcd_init(void *lcdbase)
lcd_ctrl_init(lcdbase);
lcd_is_enabled = 1;
lcd_clear();
- lcd_enable ();
+ lcd_enable();
/* Initialize the console */
console_col = 0;
@@ -523,7 +510,8 @@ ulong lcd_setmem(ulong addr)
/* Allocate pages for the frame buffer. */
addr -= size;
- debug("Reserving %ldk for LCD Framebuffer at: %08lx\n", size>>10, addr);
+ debug("Reserving %ldk for LCD Framebuffer at: %08lx\n",
+ size >> 10, addr);
return addr;
}
@@ -556,8 +544,6 @@ static int lcd_getbgcolor(void)
return lcd_color_bg;
}
-/*----------------------------------------------------------------------*/
-
/************************************************************************/
/* ** Chipset depending Bitmap / Logo stuff... */
/************************************************************************/
@@ -574,13 +560,11 @@ static inline ushort *configuration_get_cmap(void)
return (ushort *)(panel_info.mmio + ATMEL_LCDC_LUT(0));
#elif !defined(CONFIG_ATMEL_HLCD) && !defined(CONFIG_EXYNOS_FB)
return panel_info.cmap;
-#else
-#if defined(CONFIG_LCD_LOGO)
+#elif defined(CONFIG_LCD_LOGO)
return bmp_logo_palette;
#else
return NULL;
#endif
-#endif
}
#ifdef CONFIG_LCD_LOGO
@@ -653,7 +637,7 @@ void bitmap_plot(int x, int y)
for (i = 0; i < BMP_LOGO_HEIGHT; ++i) {
memcpy(fb, bmap, BMP_LOGO_WIDTH);
bmap += BMP_LOGO_WIDTH;
- fb += panel_info.vl_col;
+ fb += panel_info.vl_col;
}
}
else { /* true color mode */
@@ -744,12 +728,11 @@ static void draw_encoded_bitmap(ushort **fbp, ushort c, int cnt)
*fb++ = c;
cnt--;
}
- (*fbp) = fb;
+ *fbp = fb;
}
/*
- * Do not call this function directly, must be called from
- * lcd_display_bitmap.
+ * Do not call this function directly, must be called from lcd_display_bitmap.
*/
static void lcd_display_rle8_bitmap(bmp_image_t *bmp, ushort *cmap, uchar *fb,
int x_off, int y_off)
@@ -876,8 +859,8 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
unsigned long pwidth = panel_info.vl_col;
unsigned colors, bpix, bmp_bpix;
- if (!bmp || !((bmp->header.signature[0] == 'B') &&
- (bmp->header.signature[1] == 'M'))) {
+ if (!bmp || !(bmp->header.signature[0] == 'B' &&
+ bmp->header.signature[1] == 'M')) {
printf("Error: no valid bmp image at %lx\n", bmp_image);
return 1;
@@ -890,7 +873,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
bpix = NBITS(panel_info.vl_bpix);
- if ((bpix != 1) && (bpix != 8) && (bpix != 16) && (bpix != 32)) {
+ if (bpix != 1 && bpix != 8 && bpix != 16 && bpix != 32) {
printf ("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n",
bpix, bmp_bpix);
@@ -958,7 +941,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
}
#endif
- padded_width = (width&0x3) ? ((width&~0x3)+4) : (width);
+ padded_width = (width & 0x3 ? (width & ~0x3) + 4 : width);
#ifdef CONFIG_SPLASH_SCREEN_ALIGN
splash_align_axis(&x, pwidth, width);
@@ -970,7 +953,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
if ((y + height) > panel_info.vl_row)
height = panel_info.vl_row - y;
- bmap = (uchar *)bmp + le32_to_cpu(bmp->header.data_offset);
+ bmap = (uchar *) bmp + le32_to_cpu(bmp->header.data_offset);
fb = (uchar *) (lcd_base +
(y + height - 1) * lcd_line_length + x * bpix / 8);
@@ -1005,7 +988,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
}
}
bmap += (padded_width - width);
- fb -= (byte_width + lcd_line_length);
+ fb -= byte_width + lcd_line_length;
}
break;
@@ -1017,7 +1000,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
fb_put_word(&fb, &bmap);
bmap += (padded_width - width) * 2;
- fb -= (width * 2 + lcd_line_length);
+ fb -= width * 2 + lcd_line_length;
}
break;
#endif /* CONFIG_BMP_16BPP */
@@ -1031,7 +1014,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
*(fb++) = *(bmap++);
*(fb++) = *(bmap++);
}
- fb -= (lcd_line_length + width * (bpix / 8));
+ fb -= lcd_line_length + width * (bpix / 8);
}
break;
#endif /* CONFIG_BMP_32BPP */
@@ -1106,7 +1089,7 @@ static void *lcd_logo(void)
return (void *)((ulong)lcd_base + BMP_LOGO_HEIGHT * lcd_line_length);
#else
return (void *)lcd_base;
-#endif /* CONFIG_LCD_LOGO && !CONFIG_LCD_INFO_BELOW_LOGO */
+#endif /* CONFIG_LCD_LOGO && !defined(CONFIG_LCD_INFO_BELOW_LOGO) */
}
#ifdef CONFIG_SPLASHIMAGE_GUARD
@@ -1158,6 +1141,3 @@ int lcd_get_screen_columns(void)
{
return CONSOLE_COLS;
}
-
-/************************************************************************/
-/************************************************************************/
diff --git a/include/lcd.h b/include/lcd.h
index f88b7e9..eadbb99 100644
--- a/include/lcd.h
+++ b/include/lcd.h
@@ -35,20 +35,19 @@ extern int lcd_line_length;
extern struct vidinfo panel_info;
-extern void lcd_ctrl_init (void *lcdbase);
-extern void lcd_enable (void);
-extern int board_splash_screen_prepare(void);
+void lcd_ctrl_init(void *lcdbase);
+void lcd_enable(void);
+int board_splash_screen_prepare(void);
/* setcolreg used in 8bpp/16bpp; initcolregs used in monochrome */
-extern void lcd_setcolreg (ushort regno,
- ushort red, ushort green, ushort blue);
-extern void lcd_initcolregs (void);
+void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue);
+void lcd_initcolregs(void);
-extern int lcd_getfgcolor(void);
+int lcd_getfgcolor(void);
/* gunzip_bmp used if CONFIG_VIDEO_BMP_GZIP */
-extern struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp);
-extern int bmp_display(ulong addr, int x, int y);
+struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp);
+int bmp_display(ulong addr, int x, int y);
/**
* Set whether we need to flush the dcache when changing the LCD image. This
@@ -259,7 +258,6 @@ typedef struct vidinfo {
unsigned int sclk_div;
unsigned int dual_lcd_enabled;
-
} vidinfo_t;
void init_panel_info(vidinfo_t *vid);
@@ -284,14 +282,12 @@ extern vidinfo_t panel_info;
/* Video functions */
#if defined(CONFIG_RBC823)
-void lcd_disable (void);
+void lcd_disable(void);
#endif
-
-/* int lcd_init (void *lcdbase); */
-void lcd_putc (const char c);
-void lcd_puts (const char *s);
-void lcd_printf (const char *fmt, ...);
+void lcd_putc(const char c);
+void lcd_puts(const char *s);
+void lcd_printf(const char *fmt, ...);
void lcd_clear(void);
int lcd_display_bitmap(ulong bmp_image, int x, int y);
@@ -351,7 +347,7 @@ int lcd_get_size(int *line_length);
* is connected, as we can't autodetect anything.
*/
#define CONFIG_SYS_HIGH 0 /* Pins are active high */
-#define CONFIG_SYS_LOW 1 /* Pins are active low */
+#define CONFIG_SYS_LOW 1 /* Pins are active low */
#define LCD_MONOCHROME 0
#define LCD_COLOR2 1
@@ -365,10 +361,10 @@ int lcd_get_size(int *line_length);
# define LCD_INFO_Y (BMP_LOGO_HEIGHT + VIDEO_FONT_HEIGHT)
#elif defined(CONFIG_LCD_LOGO)
# 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
-# define LCD_INFO_X (VIDEO_FONT_WIDTH)
-# define LCD_INFO_Y (VIDEO_FONT_HEIGHT)
+# define LCD_INFO_X VIDEO_FONT_WIDTH
+# define LCD_INFO_Y VIDEO_FONT_HEIGHT
#endif
/* Default to 8bpp if bit depth not specified */
@@ -436,7 +432,7 @@ int lcd_get_size(int *line_length);
#define CONSOLE_COLS (panel_info.vl_col / VIDEO_FONT_WIDTH)
#define CONSOLE_ROW_SIZE (VIDEO_FONT_HEIGHT * lcd_line_length)
-#define CONSOLE_ROW_FIRST (lcd_console_address)
+#define CONSOLE_ROW_FIRST lcd_console_address
#define CONSOLE_ROW_SECOND (lcd_console_address + CONSOLE_ROW_SIZE)
#define CONSOLE_ROW_LAST (lcd_console_address + CONSOLE_SIZE \
- CONSOLE_ROW_SIZE)