summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2015-04-20 09:13:52 -0400
committerTom Rini <trini@konsulko.com>2015-04-20 09:13:52 -0400
commit1733259d25015c28c47990ec11af99b3f62f811c (patch)
tree654c376440e5b01603e88dc22047d657f635def7 /include
parent791a9f67f4f8db512cf59b40f47544fb335cd8db (diff)
parentfc1a79d95e9038e9cf53f99c1825005b4dfaf7f4 (diff)
downloadtalos-obmc-uboot-1733259d25015c28c47990ec11af99b3f62f811c.tar.gz
talos-obmc-uboot-1733259d25015c28c47990ec11af99b3f62f811c.zip
Merge branch 'master' of git://git.denx.de/u-boot-video
Diffstat (limited to 'include')
-rw-r--r--include/atmel_lcd.h3
-rw-r--r--include/exynos_lcd.h1
-rw-r--r--include/lcd.h9
-rw-r--r--include/lcd_console.h28
-rw-r--r--include/mpc823_lcd.h1
-rw-r--r--include/pxa_lcd.h1
-rw-r--r--include/video.h4
7 files changed, 42 insertions, 5 deletions
diff --git a/include/atmel_lcd.h b/include/atmel_lcd.h
index fa8aa29454..6993128b1b 100644
--- a/include/atmel_lcd.h
+++ b/include/atmel_lcd.h
@@ -13,7 +13,8 @@
typedef struct vidinfo {
ushort vl_col; /* Number of columns (i.e. 640) */
ushort vl_row; /* Number of rows (i.e. 480) */
- u_long vl_clk; /* pixel clock in ps */
+ ushort vl_rot; /* Rotation of Display (0, 1, 2, 3) */
+ u_long vl_clk; /* pixel clock in ps */
/* LCD configuration register */
u_long vl_sync; /* Horizontal / vertical sync */
diff --git a/include/exynos_lcd.h b/include/exynos_lcd.h
index cf389dac69..3969a6a066 100644
--- a/include/exynos_lcd.h
+++ b/include/exynos_lcd.h
@@ -25,6 +25,7 @@ enum exynos_fb_rgb_mode_t {
typedef struct vidinfo {
ushort vl_col; /* Number of columns (i.e. 640) */
ushort vl_row; /* Number of rows (i.e. 480) */
+ ushort vl_rot; /* Rotation of Display (0, 1, 2, 3) */
ushort vl_width; /* Width of display area in millimeters */
ushort vl_height; /* Height of display area in millimeters */
diff --git a/include/lcd.h b/include/lcd.h
index f049fd3489..59202b7e59 100644
--- a/include/lcd.h
+++ b/include/lcd.h
@@ -51,6 +51,7 @@ void lcd_set_flush_dcache(int flush);
typedef struct vidinfo {
ushort vl_col; /* Number of columns (i.e. 160) */
ushort vl_row; /* Number of rows (i.e. 100) */
+ ushort vl_rot; /* Rotation of Display (0, 1, 2, 3) */
u_char vl_bpix; /* Bits per pixel, 0 = 1 */
ushort *cmap; /* Pointer to the colormap */
void *priv; /* Pointer to driver-specific data */
@@ -196,6 +197,14 @@ void lcd_sync(void);
#define CONSOLE_COLOR_WHITE 0xffff /* Must remain last / highest */
#endif /* color definitions */
+#if LCD_BPP == LCD_COLOR16
+#define fbptr_t ushort
+#elif LCD_BPP == LCD_COLOR32
+#define fbptr_t u32
+#else
+#define fbptr_t uchar
+#endif
+
#ifndef PAGE_SIZE
#define PAGE_SIZE 4096
#endif
diff --git a/include/lcd_console.h b/include/lcd_console.h
index 429214df80..2e0f56f990 100644
--- a/include/lcd_console.h
+++ b/include/lcd_console.h
@@ -9,6 +9,26 @@
#define CONFIG_CONSOLE_SCROLL_LINES 1
#endif
+struct console_t {
+ short curr_col, curr_row;
+ short cols, rows;
+ void *fbbase;
+ u32 lcdsizex, lcdsizey, lcdrot;
+ void (*fp_putc_xy)(struct console_t *pcons, ushort x, ushort y, char c);
+ void (*fp_console_moverow)(struct console_t *pcons,
+ u32 rowdst, u32 rowsrc);
+ void (*fp_console_setrow)(struct console_t *pcons, u32 row, int clr);
+};
+
+/**
+ * console_calc_rowcol() - calculate available rows / columns wihtin a given
+ * screen-size based on used VIDEO_FONT.
+ *
+ * @pcons: Pointer to struct console_t
+ * @sizex: size X of the screen in pixel
+ * @sizey: size Y of the screen in pixel
+ */
+void console_calc_rowcol(struct console_t *pcons, u32 sizex, u32 sizey);
/**
* lcd_init_console() - Initialize lcd console parameters
*
@@ -16,11 +36,11 @@
* console has.
*
* @address: Console base address
- * @rows: Number of rows in the console
- * @cols: Number of columns in the console
+ * @vl_rows: Number of rows in the console
+ * @vl_cols: Number of columns in the console
+ * @vl_rot: Rotation of display in degree (0 - 90 - 180 - 270) counterlockwise
*/
-void lcd_init_console(void *address, int rows, int cols);
-
+void lcd_init_console(void *address, int vl_cols, int vl_rows, int vl_rot);
/**
* lcd_set_col() - Set the number of the current lcd console column
*
diff --git a/include/mpc823_lcd.h b/include/mpc823_lcd.h
index 7e210e3296..cc72cde13f 100644
--- a/include/mpc823_lcd.h
+++ b/include/mpc823_lcd.h
@@ -16,6 +16,7 @@
typedef struct vidinfo {
ushort vl_col; /* Number of columns (i.e. 640) */
ushort vl_row; /* Number of rows (i.e. 480) */
+ ushort vl_rot; /* Rotation of Display (0, 1, 2, 3) */
ushort vl_width; /* Width of display area in millimeters */
ushort vl_height; /* Height of display area in millimeters */
diff --git a/include/pxa_lcd.h b/include/pxa_lcd.h
index 723f6ab766..1ea3717bf7 100644
--- a/include/pxa_lcd.h
+++ b/include/pxa_lcd.h
@@ -48,6 +48,7 @@ struct pxafb_info {
typedef struct vidinfo {
ushort vl_col; /* Number of columns (i.e. 640) */
ushort vl_row; /* Number of rows (i.e. 480) */
+ ushort vl_rot; /* Rotation of Display (0, 1, 2, 3) */
ushort vl_width; /* Width of display area in millimeters */
ushort vl_height; /* Height of display area in millimeters */
diff --git a/include/video.h b/include/video.h
index 673aa2ec56..65e4ec1e1a 100644
--- a/include/video.h
+++ b/include/video.h
@@ -69,4 +69,8 @@ void video_clear(void);
int kwh043st20_f01_spi_startup(unsigned int bus, unsigned int cs,
unsigned int max_hz, unsigned int spi_mode);
#endif
+#if defined(CONFIG_LG4573)
+int lg4573_spi_startup(unsigned int bus, unsigned int cs,
+ unsigned int max_hz, unsigned int spi_mode);
+#endif
#endif
OpenPOWER on IntegriCloud