cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cfag12864b.rst (3147B)


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