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