swh:1:snp:c3bf2749e3476071fa748f67b0ffa2fdc5fe49d9
Raw File
Tip revision: 40ffbfad6bb79a99cc7627bdaca0ee22dec526f6 authored by Linus Torvalds on 01 September 2007, 06:08:24 UTC
Linux 2.6.23-rc5
Tip revision: 40ffbfa
cfag12864b
	===================================
	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    - 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.
back to top