fbdev: add new TMIO framebuffer driver
Add driver for TMIO framebuffer cells as found e.g. in Toshiba TC6393XB chips. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Cc: Ian Molton <spyro@f2s.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d5ca900603
commit
b53cde3557
4 changed files with 1092 additions and 0 deletions
|
@ -1896,6 +1896,28 @@ config FB_SH_MOBILE_LCDC
|
||||||
---help---
|
---help---
|
||||||
Frame buffer driver for the on-chip SH-Mobile LCD controller.
|
Frame buffer driver for the on-chip SH-Mobile LCD controller.
|
||||||
|
|
||||||
|
config FB_TMIO
|
||||||
|
tristate "Toshiba Mobile IO FrameBuffer support"
|
||||||
|
depends on FB && MFD_CORE
|
||||||
|
select FB_CFB_FILLRECT
|
||||||
|
select FB_CFB_COPYAREA
|
||||||
|
select FB_CFB_IMAGEBLIT
|
||||||
|
---help---
|
||||||
|
Frame buffer driver for the Toshiba Mobile IO integrated as found
|
||||||
|
on the Sharp SL-6000 series
|
||||||
|
|
||||||
|
This driver is also available as a module ( = code which can be
|
||||||
|
inserted and removed from the running kernel whenever you want). The
|
||||||
|
module will be called tmiofb. If you want to compile it as a module,
|
||||||
|
say M here and read <file:Documentation/kbuild/modules.txt>.
|
||||||
|
|
||||||
|
If unsure, say N.
|
||||||
|
|
||||||
|
config FB_TMIO_ACCELL
|
||||||
|
bool "tmiofb acceleration"
|
||||||
|
depends on FB_TMIO
|
||||||
|
default y
|
||||||
|
|
||||||
config FB_S3C2410
|
config FB_S3C2410
|
||||||
tristate "S3C2410 LCD framebuffer support"
|
tristate "S3C2410 LCD framebuffer support"
|
||||||
depends on FB && ARCH_S3C2410
|
depends on FB && ARCH_S3C2410
|
||||||
|
|
|
@ -98,6 +98,7 @@ obj-$(CONFIG_FB_CIRRUS) += cirrusfb.o
|
||||||
obj-$(CONFIG_FB_ASILIANT) += asiliantfb.o
|
obj-$(CONFIG_FB_ASILIANT) += asiliantfb.o
|
||||||
obj-$(CONFIG_FB_PXA) += pxafb.o
|
obj-$(CONFIG_FB_PXA) += pxafb.o
|
||||||
obj-$(CONFIG_FB_W100) += w100fb.o
|
obj-$(CONFIG_FB_W100) += w100fb.o
|
||||||
|
obj-$(CONFIG_FB_TMIO) += tmiofb.o
|
||||||
obj-$(CONFIG_FB_AU1100) += au1100fb.o
|
obj-$(CONFIG_FB_AU1100) += au1100fb.o
|
||||||
obj-$(CONFIG_FB_AU1200) += au1200fb.o
|
obj-$(CONFIG_FB_AU1200) += au1200fb.o
|
||||||
obj-$(CONFIG_FB_PMAG_AA) += pmag-aa-fb.o
|
obj-$(CONFIG_FB_PMAG_AA) += pmag-aa-fb.o
|
||||||
|
|
1050
drivers/video/tmiofb.c
Normal file
1050
drivers/video/tmiofb.c
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,6 +1,8 @@
|
||||||
#ifndef MFD_TMIO_H
|
#ifndef MFD_TMIO_H
|
||||||
#define MFD_TMIO_H
|
#define MFD_TMIO_H
|
||||||
|
|
||||||
|
#include <linux/fb.h>
|
||||||
|
|
||||||
#define tmio_ioread8(addr) readb(addr)
|
#define tmio_ioread8(addr) readb(addr)
|
||||||
#define tmio_ioread16(addr) readw(addr)
|
#define tmio_ioread16(addr) readw(addr)
|
||||||
#define tmio_ioread16_rep(r, b, l) readsw(r, b, l)
|
#define tmio_ioread16_rep(r, b, l) readsw(r, b, l)
|
||||||
|
@ -25,4 +27,21 @@ struct tmio_nand_data {
|
||||||
unsigned int num_partitions;
|
unsigned int num_partitions;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define FBIO_TMIO_ACC_WRITE 0x7C639300
|
||||||
|
#define FBIO_TMIO_ACC_SYNC 0x7C639301
|
||||||
|
|
||||||
|
struct tmio_fb_data {
|
||||||
|
int (*lcd_set_power)(struct platform_device *fb_dev,
|
||||||
|
bool on);
|
||||||
|
int (*lcd_mode)(struct platform_device *fb_dev,
|
||||||
|
const struct fb_videomode *mode);
|
||||||
|
int num_modes;
|
||||||
|
struct fb_videomode *modes;
|
||||||
|
|
||||||
|
/* in mm: size of screen */
|
||||||
|
int height;
|
||||||
|
int width;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue