| Miguel Ojeda Sandonis | 70e8404 | 2007-02-10 01:44:32 -0800 | [diff] [blame] | 1 | 	=================================== | 
 | 2 | 	cfag12864b LCD Driver Documentation | 
 | 3 | 	=================================== | 
 | 4 |  | 
 | 5 | License:		GPLv2 | 
| Miguel Ojeda | 450c622 | 2008-07-04 09:59:33 -0700 | [diff] [blame] | 6 | Author & Maintainer:	Miguel Ojeda Sandonis | 
| Miguel Ojeda Sandonis | 70e8404 | 2007-02-10 01:44:32 -0800 | [diff] [blame] | 7 | Date:			2006-10-27 | 
 | 8 |  | 
 | 9 |  | 
 | 10 |  | 
 | 11 | -------- | 
 | 12 | 0. INDEX | 
 | 13 | -------- | 
 | 14 |  | 
 | 15 | 	1. DRIVER INFORMATION | 
 | 16 | 	2. DEVICE INFORMATION | 
 | 17 | 	3. WIRING | 
 | 18 | 	4. USERSPACE PROGRAMMING | 
 | 19 |  | 
 | 20 |  | 
 | 21 | --------------------- | 
 | 22 | 1. DRIVER INFORMATION | 
 | 23 | --------------------- | 
 | 24 |  | 
| Miguel Ojeda | 450c622 | 2008-07-04 09:59:33 -0700 | [diff] [blame] | 25 | This driver supports a cfag12864b LCD. | 
| Miguel Ojeda Sandonis | 70e8404 | 2007-02-10 01:44:32 -0800 | [diff] [blame] | 26 |  | 
 | 27 |  | 
 | 28 | --------------------- | 
 | 29 | 2. DEVICE INFORMATION | 
 | 30 | --------------------- | 
 | 31 |  | 
 | 32 | Manufacturer:	Crystalfontz | 
 | 33 | Device Name:	Crystalfontz 12864b LCD Series | 
 | 34 | Device Code:	cfag12864b | 
 | 35 | Webpage:	http://www.crystalfontz.com | 
 | 36 | Device Webpage:	http://www.crystalfontz.com/products/12864b/ | 
 | 37 | Type:		LCD (Liquid Crystal Display) | 
 | 38 | Width:		128 | 
 | 39 | Height:		64 | 
 | 40 | Colors:		2 (B/N) | 
 | 41 | Controller:	ks0108 | 
 | 42 | Controllers:	2 | 
 | 43 | Pages:		8 each controller | 
 | 44 | Addresses:	64 each page | 
 | 45 | Data size:	1 byte each address | 
 | 46 | Memory size:	2 * 8 * 64 * 1 = 1024 bytes = 1 Kbyte | 
 | 47 |  | 
 | 48 |  | 
 | 49 | --------- | 
 | 50 | 3. WIRING | 
 | 51 | --------- | 
 | 52 |  | 
 | 53 | The cfag12864b LCD Series don't have official wiring. | 
 | 54 |  | 
 | 55 | The common wiring is done to the parallel port as shown: | 
 | 56 |  | 
 | 57 | Parallel Port                          cfag12864b | 
 | 58 |  | 
 | 59 |   Name Pin#                            Pin# Name | 
 | 60 |  | 
 | 61 | Strobe ( 1)------------------------------(17) Enable | 
 | 62 | Data 0 ( 2)------------------------------( 4) Data 0 | 
 | 63 | Data 1 ( 3)------------------------------( 5) Data 1 | 
 | 64 | Data 2 ( 4)------------------------------( 6) Data 2 | 
 | 65 | Data 3 ( 5)------------------------------( 7) Data 3 | 
 | 66 | Data 4 ( 6)------------------------------( 8) Data 4 | 
 | 67 | Data 5 ( 7)------------------------------( 9) Data 5 | 
 | 68 | Data 6 ( 8)------------------------------(10) Data 6 | 
 | 69 | Data 7 ( 9)------------------------------(11) Data 7 | 
 | 70 |        (10)                      [+5v]---( 1) Vdd | 
 | 71 |        (11)                      [GND]---( 2) Ground | 
 | 72 |        (12)                      [+5v]---(14) Reset | 
 | 73 |        (13)                      [GND]---(15) Read / Write | 
 | 74 |   Line (14)------------------------------(13) Controller Select 1 | 
 | 75 |        (15) | 
 | 76 |   Init (16)------------------------------(12) Controller Select 2 | 
 | 77 | Select (17)------------------------------(16) Data / Instruction | 
 | 78 | Ground (18)---[GND]              [+5v]---(19) LED + | 
 | 79 | Ground (19)---[GND] | 
 | 80 | Ground (20)---[GND]              E    A             Values: | 
| John Anthony Kazos Jr | be2a608 | 2007-05-09 08:50:42 +0200 | [diff] [blame] | 81 | Ground (21)---[GND]       [GND]---[P1]---(18) Vee    - R = Resistor = 22 ohm | 
 | 82 | Ground (22)---[GND]                |                 - P1 = Preset = 10 Kohm | 
 | 83 | Ground (23)---[GND]       ----   S ------( 3) V0     - P2 = Preset = 1 Kohm | 
| Miguel Ojeda Sandonis | 70e8404 | 2007-02-10 01:44:32 -0800 | [diff] [blame] | 84 | Ground (24)---[GND]       |  | | 
 | 85 | Ground (25)---[GND] [GND]---[P2]---[R]---(20) LED - | 
 | 86 |  | 
 | 87 |  | 
 | 88 | ------------------------ | 
 | 89 | 4. USERSPACE PROGRAMMING | 
 | 90 | ------------------------ | 
 | 91 |  | 
 | 92 | The cfag12864bfb describes a framebuffer device (/dev/fbX). | 
 | 93 |  | 
 | 94 | It has a size of 1024 bytes = 1 Kbyte. | 
 | 95 | Each bit represents one pixel. If the bit is high, the pixel will | 
 | 96 | turn on. If the pixel is low, the pixel will turn off. | 
 | 97 |  | 
 | 98 | You can use the framebuffer as a file: fopen, fwrite, fclose... | 
 | 99 | Although the LCD won't get updated until the next refresh time arrives. | 
 | 100 |  | 
 | 101 | Also, you can mmap the framebuffer: open & mmap, munmap & close... | 
 | 102 | which is the best option for most uses. | 
 | 103 |  | 
 | 104 | Check Documentation/auxdisplay/cfag12864b-example.c | 
 | 105 | for a real working userspace complete program with usage examples. |