forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for auxiliary displays, the ks0108 LCD controller, the cfag12864b LCD and adds a framebuffer device: cfag12864bfb. - Add a "auxdisplay/" folder in "drivers/" for auxiliary display drivers. - Add support for the ks0108 LCD Controller as a device driver. (uses parport interface) - Add support for the cfag12864b LCD as a device driver. (uses ks0108 LCD Controller driver) - Add a framebuffer device called cfag12864bfb. (uses cfag12864b LCD driver) - Add the usual Documentation, includes, Makefiles, Kconfigs, MAINTAINERS, CREDITS... - Miguel Ojeda will maintain all the stuff above. [[email protected]: workqueue fixups] [[email protected]: kconfig fix] Signed-off-by: Miguel Ojeda Sandonis <[email protected]> Cc: Greg KH <[email protected]> Acked-by: Paulo Marques <[email protected]> Cc: "Randy.Dunlap" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
- Loading branch information
Showing
14 changed files
with
1,446 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2571,6 +2571,16 @@ S: Subiaco, 6008 | |
S: Perth, Western Australia | ||
S: Australia | ||
|
||
N: Miguel Ojeda Sandonis | ||
E: [email protected] | ||
D: Author: Auxiliary LCD Controller driver (ks0108) | ||
D: Author: Auxiliary LCD driver (cfag12864b) | ||
D: Author: Auxiliary LCD framebuffer driver (cfag12864bfb) | ||
D: Maintainer: Auxiliary display drivers tree (drivers/auxdisplay/*) | ||
S: C/ Mieses 20, 9-B | ||
S: Valladolid 47009 | ||
S: Spain | ||
|
||
N: Greg Page | ||
E: [email protected] | ||
D: IPX development and support | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
=================================== | ||
cfag12864b LCD Driver Documentation | ||
=================================== | ||
|
||
License: GPLv2 | ||
Author & Maintainer: Miguel Ojeda Sandonis <[email protected]> | ||
Date: 2006-10-27 | ||
|
||
|
||
|
||
-------- | ||
0. INDEX | ||
-------- | ||
|
||
1. DRIVER INFORMATION | ||
2. DEVICE INFORMATION | ||
3. WIRING | ||
4. USERSPACE PROGRAMMING | ||
|
||
|
||
--------------------- | ||
1. DRIVER INFORMATION | ||
--------------------- | ||
|
||
This driver support one cfag12864b display at time. | ||
|
||
|
||
--------------------- | ||
2. DEVICE INFORMATION | ||
--------------------- | ||
|
||
Manufacturer: Crystalfontz | ||
Device Name: Crystalfontz 12864b LCD Series | ||
Device Code: cfag12864b | ||
Webpage: http://www.crystalfontz.com | ||
Device Webpage: http://www.crystalfontz.com/products/12864b/ | ||
Type: LCD (Liquid Crystal Display) | ||
Width: 128 | ||
Height: 64 | ||
Colors: 2 (B/N) | ||
Controller: ks0108 | ||
Controllers: 2 | ||
Pages: 8 each controller | ||
Addresses: 64 each page | ||
Data size: 1 byte each address | ||
Memory size: 2 * 8 * 64 * 1 = 1024 bytes = 1 Kbyte | ||
|
||
|
||
--------- | ||
3. WIRING | ||
--------- | ||
|
||
The cfag12864b LCD Series don't have official wiring. | ||
|
||
The common wiring is done to the parallel port as shown: | ||
|
||
Parallel Port cfag12864b | ||
|
||
Name Pin# Pin# Name | ||
|
||
Strobe ( 1)------------------------------(17) Enable | ||
Data 0 ( 2)------------------------------( 4) Data 0 | ||
Data 1 ( 3)------------------------------( 5) Data 1 | ||
Data 2 ( 4)------------------------------( 6) Data 2 | ||
Data 3 ( 5)------------------------------( 7) Data 3 | ||
Data 4 ( 6)------------------------------( 8) Data 4 | ||
Data 5 ( 7)------------------------------( 9) Data 5 | ||
Data 6 ( 8)------------------------------(10) Data 6 | ||
Data 7 ( 9)------------------------------(11) Data 7 | ||
(10) [+5v]---( 1) Vdd | ||
(11) [GND]---( 2) Ground | ||
(12) [+5v]---(14) Reset | ||
(13) [GND]---(15) Read / Write | ||
Line (14)------------------------------(13) Controller Select 1 | ||
(15) | ||
Init (16)------------------------------(12) Controller Select 2 | ||
Select (17)------------------------------(16) Data / Instruction | ||
Ground (18)---[GND] [+5v]---(19) LED + | ||
Ground (19)---[GND] | ||
Ground (20)---[GND] E A Values: | ||
Ground (21)---[GND] [GND]---[P1]---(18) Vee � R = Resistor = 22 ohm | ||
Ground (22)---[GND] | � P1 = Preset = 10 Kohm | ||
Ground (23)---[GND] ---- S ------( 3) V0 � P2 = Preset = 1 Kohm | ||
Ground (24)---[GND] | | | ||
Ground (25)---[GND] [GND]---[P2]---[R]---(20) LED - | ||
|
||
|
||
------------------------ | ||
4. USERSPACE PROGRAMMING | ||
------------------------ | ||
|
||
The cfag12864bfb describes a framebuffer device (/dev/fbX). | ||
|
||
It has a size of 1024 bytes = 1 Kbyte. | ||
Each bit represents one pixel. If the bit is high, the pixel will | ||
turn on. If the pixel is low, the pixel will turn off. | ||
|
||
You can use the framebuffer as a file: fopen, fwrite, fclose... | ||
Although the LCD won't get updated until the next refresh time arrives. | ||
|
||
Also, you can mmap the framebuffer: open & mmap, munmap & close... | ||
which is the best option for most uses. | ||
|
||
Check Documentation/auxdisplay/cfag12864b-example.c | ||
for a real working userspace complete program with usage examples. |
Oops, something went wrong.