summaryrefslogtreecommitdiff
path: root/drivers/video/imxfb.h
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2005-05-01 19:59:24 +0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-01 19:59:24 +0400
commit7c2f891cb64b0b9c8d389da97c221ee4288f1307 (patch)
tree6826d42679d15654c0a0661e56bcbe8fb3f6db86 /drivers/video/imxfb.h
parentdb9f1d9daa2f775a0f7d1a0d2ca4722c1da50158 (diff)
downloadlinux-7c2f891cb64b0b9c8d389da97c221ee4288f1307.tar.xz
[PATCH] imxfb: Add Freescale i.MX framebuffer driver
This patch adds support for the framebuffer on the freescale i.MX SOC architecture. The driver has been tested on the mx1ads board, the pimx1 board and another custom board with different displays. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/video/imxfb.h')
-rw-r--r--drivers/video/imxfb.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/drivers/video/imxfb.h b/drivers/video/imxfb.h
new file mode 100644
index 000000000000..128c3ee515c7
--- /dev/null
+++ b/drivers/video/imxfb.h
@@ -0,0 +1,72 @@
+/*
+ * linux/drivers/video/imxfb.h
+ *
+ * Freescale i.MX Frame Buffer device driver
+ *
+ * Copyright (C) 2004 S.Hauer, Pengutronix
+ *
+ * Copyright (C) 1999 Eric A. Thomas
+ * Based on acornfb.c Copyright (C) Russell King.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file COPYING in the main directory of this archive
+ * for more details.
+ */
+
+/*
+ * These are the bitfields for each
+ * display depth that we support.
+ */
+struct imxfb_rgb {
+ struct fb_bitfield red;
+ struct fb_bitfield green;
+ struct fb_bitfield blue;
+ struct fb_bitfield transp;
+};
+
+#define RGB_16 (0)
+#define RGB_8 (1)
+#define NR_RGB 2
+
+struct imxfb_info {
+ struct device *dev;
+ struct imxfb_rgb *rgb[NR_RGB];
+
+ u_int max_bpp;
+ u_int max_xres;
+ u_int max_yres;
+
+ /*
+ * These are the addresses we mapped
+ * the framebuffer memory region to.
+ */
+ dma_addr_t map_dma;
+ u_char * map_cpu;
+ u_int map_size;
+
+ u_char * screen_cpu;
+ dma_addr_t screen_dma;
+ u_int palette_size;
+
+ dma_addr_t dbar1;
+ dma_addr_t dbar2;
+
+ u_int pcr;
+ u_int pwmr;
+ u_int lscr1;
+ u_int cmap_inverse:1,
+ cmap_static:1,
+ unused:30;
+
+ void (*lcd_power)(int);
+ void (*backlight_power)(int);
+};
+
+#define IMX_NAME "IMX"
+
+/*
+ * Minimum X and Y resolutions
+ */
+#define MIN_XRES 64
+#define MIN_YRES 64
+