summaryrefslogtreecommitdiff
path: root/include/lcd.h
diff options
context:
space:
mode:
authorPeng Fan <Peng.Fan@freescale.com>2014-05-27 13:00:28 -0500
committerPeng Fan <Peng.Fan@freescale.com>2015-04-29 14:44:19 +0800
commitb2b2982a756b1b2809e928bc122be92a537e0aad (patch)
tree1e71f135d025d0b69c3eaef085487f100fd7aeb8 /include/lcd.h
parent0e0e5d57593ce4d03056a13087ee292ff0e3ec81 (diff)
downloadu-boot-imx-b2b2982a756b1b2809e928bc122be92a537e0aad.zip
u-boot-imx-b2b2982a756b1b2809e928bc122be92a537e0aad.tar.gz
u-boot-imx-b2b2982a756b1b2809e928bc122be92a537e0aad.tar.bz2
MLK-10774-5 Add EPDC splash screen for MX 6DL SabreSD and 6SL EVK
Add EPDC splash screen feature for MX6SL EVK, and MX6DL SABRESD board. - Currently, splash screen consists of a simple black border around a white screen. Done this way to save in memory footprint. - EPDC splash screen is disabled by default in the config file for MX6DL_SABRESD and MX6SL_EVK. If left enabled, the U-Boot image will not boot correctly (hang), since some additional content on the boot device (waveform file) is required for EPDC splash to work correctly. Please refer to Linux Reference Manual for how to flash WAVEFORM file. Signed-off-by: Robby Cai <R63905@freescale.com> Signed-off-by: Nitin Garg <nitin.garg@freescale.com> (cherry picked from commit b8ab9b3eabb94bbbc1eea63e7c0e2a87d2d645f4) Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Conflicts: arch/arm/include/asm/arch-mx6/mx6sl_pins.h board/freescale/mx6sabresd/mx6sabresd.c board/freescale/mx6slevk/mx6slevk.c drivers/video/Makefile include/configs/mx6sabresd.h include/configs/mx6slevk.h include/lcd.h drivers/video/Makefile
Diffstat (limited to 'include/lcd.h')
-rw-r--r--include/lcd.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/include/lcd.h b/include/lcd.h
index f049fd3..bd580be 100644
--- a/include/lcd.h
+++ b/include/lcd.h
@@ -47,6 +47,58 @@ void lcd_set_flush_dcache(int flush);
#include <atmel_lcd.h>
#elif defined(CONFIG_EXYNOS_FB)
#include <exynos_lcd.h>
+#elif defined(CONFIG_MXC_EPDC)
+
+struct waveform_modes {
+ int mode_init;
+ int mode_du;
+ int mode_gc4;
+ int mode_gc8;
+ int mode_gc16;
+ int mode_gc32;
+};
+
+struct epdc_timing_params {
+ int vscan_holdoff;
+ int sdoed_width;
+ int sdoed_delay;
+ int sdoez_width;
+ int sdoez_delay;
+ int gdclk_hp_offs;
+ int gdsp_offs;
+ int gdoe_offs;
+ int gdclk_offs;
+ int num_ce;
+};
+
+struct epdc_data_struct {
+ /* EPDC buffer pointers */
+ u_long working_buf_addr;
+ u_long waveform_buf_addr;
+
+ /* Waveform mode definitions */
+ struct waveform_modes wv_modes;
+ struct epdc_timing_params epdc_timings;
+};
+
+typedef struct vidinfo {
+ u_long vl_refresh; /* Refresh Rate Hz */
+ u_long vl_row; /* resolution in x */
+ u_long vl_col; /* resolution in y */
+ u_long vl_pixclock; /* pixel clock in picoseconds */
+ u_long vl_left_margin; /* Horizontal back porch */
+ u_long vl_right_margin; /* Horizontal front porch */
+ u_long vl_upper_margin; /* Vertical back porch */
+ u_long vl_lower_margin; /* Vertical front porch */
+ u_long vl_hsync; /* Horizontal sync pulse length */
+ u_long vl_vsync; /* Vertical sync pulse length */
+ u_long vl_sync; /* Polarity on data enable */
+ u_long vl_mode; /* Video Mode */
+ u_long vl_flag;
+ u_char vl_bpix;
+ ushort *cmap;
+ struct epdc_data_struct epdc_data;
+} vidinfo_t;
#else
typedef struct vidinfo {
ushort vl_col; /* Number of columns (i.e. 160) */