Blame view

Documentation/auxdisplay/cfag12864b 3.1 KB
70e840499   Miguel Ojeda Sandonis   [PATCH] drivers: ...
1
2
3
4
5
  	===================================
  	cfag12864b LCD Driver Documentation
  	===================================
  
  License:		GPLv2
450c622e9   Miguel Ojeda   Miguel Ojeda has ...
6
  Author & Maintainer:	Miguel Ojeda Sandonis
70e840499   Miguel Ojeda Sandonis   [PATCH] drivers: ...
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  Date:			2006-10-27
  
  
  
  --------
  0. INDEX
  --------
  
  	1. DRIVER INFORMATION
  	2. DEVICE INFORMATION
  	3. WIRING
  	4. USERSPACE PROGRAMMING
  
  
  ---------------------
  1. DRIVER INFORMATION
  ---------------------
450c622e9   Miguel Ojeda   Miguel Ojeda has ...
24
  This driver supports a cfag12864b LCD.
70e840499   Miguel Ojeda Sandonis   [PATCH] drivers: ...
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
  
  
  ---------------------
  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:
be2a608bd   John Anthony Kazos Jr   documentation: co...
80
81
82
  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
70e840499   Miguel Ojeda Sandonis   [PATCH] drivers: ...
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
  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.