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