From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Antonino A. Daplas" Subject: [PATCH 5/5] s1d13xxxfb: Add support for Epson S1D13806 FB Date: Tue, 15 Mar 2005 07:06:27 +0800 Message-ID: <200503150706.27357.adaplas@hotpop.com> Reply-To: linux-fbdev-devel@lists.sourceforge.net Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Received: from sc8-sf-mx1-b.sourceforge.net ([10.3.1.11] helo=sc8-sf-mx1.sourceforge.net) by sc8-sf-list1.sourceforge.net with esmtp (Exim 4.30) id 1DAyfh-0007vA-0W for linux-fbdev-devel@lists.sourceforge.net; Mon, 14 Mar 2005 15:08:25 -0800 Received: from smtp-out.hotpop.com ([38.113.3.61]) by sc8-sf-mx1.sourceforge.net with esmtp (Exim 4.41) id 1DAyfd-0003oU-Cd for linux-fbdev-devel@lists.sourceforge.net; Mon, 14 Mar 2005 15:08:24 -0800 Received: from hotpop.com (kubrick.hotpop.com [38.113.3.103]) by smtp-out.hotpop.com (Postfix) with SMTP id 6A903FB0904 for ; Mon, 14 Mar 2005 23:08:04 +0000 (UTC) Content-Disposition: inline Sender: linux-fbdev-devel-admin@lists.sourceforge.net Errors-To: linux-fbdev-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Content-Type: text/plain; charset="us-ascii" To: Andrew Morton Cc: Linux Fbdev development list , Thibaut VARENE Attached to that mail is a patch adding support for Epson S1D13806 framebuffer device. That driver is intended to be easily used with other S1D13xxx devices, hopefully by splitting the header file and changing a few defines. Since I haven't got the hardware to test that, though, I can only assert that it works with S1D13806. This driver has been succesfully tested on ARM embedded boards and reported working on SH architecture as well. Since this is my first framebuffer driver, I would welcome any suggestion/comment about it :) This driver has been built on top of some preliminary ARM specific work by Ben Dooks, and adapted from existing code (as stated in the header of s1d13xxxfb.c). Signed-off-by: Thibaut VARENE Signed-off-by: Antonino Daplas --- drivers/video/Kconfig | 12 drivers/video/Makefile | 1 drivers/video/s1d13xxxfb.c | 772 +++++++++++++++++++++++++++++++++++++++++++++ include/video/s1d13xxxfb.h | 166 +++++++++ 4 files changed, 951 insertions(+) diff -Nru a/drivers/video/Kconfig b/drivers/video/Kconfig --- a/drivers/video/Kconfig 2005-03-14 06:50:28 +08:00 +++ b/drivers/video/Kconfig 2005-03-14 21:33:42 +08:00 @@ -1448,6 +1448,18 @@ describes the available parameters. +config FB_S1D13XXX + tristate "Epson S1D13XXX framebuffer support" + depends on FB + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + select FB_SOFT_CURSOR + help + Support for S1D13XXX framebuffer device family (currently only + working with S1D13806). Product specs at + + config FB_VIRTUAL tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)" depends on FB diff -Nru a/drivers/video/Makefile b/drivers/video/Makefile --- a/drivers/video/Makefile 2005-03-14 06:55:07 +08:00 +++ b/drivers/video/Makefile 2005-03-14 21:20:02 +08:00 @@ -89,6 +89,7 @@ obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o obj-$(CONFIG_FB_MAXINE) += maxinefb.o obj-$(CONFIG_FB_TX3912) += tx3912fb.o +obj-$(CONFIG_FB_S1D13XXX) += s1d13xxxfb.o # Platform or fallback drivers go here obj-$(CONFIG_FB_VESA) += vesafb.o diff -Nru a/drivers/video/s1d13xxxfb.c b/drivers/video/s1d13xxxfb.c --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/drivers/video/s1d13xxxfb.c 2005-03-14 23:30:59 +08:00 @@ -0,0 +1,772 @@ +/* drivers/video/s1d13xxxfb.c + * + * (c) 2004 Simtec Electronics + * (c) 2005 Thibaut VARENE + * + * Driver for Epson S1D13xxx series framebuffer chips + * + * Adapted from + * linux/drivers/video/skeletonfb.c + * linux/drivers/video/epson1355fb.c + * linux/drivers/video/epson/s1d13xxxfb.c (2.4 driver by Epson) + * + * Note, currently only tested on S1D13806 with 16bit CRT. + * As such, this driver might still contain some hardcoded bits relating to + * S1D13806. + * Making it work on other S1D13XXX chips should merely be a matter of adding + * a few switch()s, some missing glue here and there maybe, and split header + * files. + * + * TODO: - handle dual screen display (CRT and LCD at the same time). + * - check_var(), mode change, etc. + * - PM untested. + * - Accelerated interfaces. + * - Probably not SMP safe :) + * + * 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. + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +#include