OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [Documentation/] [wolfson-touchscreen.txt] - Diff between revs 1275 and 1765

Only display areas with differences | Details | Blame | View Log

Rev 1275 Rev 1765
Wolfson Microelectronics WM9705 and WM9712 Touchscreen Controllers
Wolfson Microelectronics WM9705 and WM9712 Touchscreen Controllers
===================================================================
===================================================================
The WM9705 and WM9712 are high performance AC97 audio codecs with built
The WM9705 and WM9712 are high performance AC97 audio codecs with built
in touchscreen controllers that are mainly found in portable devices.
in touchscreen controllers that are mainly found in portable devices.
i.e. Dell Axim and Toshiba e740.
i.e. Dell Axim and Toshiba e740.
This driver uses the AC97 link controller for all communication with the
This driver uses the AC97 link controller for all communication with the
codec and can be either built into the kernel or built as a module.
codec and can be either built into the kernel or built as a module.
Build Instructions
Build Instructions
==================
==================
The driver will be built into the kernel if "sound card support" = y and
The driver will be built into the kernel if "sound card support" = y and
"wolfson AC97 touchscreen support" = y in the kernel sound configuration.
"wolfson AC97 touchscreen support" = y in the kernel sound configuration.
To build as a module, "wolfson AC97 touchscreen support" = m
To build as a module, "wolfson AC97 touchscreen support" = m
in the kernel sound configuration.
in the kernel sound configuration.
Driver Features
Driver Features
===============
===============
 * supports WM9705, WM9712
 * supports WM9705, WM9712
 * polling mode
 * polling mode
 * coordinate polling
 * coordinate polling
 * adjustable rpu/dpp settings
 * adjustable rpu/dpp settings
 * adjustable pressure current
 * adjustable pressure current
 * adjustable sample settle delay
 * adjustable sample settle delay
 * 4 and 5 wire touchscreens (5 wire is WM9712 only)
 * 4 and 5 wire touchscreens (5 wire is WM9712 only)
 * pen down detection
 * pen down detection
 * power management
 * power management
 * AUX ADC sampling
 * AUX ADC sampling
Driver Usage
Driver Usage
============
============
In order to use this driver, a char device called wm97xx with a major
In order to use this driver, a char device called wm97xx with a major
number of 10 and minor number 16 will have to be created under
number of 10 and minor number 16 will have to be created under
/dev/touchscreen.
/dev/touchscreen.
e.g.
e.g.
mknod /dev/touchscreen/wm97xx c 10 16
mknod /dev/touchscreen/wm97xx c 10 16
Driver Parameters
Driver Parameters
=================
=================
The driver can accept several parameters for fine tuning the touchscreen.
The driver can accept several parameters for fine tuning the touchscreen.
However, the syntax is different between module options and passing the
However, the syntax is different between module options and passing the
options in the kernel command line.
options in the kernel command line.
e.g.
e.g.
rpu=1   (module)
rpu=1   (module)
rpu:1   (kernel command line)
rpu:1   (kernel command line)
1. Codec sample mode. (mode)
1. Codec sample mode. (mode)
   The WM9712 can sample touchscreen data in 3 different operating
   The WM9712 can sample touchscreen data in 3 different operating
   modes. i.e. polling, coordinate and continous.
   modes. i.e. polling, coordinate and continous.
   Polling:-     The driver polls the codec and issues 3 seperate commands
   Polling:-     The driver polls the codec and issues 3 seperate commands
                 over the AC97 link to read X,Y and pressure.
                 over the AC97 link to read X,Y and pressure.
   Coordinate: - The driver polls the codec and only issues 1 command over
   Coordinate: - The driver polls the codec and only issues 1 command over
                 the AC97 link to read X,Y and pressure. This mode has
                 the AC97 link to read X,Y and pressure. This mode has
                 strict timing requirements and may drop samples if
                 strict timing requirements and may drop samples if
                 interrupted. However, it is less demanding on the AC97
                 interrupted. However, it is less demanding on the AC97
                 link. Note: this mode requires a larger delay than polling
                 link. Note: this mode requires a larger delay than polling
                 mode.
                 mode.
   Continuous:-  The codec automatically samples X,Y and pressure and then
   Continuous:-  The codec automatically samples X,Y and pressure and then
                 sends the data over the AC97 link in slots. This is then
                 sends the data over the AC97 link in slots. This is then
                 same method used by the codec when recording audio.
                 same method used by the codec when recording audio.
   Set mode = 0 for polling, 1 for coordinate and 2 for continuous.
   Set mode = 0 for polling, 1 for coordinate and 2 for continuous.
   Default mode = 0
   Default mode = 0
2. WM9712 Internal pull up for pen detect. (rpu)
2. WM9712 Internal pull up for pen detect. (rpu)
   Pull up is in the range 1.02k (least sensitive) to 64k (most sensitive)
   Pull up is in the range 1.02k (least sensitive) to 64k (most sensitive)
   i.e. pull up resistance = 64k Ohms / rpu.
   i.e. pull up resistance = 64k Ohms / rpu.
   Adjust this value if you are having problems with pen detect not
   Adjust this value if you are having problems with pen detect not
   detecting any down events.
   detecting any down events.
   Set rpu = value
   Set rpu = value
   Default rpu = 1
   Default rpu = 1
3. WM9705 Pen detect comparator threshold. (pdd)
3. WM9705 Pen detect comparator threshold. (pdd)
   0 to Vmid in 15 steps, 0 = use zero power comparator with Vmid threshold
   0 to Vmid in 15 steps, 0 = use zero power comparator with Vmid threshold
   i.e. 1 =  Vmid/15 threshold
   i.e. 1 =  Vmid/15 threshold
        15 =  Vmid/1 threshold
        15 =  Vmid/1 threshold
   Adjust this value if you are having problems with pen detect not
   Adjust this value if you are having problems with pen detect not
   detecting any down events.
   detecting any down events.
   Set pdd = value
   Set pdd = value
   Default pdd = 0
   Default pdd = 0
4. Set current used for pressure measurement. (pil)
4. Set current used for pressure measurement. (pil)
   Set pil = 2 to use 400uA
   Set pil = 2 to use 400uA
       pil = 1 to use 200uA and
       pil = 1 to use 200uA and
       pil = 0 to disable pressure measurement.
       pil = 0 to disable pressure measurement.
   This is used to increase the range of values returned by the adc
   This is used to increase the range of values returned by the adc
   when measureing touchpanel pressure.
   when measureing touchpanel pressure.
   Default pil = 0
   Default pil = 0
5. WM9712 Set 5 wire touchscreen mode. (five_wire)
5. WM9712 Set 5 wire touchscreen mode. (five_wire)
   Set five_wire = 1 to enable 5 wire mode on the WM9712.
   Set five_wire = 1 to enable 5 wire mode on the WM9712.
   Default five_wire = 0
   Default five_wire = 0
   NOTE: Five wire mode does not allow for readback of pressure.
   NOTE: Five wire mode does not allow for readback of pressure.
6. ADC sample delay. (delay)
6. ADC sample delay. (delay)
   For accurate touchpanel measurements, some settling time may be
   For accurate touchpanel measurements, some settling time may be
   required between the switch matrix applying a voltage across the
   required between the switch matrix applying a voltage across the
   touchpanel plate and the ADC sampling the signal.
   touchpanel plate and the ADC sampling the signal.
   This delay can be set by setting delay = n, where n is the array
   This delay can be set by setting delay = n, where n is the array
   position of the delay in the array delay_table below.
   position of the delay in the array delay_table below.
   Long delays > 1ms are supported for completeness, but are not
   Long delays > 1ms are supported for completeness, but are not
   recommended.
   recommended.
   Default delay = 4
   Default delay = 4
    wm_delay     uS     AC97 link frames
    wm_delay     uS     AC97 link frames
    ====================================
    ====================================
       0              21          1
       0              21          1
       1              42          2
       1              42          2
       2          84          4
       2          84          4
       3         167          8
       3         167          8
       4         333         16
       4         333         16
       5         667         32
       5         667         32
       6        1000         48
       6        1000         48
       7        1333         64
       7        1333         64
       8        2000         96
       8        2000         96
       9        2667        128
       9        2667        128
      10        3333        160
      10        3333        160
      11        4000        192
      11        4000        192
      12        4667        224
      12        4667        224
      13        5333        256
      13        5333        256
      14        6000        288
      14        6000        288
      15           0          0 (No delay, switch matrix always on)
      15           0          0 (No delay, switch matrix always on)
Contact
Contact
=======
=======
Further information about the WM9705 and WM9712 can be found on the
Further information about the WM9705 and WM9712 can be found on the
Wolfson Website. http://www.wolfsonmicro.com
Wolfson Website. http://www.wolfsonmicro.com
Please report bugs to liam.girdwood@wolfsonmicro.com or
Please report bugs to liam.girdwood@wolfsonmicro.com or
                      linux@wolfsonmicro.com
                      linux@wolfsonmicro.com
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.