From 3b38a90edc1461796cd376eb65fc07a8a9fa93c2 Mon Sep 17 00:00:00 2001 From: Fugang Duan Date: Sat, 19 May 2012 11:17:03 +0800 Subject: ENGR00210075-3 - SPDC: Add Sipix driver Add Sipix driver for electronic paper dispaly - Support RGB565 & Y4 formats with 800x600 resolution - Support synchronization update by waiting the last request update completed. - Support automated update using Linux deferred io mechanism - Support for panning(y-direction) - Support rotation with 90,180,and 270 degree. - Initial integration with ePXP, output Y4 format - Support specific waveform modes update. - Support Snapshot, Queue and Queue Merge update sheeme. - Support full and partial EPD screen updates. mode_1 & mode_2: partial update mode_0 & mode_3: full update - Align waveform mode with EPDC as below: mode_init = mode_0; mode_gc4 = mode_2; mode_A2 = mode_4, mode_du =mode_4; mode_gc8 = mode_1, mode_gc16 = mode_1, mode_gc32 = mode_1; Signed-off-by: Fugang Duan --- include/linux/mxcfb.h | 2 ++ include/linux/mxcfb_epdc_kernel.h | 13 +++++++++++++ 2 files changed, 15 insertions(+) (limited to 'include') diff --git a/include/linux/mxcfb.h b/include/linux/mxcfb.h index 5fb07b44063d..60e0aa09d0b8 100644 --- a/include/linux/mxcfb.h +++ b/include/linux/mxcfb.h @@ -69,6 +69,8 @@ struct mxcfb_rect { #define GRAYSCALE_8BIT 0x1 #define GRAYSCALE_8BIT_INVERTED 0x2 +#define GRAYSCALE_4BIT 0x3 +#define GRAYSCALE_4BIT_INVERTED 0x4 #define AUTO_UPDATE_MODE_REGION_MODE 0 #define AUTO_UPDATE_MODE_AUTOMATIC_MODE 1 diff --git a/include/linux/mxcfb_epdc_kernel.h b/include/linux/mxcfb_epdc_kernel.h index 017202f8a861..06fea6fbb459 100644 --- a/include/linux/mxcfb_epdc_kernel.h +++ b/include/linux/mxcfb_epdc_kernel.h @@ -33,4 +33,17 @@ int mxc_epdc_fb_set_pwrdown_delay(u32 pwrdown_delay, int mxc_epdc_get_pwrdown_delay(struct fb_info *info); int mxc_epdc_fb_set_upd_scheme(u32 upd_scheme, struct fb_info *info); +void mxc_spdc_fb_set_waveform_modes(struct mxcfb_waveform_modes *modes, + struct fb_info *info); +int mxc_spdc_fb_set_temperature(int temperature, struct fb_info *info); +int mxc_spdc_fb_set_auto_update(u32 auto_mode, struct fb_info *info); +int mxc_spdc_fb_send_update(struct mxcfb_update_data *upd_data, + struct fb_info *info); +int mxc_spdc_fb_wait_update_complete( + struct mxcfb_update_marker_data *marker_data, + struct fb_info *info); +int mxc_spdc_fb_set_pwrdown_delay(u32 pwrdown_delay, + struct fb_info *info); +int mxc_spdc_get_pwrdown_delay(struct fb_info *info); +int mxc_spdc_fb_set_upd_scheme(u32 upd_scheme, struct fb_info *info); #endif -- cgit v1.2.3