Skip to content

Commit 0aa653a

Browse files
committed
Merge pull request #836 from notro/fbtft
staging: add FBTFT drivers
2 parents 1f58c41 + 97af1c8 commit 0aa653a

39 files changed

+10368
-0
lines changed

arch/arm/configs/bcm2709_defconfig

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,6 +1019,34 @@ CONFIG_LIRC_IMON=m
10191019
CONFIG_LIRC_RPI=m
10201020
CONFIG_LIRC_SASEM=m
10211021
CONFIG_LIRC_SERIAL=m
1022+
CONFIG_FB_TFT=m
1023+
CONFIG_FB_TFT_AGM1264K_FL=m
1024+
CONFIG_FB_TFT_BD663474=m
1025+
CONFIG_FB_TFT_HX8340BN=m
1026+
CONFIG_FB_TFT_HX8347D=m
1027+
CONFIG_FB_TFT_HX8353D=m
1028+
CONFIG_FB_TFT_ILI9320=m
1029+
CONFIG_FB_TFT_ILI9325=m
1030+
CONFIG_FB_TFT_ILI9340=m
1031+
CONFIG_FB_TFT_ILI9341=m
1032+
CONFIG_FB_TFT_ILI9481=m
1033+
CONFIG_FB_TFT_ILI9486=m
1034+
CONFIG_FB_TFT_PCD8544=m
1035+
CONFIG_FB_TFT_RA8875=m
1036+
CONFIG_FB_TFT_S6D02A1=m
1037+
CONFIG_FB_TFT_S6D1121=m
1038+
CONFIG_FB_TFT_SSD1289=m
1039+
CONFIG_FB_TFT_SSD1306=m
1040+
CONFIG_FB_TFT_SSD1331=m
1041+
CONFIG_FB_TFT_SSD1351=m
1042+
CONFIG_FB_TFT_ST7735R=m
1043+
CONFIG_FB_TFT_TINYLCD=m
1044+
CONFIG_FB_TFT_TLS8204=m
1045+
CONFIG_FB_TFT_UC1701=m
1046+
CONFIG_FB_TFT_UPD161704=m
1047+
CONFIG_FB_TFT_WATTEROTT=m
1048+
CONFIG_FB_FLEX=m
1049+
CONFIG_FB_TFT_FBTFT_DEVICE=m
10221050
# CONFIG_IOMMU_SUPPORT is not set
10231051
CONFIG_EXTCON=m
10241052
CONFIG_EXTCON_ARIZONA=m

arch/arm/configs/bcmrpi_defconfig

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1013,6 +1013,34 @@ CONFIG_LIRC_IMON=m
10131013
CONFIG_LIRC_RPI=m
10141014
CONFIG_LIRC_SASEM=m
10151015
CONFIG_LIRC_SERIAL=m
1016+
CONFIG_FB_TFT=m
1017+
CONFIG_FB_TFT_AGM1264K_FL=m
1018+
CONFIG_FB_TFT_BD663474=m
1019+
CONFIG_FB_TFT_HX8340BN=m
1020+
CONFIG_FB_TFT_HX8347D=m
1021+
CONFIG_FB_TFT_HX8353D=m
1022+
CONFIG_FB_TFT_ILI9320=m
1023+
CONFIG_FB_TFT_ILI9325=m
1024+
CONFIG_FB_TFT_ILI9340=m
1025+
CONFIG_FB_TFT_ILI9341=m
1026+
CONFIG_FB_TFT_ILI9481=m
1027+
CONFIG_FB_TFT_ILI9486=m
1028+
CONFIG_FB_TFT_PCD8544=m
1029+
CONFIG_FB_TFT_RA8875=m
1030+
CONFIG_FB_TFT_S6D02A1=m
1031+
CONFIG_FB_TFT_S6D1121=m
1032+
CONFIG_FB_TFT_SSD1289=m
1033+
CONFIG_FB_TFT_SSD1306=m
1034+
CONFIG_FB_TFT_SSD1331=m
1035+
CONFIG_FB_TFT_SSD1351=m
1036+
CONFIG_FB_TFT_ST7735R=m
1037+
CONFIG_FB_TFT_TINYLCD=m
1038+
CONFIG_FB_TFT_TLS8204=m
1039+
CONFIG_FB_TFT_UC1701=m
1040+
CONFIG_FB_TFT_UPD161704=m
1041+
CONFIG_FB_TFT_WATTEROTT=m
1042+
CONFIG_FB_FLEX=m
1043+
CONFIG_FB_TFT_FBTFT_DEVICE=m
10161044
# CONFIG_IOMMU_SUPPORT is not set
10171045
CONFIG_EXTCON=m
10181046
CONFIG_EXTCON_ARIZONA=m

drivers/staging/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,4 +108,6 @@ source "drivers/staging/skein/Kconfig"
108108

109109
source "drivers/staging/unisys/Kconfig"
110110

111+
source "drivers/staging/fbtft/Kconfig"
112+
111113
endif # STAGING

drivers/staging/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,4 @@ obj-$(CONFIG_MTD_SPINAND_MT29F) += mt29f_spinand/
4646
obj-$(CONFIG_GS_FPGABOOT) += gs_fpgaboot/
4747
obj-$(CONFIG_CRYPTO_SKEIN) += skein/
4848
obj-$(CONFIG_UNISYSSPAR) += unisys/
49+
obj-$(CONFIG_FB_TFT) += fbtft/

drivers/staging/fbtft/Kconfig

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
menuconfig FB_TFT
2+
tristate "Support for small TFT LCD display modules"
3+
depends on FB && SPI && GPIOLIB
4+
select FB_SYS_FILLRECT
5+
select FB_SYS_COPYAREA
6+
select FB_SYS_IMAGEBLIT
7+
select FB_SYS_FOPS
8+
select FB_DEFERRED_IO
9+
select FB_BACKLIGHT
10+
11+
config FB_TFT_AGM1264K_FL
12+
tristate "FB driver for the AGM1264K-FL LCD display"
13+
depends on FB_TFT
14+
help
15+
Framebuffer support for the AGM1264K-FL LCD display (two Samsung KS0108 compatable chips)
16+
17+
config FB_TFT_BD663474
18+
tristate "FB driver for the BD663474 LCD Controller"
19+
depends on FB_TFT
20+
help
21+
Generic Framebuffer support for BD663474
22+
23+
config FB_TFT_HX8340BN
24+
tristate "FB driver for the HX8340BN LCD Controller"
25+
depends on FB_TFT
26+
help
27+
Generic Framebuffer support for HX8340BN
28+
29+
config FB_TFT_HX8347D
30+
tristate "FB driver for the HX8347D LCD Controller"
31+
depends on FB_TFT
32+
help
33+
Generic Framebuffer support for HX8347D
34+
35+
config FB_TFT_HX8353D
36+
tristate "FB driver for the HX8353D LCD Controller"
37+
depends on FB_TFT
38+
help
39+
Generic Framebuffer support for HX8353D
40+
41+
config FB_TFT_ILI9320
42+
tristate "FB driver for the ILI9320 LCD Controller"
43+
depends on FB_TFT
44+
help
45+
Generic Framebuffer support for ILI9320
46+
47+
config FB_TFT_ILI9325
48+
tristate "FB driver for the ILI9325 LCD Controller"
49+
depends on FB_TFT
50+
help
51+
Generic Framebuffer support for ILI9325
52+
53+
config FB_TFT_ILI9340
54+
tristate "FB driver for the ILI9340 LCD Controller"
55+
depends on FB_TFT
56+
help
57+
Generic Framebuffer support for ILI9340
58+
59+
config FB_TFT_ILI9341
60+
tristate "FB driver for the ILI9341 LCD Controller"
61+
depends on FB_TFT
62+
help
63+
Generic Framebuffer support for ILI9341
64+
65+
config FB_TFT_ILI9481
66+
tristate "FB driver for the ILI9481 LCD Controller"
67+
depends on FB_TFT
68+
help
69+
Generic Framebuffer support for ILI9481
70+
71+
config FB_TFT_ILI9486
72+
tristate "FB driver for the ILI9486 LCD Controller"
73+
depends on FB_TFT
74+
help
75+
Generic Framebuffer support for ILI9486
76+
77+
config FB_TFT_PCD8544
78+
tristate "FB driver for the PCD8544 LCD Controller"
79+
depends on FB_TFT
80+
help
81+
Generic Framebuffer support for PCD8544
82+
83+
config FB_TFT_RA8875
84+
tristate "FB driver for the RA8875 LCD Controller"
85+
depends on FB_TFT
86+
help
87+
Generic Framebuffer support for RA8875
88+
89+
config FB_TFT_S6D02A1
90+
tristate "FB driver for the S6D02A1 LCD Controller"
91+
depends on FB_TFT
92+
help
93+
Generic Framebuffer support for S6D02A1
94+
95+
config FB_TFT_S6D1121
96+
tristate "FB driver for the S6D1211 LCD Controller"
97+
depends on FB_TFT
98+
help
99+
Generic Framebuffer support for S6D1121
100+
101+
config FB_TFT_SSD1289
102+
tristate "FB driver for the SSD1289 LCD Controller"
103+
depends on FB_TFT
104+
help
105+
Framebuffer support for SSD1289
106+
107+
config FB_TFT_SSD1306
108+
tristate "FB driver for the SSD1306 OLED Controller"
109+
depends on FB_TFT
110+
help
111+
Framebuffer support for SSD1306
112+
113+
config FB_TFT_SSD1331
114+
tristate "FB driver for the SSD1331 LCD Controller"
115+
depends on FB_TFT
116+
help
117+
Framebuffer support for SSD1331
118+
119+
config FB_TFT_SSD1351
120+
tristate "FB driver for the SSD1351 LCD Controller"
121+
depends on FB_TFT
122+
help
123+
Framebuffer support for SSD1351
124+
125+
config FB_TFT_ST7735R
126+
tristate "FB driver for the ST7735R LCD Controller"
127+
depends on FB_TFT
128+
help
129+
Generic Framebuffer support for ST7735R
130+
131+
config FB_TFT_TINYLCD
132+
tristate "FB driver for tinylcd.com display"
133+
depends on FB_TFT
134+
help
135+
Custom Framebuffer support for tinylcd.com display
136+
137+
config FB_TFT_TLS8204
138+
tristate "FB driver for the TLS8204 LCD Controller"
139+
depends on FB_TFT
140+
help
141+
Generic Framebuffer support for TLS8204
142+
143+
config FB_TFT_UC1701
144+
tristate "FB driver for the UC1701 LCD Controller"
145+
depends on FB_TFT
146+
help
147+
Generic Framebuffer support for UC1701
148+
149+
config FB_TFT_UPD161704
150+
tristate "FB driver for the uPD161704 LCD Controller"
151+
depends on FB_TFT
152+
help
153+
Generic Framebuffer support for uPD161704
154+
155+
config FB_TFT_WATTEROTT
156+
tristate "FB driver for the WATTEROTT LCD Controller"
157+
depends on FB_TFT
158+
help
159+
Generic Framebuffer support for WATTEROTT
160+
161+
config FB_FLEX
162+
tristate "Generic FB driver for TFT LCD displays"
163+
depends on FB_TFT
164+
help
165+
Generic Framebuffer support for TFT LCD displays.
166+
167+
config FB_TFT_FBTFT_DEVICE
168+
tristate "Module to for adding FBTFT devices"
169+
depends on FB_TFT

drivers/staging/fbtft/Makefile

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Core module
2+
obj-$(CONFIG_FB_TFT) += fbtft.o
3+
fbtft-y += fbtft-core.o fbtft-sysfs.o fbtft-bus.o fbtft-io.o
4+
5+
# drivers
6+
obj-$(CONFIG_FB_TFT_AGM1264K_FL) += fb_agm1264k-fl.o
7+
obj-$(CONFIG_FB_TFT_BD663474) += fb_bd663474.o
8+
obj-$(CONFIG_FB_TFT_HX8340BN) += fb_hx8340bn.o
9+
obj-$(CONFIG_FB_TFT_HX8347D) += fb_hx8347d.o
10+
obj-$(CONFIG_FB_TFT_HX8353D) += fb_hx8353d.o
11+
obj-$(CONFIG_FB_TFT_ILI9320) += fb_ili9320.o
12+
obj-$(CONFIG_FB_TFT_ILI9325) += fb_ili9325.o
13+
obj-$(CONFIG_FB_TFT_ILI9340) += fb_ili9340.o
14+
obj-$(CONFIG_FB_TFT_ILI9341) += fb_ili9341.o
15+
obj-$(CONFIG_FB_TFT_ILI9481) += fb_ili9481.o
16+
obj-$(CONFIG_FB_TFT_ILI9486) += fb_ili9486.o
17+
obj-$(CONFIG_FB_TFT_PCD8544) += fb_pcd8544.o
18+
obj-$(CONFIG_FB_TFT_RA8875) += fb_ra8875.o
19+
obj-$(CONFIG_FB_TFT_S6D02A1) += fb_s6d02a1.o
20+
obj-$(CONFIG_FB_TFT_S6D1121) += fb_s6d1121.o
21+
obj-$(CONFIG_FB_TFT_SSD1289) += fb_ssd1289.o
22+
obj-$(CONFIG_FB_TFT_SSD1306) += fb_ssd1306.o
23+
obj-$(CONFIG_FB_TFT_SSD1331) += fb_ssd1331.o
24+
obj-$(CONFIG_FB_TFT_SSD1351) += fb_ssd1351.o
25+
obj-$(CONFIG_FB_TFT_ST7735R) += fb_st7735r.o
26+
obj-$(CONFIG_FB_TFT_TINYLCD) += fb_tinylcd.o
27+
obj-$(CONFIG_FB_TFT_TLS8204) += fb_tls8204.o
28+
obj-$(CONFIG_FB_TFT_UC1701) += fb_uc1701.o
29+
obj-$(CONFIG_FB_TFT_UPD161704) += fb_upd161704.o
30+
obj-$(CONFIG_FB_TFT_WATTEROTT) += fb_watterott.o
31+
obj-$(CONFIG_FB_FLEX) += flexfb.o
32+
33+
# Device modules
34+
obj-$(CONFIG_FB_TFT_FBTFT_DEVICE) += fbtft_device.o

drivers/staging/fbtft/README

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
FBTFT
2+
=========
3+
4+
Linux Framebuffer drivers for small TFT LCD display modules.
5+
The module 'fbtft' makes writing drivers for some of these displays very easy.
6+
7+
Development is done on a Raspberry Pi running the Raspbian "wheezy" distribution.
8+
9+
INSTALLATION
10+
Download kernel sources
11+
12+
From Linux 3.15
13+
cd drivers/video/fbdev/fbtft
14+
git clone https://github.com/notro/fbtft.git
15+
16+
Add to drivers/video/fbdev/Kconfig: source "drivers/video/fbdev/fbtft/Kconfig"
17+
Add to drivers/video/fbdev/Makefile: obj-y += fbtft/
18+
19+
Before Linux 3.15
20+
cd drivers/video
21+
git clone https://github.com/notro/fbtft.git
22+
23+
Add to drivers/video/Kconfig: source "drivers/video/fbtft/Kconfig"
24+
Add to drivers/video/Makefile: obj-y += fbtft/
25+
26+
Enable driver(s) in menuconfig and build the kernel
27+
28+
29+
See wiki for more information: https://github.com/notro/fbtft/wiki
30+
31+
32+
Source: https://github.com/notro/fbtft/

0 commit comments

Comments
 (0)