From: Thibaut VARENE Add support for Epson S1D13806 framebuffer device. The 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 Signed-off-by: Andrew Morton --- 25-akpm/drivers/video/Kconfig | 12 25-akpm/drivers/video/Makefile | 1 25-akpm/drivers/video/s1d13xxxfb.c | 772 +++++++++++++++++++++++++++++++++++++ 25-akpm/include/video/s1d13xxxfb.h | 166 +++++++ 4 files changed, 951 insertions(+) diff -puN drivers/video/Kconfig~s1d13xxxfb-add-support-for-epson-s1d13806-fb drivers/video/Kconfig --- 25/drivers/video/Kconfig~s1d13xxxfb-add-support-for-epson-s1d13806-fb 2005-03-14 18:36:16.000000000 -0800 +++ 25-akpm/drivers/video/Kconfig 2005-03-14 18:36:16.000000000 -0800 @@ -1433,6 +1433,18 @@ config FB_PXA_PARAMETERS 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 -puN drivers/video/Makefile~s1d13xxxfb-add-support-for-epson-s1d13806-fb drivers/video/Makefile --- 25/drivers/video/Makefile~s1d13xxxfb-add-support-for-epson-s1d13806-fb 2005-03-14 18:36:16.000000000 -0800 +++ 25-akpm/drivers/video/Makefile 2005-03-14 18:36:16.000000000 -0800 @@ -88,6 +88,7 @@ obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb 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 -puN /dev/null drivers/video/s1d13xxxfb.c --- /dev/null 2003-09-15 06:40:47.000000000 -0700 +++ 25-akpm/drivers/video/s1d13xxxfb.c 2005-03-14 18:36:16.000000000 -0800 @@ -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