summaryrefslogtreecommitdiff
path: root/include/fsl_diu_fb.h
diff options
context:
space:
mode:
authorAnatolij Gustschin <agust@denx.de>2010-09-24 01:06:37 +0200
committerAnatolij Gustschin <agust@denx.de>2010-09-25 13:10:03 +0200
commit9e70d1378c7f41d1aa9ffc5429d810330c194949 (patch)
tree9c136a9549b0032ba80e82f49cfe3e60b6401655 /include/fsl_diu_fb.h
parent6aa3d3bfaa986f1aff5e21a9b9f68d087715b1a9 (diff)
downloadu-boot-imx-9e70d1378c7f41d1aa9ffc5429d810330c194949.zip
u-boot-imx-9e70d1378c7f41d1aa9ffc5429d810330c194949.tar.gz
u-boot-imx-9e70d1378c7f41d1aa9ffc5429d810330c194949.tar.bz2
fsl_diu_fb: further refactoring of FSL DIU code
Move common code to the fsl_diu_fb.c file and remove obsolete code from board files (aria, mpc8610hpcd and pdm360ng). Move fsl_diu_fb.h file to the include directory. Signed-off-by: Anatolij Gustschin <agust@denx.de>
Diffstat (limited to 'include/fsl_diu_fb.h')
-rw-r--r--include/fsl_diu_fb.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/include/fsl_diu_fb.h b/include/fsl_diu_fb.h
new file mode 100644
index 0000000..87443e1
--- /dev/null
+++ b/include/fsl_diu_fb.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2007 Freescale Semiconductor, Inc.
+ * York Sun <yorksun@freescale.com>
+ *
+ * FSL DIU Framebuffer driver
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+struct fb_var_screeninfo {
+ unsigned int xres; /* visible resolution */
+ unsigned int yres;
+
+ 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);