![Miguel Ojeda Sandonis](/assets/img/avatar_default.png)
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. [rdunlap@xenotime.net: workqueue fixups] [akpm@osdl.org: kconfig fix] Signed-off-by: Miguel Ojeda Sandonis <maxextreme@gmail.com> Cc: Greg KH <greg@kroah.com> Acked-by: Paulo Marques <pmarques@grupopie.com> Cc: "Randy.Dunlap" <rdunlap@xenotime.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
106 lines
3.1 KiB
Plaintext
106 lines
3.1 KiB
Plaintext
===================================
|
||
cfag12864b LCD Driver Documentation
|
||
===================================
|
||
|
||
License: GPLv2
|
||
Author & Maintainer: Miguel Ojeda Sandonis <maxextreme@gmail.com>
|
||
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 <20> R = Resistor = 22 ohm
|
||
Ground (22)---[GND] | <20> P1 = Preset = 10 Kohm
|
||
Ground (23)---[GND] ---- S ------( 3) V0 <20> 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.
|