summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDanny Nold <dannynold@freescale.com>2012-02-14 17:15:23 -0600
committerDanny Nold <dannynold@freescale.com>2012-02-15 10:21:35 -0600
commite3a4868791aceef59dc43610f678d4a92f5c1df8 (patch)
treebc457bf2e1234449b4e560a65013b7703459e123 /include
parent3ecb0177d966e739b45b1bd1dae490da56a23f2b (diff)
ENGR00174106-3 - EPDC fb: Support EPDC v2.0
- Added new register definitions for EPDCv2.0 - Added support for 64 LUTs - Conditionalized code for EPDC versions 1.0, 2.0, and 2.1 - Support for EPDC auto-waveform selection - Support for collision test mode - Support for PxP bypassing - Support for LUT cancellation - Support for new PxP limitations - Support for collision minimization EPDC feature - Added workaround for collision status bug (can't clear IRQ before reading collision status for LUTs 16-63) Signed-off-by: Danny Nold <dannynold@freescale.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/mxcfb.h11
-rw-r--r--include/linux/mxcfb_epdc_kernel.h6
2 files changed, 13 insertions, 4 deletions
diff --git a/include/linux/mxcfb.h b/include/linux/mxcfb.h
index 3bc7c05310db..5fb07b44063d 100644
--- a/include/linux/mxcfb.h
+++ b/include/linux/mxcfb.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2004-2011 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright 2004-2012 Freescale Semiconductor, Inc. All Rights Reserved.
*/
/*
@@ -88,6 +88,8 @@ struct mxcfb_rect {
#define EPDC_FLAG_FORCE_MONOCHROME 0x02
#define EPDC_FLAG_USE_CMAP 0x04
#define EPDC_FLAG_USE_ALT_BUFFER 0x100
+#define EPDC_FLAG_TEST_COLLISION 0x200
+#define EPDC_FLAG_GROUP_UPDATE 0x400
#define FB_POWERDOWN_DISABLE -1
@@ -108,6 +110,11 @@ struct mxcfb_update_data {
struct mxcfb_alt_buffer_data alt_buffer_data;
};
+struct mxcfb_update_marker_data {
+ __u32 update_marker;
+ __u32 collision_test;
+};
+
/*
* Structure used to define waveform modes for driver
* Needed for driver to perform auto-waveform selection
@@ -139,7 +146,7 @@ struct mxcfb_waveform_modes {
#define MXCFB_SET_TEMPERATURE _IOW('F', 0x2C, int32_t)
#define MXCFB_SET_AUTO_UPDATE_MODE _IOW('F', 0x2D, __u32)
#define MXCFB_SEND_UPDATE _IOW('F', 0x2E, struct mxcfb_update_data)
-#define MXCFB_WAIT_FOR_UPDATE_COMPLETE _IOW('F', 0x2F, __u32)
+#define MXCFB_WAIT_FOR_UPDATE_COMPLETE _IOWR('F', 0x2F, struct mxcfb_update_marker_data)
#define MXCFB_SET_PWRDOWN_DELAY _IOW('F', 0x30, int32_t)
#define MXCFB_GET_PWRDOWN_DELAY _IOR('F', 0x31, int32_t)
#define MXCFB_SET_UPDATE_SCHEME _IOW('F', 0x32, __u32)
diff --git a/include/linux/mxcfb_epdc_kernel.h b/include/linux/mxcfb_epdc_kernel.h
index a0cf4acb161b..017202f8a861 100644
--- a/include/linux/mxcfb_epdc_kernel.h
+++ b/include/linux/mxcfb_epdc_kernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2011 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright (C) 2010-2012 Freescale Semiconductor, Inc. All Rights Reserved.
*
* 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
@@ -25,7 +25,9 @@ int mxc_epdc_fb_set_temperature(int temperature, struct fb_info *info);
int mxc_epdc_fb_set_auto_update(u32 auto_mode, struct fb_info *info);
int mxc_epdc_fb_send_update(struct mxcfb_update_data *upd_data,
struct fb_info *info);
-int mxc_epdc_fb_wait_update_complete(u32 update_marker, struct fb_info *info);
+int mxc_epdc_fb_wait_update_complete(
+ struct mxcfb_update_marker_data *marker_data,
+ struct fb_info *info);
int mxc_epdc_fb_set_pwrdown_delay(u32 pwrdown_delay,
struct fb_info *info);
int mxc_epdc_get_pwrdown_delay(struct fb_info *info);