linux-old/Documentation/wolfson-touchscreen.txt
<<
>>
Prefs
   1
   2Wolfson Microelectronics WM9705 and WM9712 Touchscreen Controllers
   3===================================================================
   4
   5The WM9705 and WM9712 are high performance AC97 audio codecs with built
   6in touchscreen controllers that are mainly found in portable devices.
   7i.e. Dell Axim and Toshiba e740. 
   8
   9This driver uses the AC97 link controller for all communication with the 
  10codec and can be either built into the kernel or built as a module. 
  11
  12Build Instructions
  13==================
  14
  15The driver will be built into the kernel if "sound card support" = y and
  16"wolfson AC97 touchscreen support" = y in the kernel sound configuration.
  17
  18To build as a module, "wolfson AC97 touchscreen support" = m
  19in the kernel sound configuration.
  20
  21
  22Driver Features
  23===============
  24
  25 * supports WM9705, WM9712
  26 * polling mode
  27 * coordinate polling
  28 * adjustable rpu/dpp settings
  29 * adjustable pressure current
  30 * adjustable sample settle delay
  31 * 4 and 5 wire touchscreens (5 wire is WM9712 only)
  32 * pen down detection
  33 * power management
  34 * AUX ADC sampling
  35
  36
  37Driver Usage
  38============
  39
  40In order to use this driver, a char device called wm97xx with a major
  41number of 10 and minor number 16 will have to be created under 
  42/dev/touchscreen.
  43  
  44e.g.
  45mknod /dev/touchscreen/wm97xx c 10 16
  46
  47
  48Driver Parameters
  49=================
  50The driver can accept several parameters for fine tuning the touchscreen. 
  51However, the syntax is different between module options and passing the 
  52options in the kernel command line.
  53
  54e.g.
  55
  56rpu=1   (module)
  57rpu:1   (kernel command line)
  58
  59
  601. Codec sample mode. (mode)
  61 
  62   The WM9712 can sample touchscreen data in 3 different operating
  63   modes. i.e. polling, coordinate and continous.
  64  
  65   Polling:-     The driver polls the codec and issues 3 seperate commands
  66                 over the AC97 link to read X,Y and pressure.
  67   
  68   Coordinate: - The driver polls the codec and only issues 1 command over
  69                 the AC97 link to read X,Y and pressure. This mode has
  70                 strict timing requirements and may drop samples if 
  71                 interrupted. However, it is less demanding on the AC97
  72                 link. Note: this mode requires a larger delay than polling
  73                 mode.
  74  
  75   Continuous:-  The codec automatically samples X,Y and pressure and then
  76                 sends the data over the AC97 link in slots. This is then
  77                 same method used by the codec when recording audio.
  78 
  79   Set mode = 0 for polling, 1 for coordinate and 2 for continuous.
  80             
  81   Default mode = 0
  82   
  83   
  84
  852. WM9712 Internal pull up for pen detect. (rpu) 
  86  
  87   Pull up is in the range 1.02k (least sensitive) to 64k (most sensitive)
  88   i.e. pull up resistance = 64k Ohms / rpu.
  89   
  90   Adjust this value if you are having problems with pen detect not 
  91   detecting any down events.
  92   
  93   Set rpu = value
  94
  95   Default rpu = 1
  96   
  97   
  98
  993. WM9705 Pen detect comparator threshold. (pdd) 
 100   
 101   0 to Vmid in 15 steps, 0 = use zero power comparator with Vmid threshold
 102   i.e. 1 =  Vmid/15 threshold
 103        15 =  Vmid/1 threshold
 104   
 105   Adjust this value if you are having problems with pen detect not 
 106   detecting any down events.
 107   
 108   Set pdd = value
 109
 110   Default pdd = 0
 111
 112
 113 
 1144. Set current used for pressure measurement. (pil)
 115 
 116   Set pil = 2 to use 400uA 
 117       pil = 1 to use 200uA and
 118       pil = 0 to disable pressure measurement.
 119  
 120   This is used to increase the range of values returned by the adc
 121   when measureing touchpanel pressure. 
 122   
 123   Default pil = 0
 124  
 125
 126
 1275. WM9712 Set 5 wire touchscreen mode. (five_wire)
 128
 129   Set five_wire = 1 to enable 5 wire mode on the WM9712.
 130   
 131   Default five_wire = 0
 132   
 133   NOTE: Five wire mode does not allow for readback of pressure.
 134
 135
 136
 1376. ADC sample delay. (delay)
 138  
 139   For accurate touchpanel measurements, some settling time may be
 140   required between the switch matrix applying a voltage across the
 141   touchpanel plate and the ADC sampling the signal.
 142  
 143   This delay can be set by setting delay = n, where n is the array
 144   position of the delay in the array delay_table below.
 145   Long delays > 1ms are supported for completeness, but are not
 146   recommended.
 147   
 148   Default delay = 4
 149 
 150    wm_delay     uS     AC97 link frames
 151    ====================================
 152       0              21          1
 153       1              42          2
 154       2          84          4
 155       3         167          8
 156       4         333         16
 157       5         667         32
 158       6        1000         48
 159       7        1333         64
 160       8        2000         96
 161       9        2667        128
 162      10        3333        160
 163      11        4000        192
 164      12        4667        224
 165      13        5333        256
 166      14        6000        288
 167      15           0          0 (No delay, switch matrix always on)
 168
 169
 170
 171Contact
 172=======
 173
 174Further information about the WM9705 and WM9712 can be found on the 
 175Wolfson Website. http://www.wolfsonmicro.com
 176
 177Please report bugs to liam.girdwood@wolfsonmicro.com or 
 178                      linux@wolfsonmicro.com
 179
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.