]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/lcd.h
video: atmel_hlcdfb: change type of 'mmio' to avoid unnecessary type casts
[karo-tx-uboot.git] / include / lcd.h
index 5f84cd3c5b2ccad57c78fdf01419f0e50e2b11db..187584ca1372c4a9714eabbb29b09a21bdd2c58b 100644 (file)
@@ -1,4 +1,6 @@
 /*
+ * Copyright (C) 2004-2010 Freescale Semiconductor, Inc.
+ *
  * MPC823 and PXA LCD Controller
  *
  * Modeled after video interface by Paolo Scaffardi
@@ -12,6 +14,7 @@
 
 #ifndef _LCD_H_
 #define _LCD_H_
+#include <lcd_console.h>
 
 extern char lcd_is_enabled;
 
@@ -26,8 +29,6 @@ void lcd_enable(void);
 void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue);
 void lcd_initcolregs(void);
 
-int lcd_getfgcolor(void);
-
 /* gunzip_bmp used if CONFIG_VIDEO_BMP_GZIP */
 struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp,
                             void **alloc_addr);
@@ -166,7 +167,7 @@ typedef struct vidinfo {
        u_long vl_upper_margin; /* Time from sync to picture */
        u_long vl_lower_margin; /* Time from picture to sync */
 
-       u_long  mmio;           /* Memory mapped registers */
+       void *mmio;             /* Memory mapped registers */
 } vidinfo_t;
 
 #elif defined(CONFIG_EXYNOS_FB)
@@ -252,15 +253,14 @@ typedef struct vidinfo {
        void    *priv;          /* Pointer to driver-specific data */
 } vidinfo_t;
 
-#endif /* CONFIG_MPC823, CONFIG_CPU_PXA25X, CONFIG_MCC200, CONFIG_ATMEL_LCD */
+#endif /* CONFIG_MPC823, CONFIG_CPU_PXA25X, CONFIG_ATMEL_LCD */
 
 extern vidinfo_t panel_info;
 
 /* Video functions */
 
-#if defined(CONFIG_RBC823)
 void   lcd_disable(void);
-#endif
+void   lcd_panel_disable(void);
 
 void   lcd_putc(const char c);
 void   lcd_puts(const char *s);
@@ -296,6 +296,20 @@ int lcd_get_screen_rows(void);
  */
 int lcd_get_screen_columns(void);
 
+/**
+ * Get the background color of the LCD
+ *
+ * @return background color value
+ */
+int lcd_getbgcolor(void);
+
+/**
+ * Get the foreground color of the LCD
+ *
+ * @return foreground color value
+ */
+int lcd_getfgcolor(void);
+
 /**
  * Set the position of the text cursor
  *
@@ -337,7 +351,7 @@ void lcd_sync(void);
 #define LCD_COLOR4     2
 #define LCD_COLOR8     3
 #define LCD_COLOR16    4
-
+#define LCD_COLOR32    5
 /*----------------------------------------------------------------------*/
 #if defined(CONFIG_LCD_INFO_BELOW_LOGO)
 # define LCD_INFO_X            0
@@ -365,15 +379,7 @@ void lcd_sync(void);
 /************************************************************************/
 /* ** CONSOLE CONSTANTS                                                        */
 /************************************************************************/
-#if LCD_BPP == LCD_MONOCHROME
-
-/*
- * Simple black/white definitions
- */
-# define CONSOLE_COLOR_BLACK   0
-# define CONSOLE_COLOR_WHITE   1       /* Must remain last / highest   */
-
-#elif LCD_BPP == LCD_COLOR8
+#if LCD_BPP == LCD_COLOR8
 
 /*
  * 8bpp color definitions
@@ -388,14 +394,38 @@ void lcd_sync(void);
 # define CONSOLE_COLOR_GREY    14
 # define CONSOLE_COLOR_WHITE   15      /* Must remain last / highest   */
 
-#else
+#elif LCD_BPP == LCD_COLOR32
+/*
+ * 32bpp color definitions
+ */
+# define CONSOLE_COLOR_RED     0x00ff0000
+# define CONSOLE_COLOR_GREEN   0x0000ff00
+# define CONSOLE_COLOR_YELLOW  0x00ffff00
+# define CONSOLE_COLOR_BLUE    0x000000ff
+# define CONSOLE_COLOR_MAGENTA 0x00ff00ff
+# define CONSOLE_COLOR_CYAN    0x0000ffff
+# define CONSOLE_COLOR_GREY    0x00aaaaaa
+# define CONSOLE_COLOR_BLACK   0x00000000
+# define CONSOLE_COLOR_WHITE   0x00ffffff      /* Must remain last / highest*/
+# define NBYTES(bit_code)      (NBITS(bit_code) >> 3)
+
+#elif LCD_BPP == LCD_COLOR16
 
 /*
  * 16bpp color definitions
  */
 # define CONSOLE_COLOR_BLACK   0x0000
+# define CONSOLE_COLOR_RED     0xf800
+# define CONSOLE_COLOR_GREEN   0x07e0
+# define CONSOLE_COLOR_YELLOW  0xffe0
+# define CONSOLE_COLOR_BLUE    0x001f
+# define CONSOLE_COLOR_MAGENTA 0xf81f
+# define CONSOLE_COLOR_CYAN    0x07ff
+# define CONSOLE_COLOR_GREY    0xcccc
 # define CONSOLE_COLOR_WHITE   0xffff  /* Must remain last / highest   */
 
+#else
+#error Invalid LCD_BPP setting
 #endif /* color definitions */
 
 /************************************************************************/