From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jaya Kumar Subject: [RFC 2.6.27 1/2] fbdev: add E-Ink Broadsheet controller support v2 Date: Thu, 25 Dec 2008 20:51:39 +0800 Message-ID: <1230209500424-git-send-email-jayakumar.lkml@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from sfi-mx-1.v28.ch3.sourceforge.com ([172.29.28.121] helo=mx.sourceforge.net) by 3yr0jf1.ch3.sourceforge.com with esmtp (Exim 4.69) (envelope-from ) id 1LFpgv-0005ce-Ex for linux-fbdev-devel@lists.sourceforge.net; Thu, 25 Dec 2008 12:51:53 +0000 Received: from ti-out-0910.google.com ([209.85.142.190]) by 29vjzd1.ch3.sourceforge.com with esmtp (Exim 4.69) id 1LFpgq-0002L7-PZ for linux-fbdev-devel@lists.sourceforge.net; Thu, 25 Dec 2008 12:51:53 +0000 Received: by ti-out-0910.google.com with SMTP id y6so2850856tia.18 for ; Thu, 25 Dec 2008 04:51:46 -0800 (PST) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-fbdev-devel-bounces@lists.sourceforge.net Cc: linux-fbdev-devel@lists.sourceforge.net, Geert Uytterhoeven , Eric Miao , Jaya Kumar , linux-arm-kernel@lists.arm.linux.org.uk Hi arm, fbdev friends, Thanks to Eric, Russell, Lothar, Geert, Magnus for feedback on the previous version. The changes are: - cleanup indentation - use wait_event - use msleep instead of mdelay - cleanup init_gpio_regs - remove nonstd - remove force This patchset adds broadsheetfb and am300 support. Please let me know your feedback. If there aren't any complaints, then I think I'll post to the rmk patch queue. The am300 patch is dependent on the gumstix cleanup merged from Eric's pxa tree. Thanks, jaya This patch adds support for the E-Ink Broadsheet display controller Signed-off-by: Jaya Kumar Cc: Geert Uytterhoeven Cc: Eric Miao Cc: Krzysztof Helt Cc: linux-fbdev-devel@lists.sourceforge.net Cc: linux-arm-kernel@lists.arm.linux.org.uk --- drivers/video/Kconfig | 14 + drivers/video/Makefile | 1 + drivers/video/broadsheetfb.c | 568 ++++++++++++++++++++++++++++++++++++++++++ include/video/broadsheetfb.h | 59 +++++ 4 files changed, 642 insertions(+), 0 deletions(-) create mode 100644 drivers/video/broadsheetfb.c create mode 100644 include/video/broadsheetfb.h diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 3f3ce13..053f5f9 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -2115,6 +2115,20 @@ config FB_PRE_INIT_FB Select this option if display contents should be inherited as set by the bootloader. +config FB_BROADSHEET + tristate "E-Ink Broadsheet/Epson S1D13521 controller support" + depends on FB + select FB_SYS_FILLRECT + select FB_SYS_COPYAREA + select FB_SYS_IMAGEBLIT + select FB_SYS_FOPS + select FB_DEFERRED_IO + help + This driver implements support for the E-Ink Broadsheet + controller. The release name for this device was Epson S1D13521 + and could also have been called by other names when coupled with + a bridge adapter. + source "drivers/video/omap/Kconfig" source "drivers/video/backlight/Kconfig" diff --git a/drivers/video/Makefile b/drivers/video/Makefile index e39e33e..ee9ed00 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -106,6 +106,7 @@ obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o obj-$(CONFIG_FB_MAXINE) += maxinefb.o obj-$(CONFIG_FB_METRONOME) += metronomefb.o +obj-$(CONFIG_FB_BROADSHEET) += broadsheetfb.o obj-$(CONFIG_FB_S1D13XXX) += s1d13xxxfb.o obj-$(CONFIG_FB_SH7760) += sh7760fb.o obj-$(CONFIG_FB_IMX) += imxfb.o diff --git a/drivers/video/broadsheetfb.c b/drivers/video/broadsheetfb.c new file mode 100644 index 0000000..509cb92 --- /dev/null +++ b/drivers/video/broadsheetfb.c @@ -0,0 +1,568 @@ +/* + * broadsheetfb.c -- FB driver for E-Ink Broadsheet controller + * + * Copyright (C) 2008, Jaya Kumar + * + * 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. + * + * Layout is based on skeletonfb.c by James Simmons and Geert Uytterhoeven. + * + * This driver is written to be used with the Broadsheet display controller. + * + * It is intended to be architecture independent. A board specific driver + * must be used to perform all the physical IO interactions. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include