mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-29 23:53:55 +08:00
76b5a6e842
Those two files describe userspace-faced information. While part of it might fit on uAPI, it sounds to me that the admin guide is the best place for them. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Acked-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
99 lines
3.1 KiB
ReStructuredText
99 lines
3.1 KiB
ReStructuredText
===================================
|
|
cfag12864b LCD Driver Documentation
|
|
===================================
|
|
|
|
:License: GPLv2
|
|
:Author & Maintainer: Miguel Ojeda Sandonis
|
|
:Date: 2006-10-27
|
|
|
|
|
|
|
|
.. 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 samples/auxdisplay/cfag12864b-example.c
|
|
for a real working userspace complete program with usage examples.
|