summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAlison Wang <b18965@freescale.com>2012-12-11 15:36:08 +0800
committerEd Nash <enash@enash-desktop.(none)>2012-12-12 14:46:31 -0500
commit97bb163197f3dc3405af90b5159e0f6b8a302586 (patch)
tree2d4238dbfebf53162357551d46f43da5c6402e7d /include
parentefe491be15ead3bbcf7e715337fdee7dfa41f699 (diff)
ENGR00216076-2: DCU: Update DCU driver for PM and blending issue
Fix layers blending and reinitialization issue for DCU driver. Update power management part for DCU driver. Signed-off-by: Alison Wang <b18965@freescale.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/Kbuild1
-rw-r--r--include/linux/mvf-fb.h74
2 files changed, 75 insertions, 0 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index c65d1b9eb546..947d36f054e5 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -35,6 +35,7 @@ header-y += mxc_si4702.h
header-y += mxc_sim_interface.h
header-y += mxc_v4l2.h
header-y += mxcfb.h
+header-y += mvf-fb.h
header-y += pmic_adc.h
header-y += pmic_battery.h
header-y += pmic_external.h
diff --git a/include/linux/mvf-fb.h b/include/linux/mvf-fb.h
new file mode 100644
index 000000000000..836767697d76
--- /dev/null
+++ b/include/linux/mvf-fb.h
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2012 Freescale Semiconductor, Inc.
+ *
+ * Freescale DCU Frame Buffer device driver ioctls
+ *
+ * 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.
+ *
+ */
+
+#ifndef __MVF_FB_H__
+#define __MVF_FB_H__
+
+#include <linux/fb.h>
+
+/* ioctls */
+
+#define MFB_SET_ALPHA 0x80014d00
+#define MFB_GET_ALPHA 0x40014d00
+#define MFB_SET_LAYER 0x80084d04
+#define MFB_GET_LAYER 0x40084d04
+
+#define FBIOGET_GWINFO 0x46E0
+#define FBIOPUT_GWINFO 0x46E1
+
+#ifndef u32
+#define u32 unsigned int
+#endif
+
+struct mfb_alpha {
+ int enable;
+ int alpha;
+};
+
+struct layer_display_offset {
+ int x_layer_d;
+ int y_layer_d;
+};
+
+/*
+ * These are the fields of control descriptor for every layer
+ */
+struct dcu_layer_desc {
+ u32 layer_num;
+ u32 width;
+ u32 height;
+ u32 posx;
+ u32 posy;
+ u32 addr;
+ u32 blend;
+ u32 chroma_key_en;
+ u32 lut_offset;
+ u32 rle_en;
+ u32 bpp;
+ u32 trans;
+ u32 safety_en;
+ u32 data_sel_clut;
+ u32 tile_en;
+ u32 en;
+ u32 ck_r_min;
+ u32 ck_r_max;
+ u32 ck_g_min;
+ u32 ck_g_max;
+ u32 ck_b_min;
+ u32 ck_b_max;
+ u32 tile_width;
+ u32 tile_height;
+ u32 trans_fgcolor;
+ u32 trans_bgcolor;
+} __packed;
+
+#endif