Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			105 lines
		
	
	
	
		
			3.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
	
		
			3.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
	===================================
 | 
						|
	cfag12864b LCD Driver Documentation
 | 
						|
	===================================
 | 
						|
 | 
						|
License:		GPLv2
 | 
						|
Author & Maintainer:	Miguel Ojeda Sandonis
 | 
						|
Date:			2006-10-27
 | 
						|
 | 
						|
 | 
						|
 | 
						|
--------
 | 
						|
0. INDEX
 | 
						|
--------
 | 
						|
 | 
						|
	1. DRIVER INFORMATION
 | 
						|
	2. DEVICE INFORMATION
 | 
						|
	3. WIRING
 | 
						|
	4. USERSPACE PROGRAMMING
 | 
						|
 | 
						|
 | 
						|
---------------------
 | 
						|
1. DRIVER INFORMATION
 | 
						|
---------------------
 | 
						|
 | 
						|
This driver supports a cfag12864b LCD.
 | 
						|
 | 
						|
 | 
						|
---------------------
 | 
						|
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.
 |