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 Date: Sun, 21 Dec 2008 18:59:34 +0800 Message-ID: <12298571743158-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-4.v28.ch3.sourceforge.com ([172.29.28.124] helo=mx.sourceforge.net) by 335xhf1.ch3.sourceforge.com with esmtp (Exim 4.69) (envelope-from ) id 1LEM2D-0006Iw-AH for linux-fbdev-devel@lists.sourceforge.net; Sun, 21 Dec 2008 10:59:45 +0000 Received: from ti-out-0910.google.com ([209.85.142.187]) by 1b2kzd1.ch3.sourceforge.com with esmtp (Exim 4.69) id 1LEM2A-0006Tv-5L for linux-fbdev-devel@lists.sourceforge.net; Sun, 21 Dec 2008 10:59:45 +0000 Received: by ti-out-0910.google.com with SMTP id y6so1230426tia.18 for ; Sun, 21 Dec 2008 02:59:39 -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, Just reposting this RFC after splitting it into 2 separate patches, 1 to add broadsheetfb and another to add 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 | 569 ++++++++++++++++++++++++++++++++++++++++++ include/video/broadsheetfb.h | 63 +++++ 4 files changed, 647 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..98f8fd5 --- /dev/null +++ b/drivers/video/broadsheetfb.c @@ -0,0 +1,569 @@ +/* + * 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