linux/Documentation/auxdisplay/cfag12864b
<<
>>
Prefs
   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
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.