summaryrefslogtreecommitdiff
path: root/include/fsl_diu_fb.h
diff options
context:
space:
mode:
authorTimur Tabi <timur@freescale.com>2011-04-11 14:18:22 -0500
committerAnatolij Gustschin <agust@denx.de>2011-04-28 21:31:16 +0200
commitba8e76bd49a0575a2442025507882b499856af2b (patch)
tree47b31be667a80b5149065e8d7d1f2d9040a4c628 /include/fsl_diu_fb.h
parenta5dbdc81ea70daa04e49eb0004a0441131a029c6 (diff)
downloadu-boot-ba8e76bd49a0575a2442025507882b499856af2b.tar.gz
u-boot-ba8e76bd49a0575a2442025507882b499856af2b.tar.bz2
u-boot-ba8e76bd49a0575a2442025507882b499856af2b.zip
powerpc: use 'video-mode' environment variable to configure DIU
Use the 'video-mode' environment variable (for Freescale chips that have a DIU display controller) to designate the full video configuration. Previously, the DIU driver used the 'monitor' variable, and it was used only to determine the output video port. The old definition of the "monitor" environment variable only determines which video port to use for output. This variable was set to a number (0, 1, or sometimes 2) to specify a DVI, LVDS, or Dual-LVDS port. The resolution was hard-coded into board-specific code. The Linux command-line arguments needed to be hard-coded to the proper video definition string. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Anatolij Gustschin <agust@denx.de>
Diffstat (limited to 'include/fsl_diu_fb.h')
-rw-r--r--include/fsl_diu_fb.h43
1 files changed, 7 insertions, 36 deletions
diff --git a/include/fsl_diu_fb.h b/include/fsl_diu_fb.h
index 87443e10c2..4c89f4b8b7 100644
--- a/include/fsl_diu_fb.h
+++ b/include/fsl_diu_fb.h
@@ -1,6 +1,7 @@
/*
- * Copyright 2007 Freescale Semiconductor, Inc.
- * York Sun <yorksun@freescale.com>
+ * Copyright 2007, 2011 Freescale Semiconductor, Inc.
+ * Authors: York Sun <yorksun@freescale.com>
+ * Timur Tabi <timur@freescale.com>
*
* FSL DIU Framebuffer driver
*
@@ -23,38 +24,8 @@
* MA 02111-1307 USA
*/
-struct fb_var_screeninfo {
- unsigned int xres; /* visible resolution */
- unsigned int yres;
+int fsl_diu_init(int xres, u32 pixel_format, int gamma_fix);
- unsigned int bits_per_pixel; /* guess what */
-
- /* Timing: All values in pixclocks, except pixclock (of course) */
- unsigned int pixclock; /* pixel clock in ps (pico seconds) */
- unsigned int left_margin; /* time from sync to picture */
- unsigned int right_margin; /* time from picture to sync */
- unsigned int upper_margin; /* time from sync to picture */
- unsigned int lower_margin;
- unsigned int hsync_len; /* length of horizontal sync */
- unsigned int vsync_len; /* length of vertical sync */
- unsigned int sync; /* see FB_SYNC_* */
- unsigned int vmode; /* see FB_VMODE_* */
- unsigned int rotate; /* angle we rotate counter clockwise */
-};
-
-struct fb_info {
- struct fb_var_screeninfo var; /* Current var */
- unsigned long smem_start; /* Start of frame buffer mem */
- /* (physical address) */
- unsigned int smem_len; /* Length of frame buffer mem */
- unsigned int type; /* see FB_TYPE_* */
- unsigned int line_length; /* length of a line in bytes */
-
- char *screen_base;
- unsigned long screen_size;
-};
-
-
-extern char *fsl_fb_open(struct fb_info **info);
-int fsl_diu_init(int xres, unsigned int pixel_format, int gamma_fix);
-int platform_diu_init(unsigned int *xres, unsigned int *yres);
+/* Prototypes for external board-specific functions */
+int platform_diu_init(unsigned int xres, unsigned int yres, const char *port);
+void diu_set_pixel_clock(unsigned int pixclock);