···8585MODULE_PARM_DESC(delay, "Set adc sample delay.");86868787/*8888+ * Set five_wire = 1 to use a 5 wire touchscreen.8989+ *9090+ * NOTE: Five wire mode does not allow for readback of pressure.9191+ */9292+static int five_wire;9393+module_param(five_wire, int, 0);9494+MODULE_PARM_DESC(five_wire, "Set to '1' to use 5-wire touchscreen.");9595+9696+/*8897 * Set adc mask function.8998 *9099 * Sources of glitch noise, such as signals driving an LCD display, may feed···169160 dig3 |= WM9712_RPU(rpu);170161 dev_info(wm->dev, "setting pen detect pull-up to %d Ohms\n",171162 64000 / rpu);163163+ }164164+165165+ /* Five wire panel? */166166+ if (five_wire) {167167+ dig3 |= WM9713_45W;168168+ dev_info(wm->dev, "setting 5-wire touchscreen mode.");169169+170170+ if (pil) {171171+ dev_warn(wm->dev,172172+ "Pressure measurement not supported in 5 "173173+ "wire mode, disabling\n");174174+ pil = 0;175175+ }172176 }173177174178 /* touchpanel pressure */
+1
include/linux/wm97xx.h
···100100#define WM9713_ADCSEL_Y 0x0004 /* Y measurement */101101#define WM9713_ADCSEL_PRES 0x0008 /* Pressure measurement */102102#define WM9713_COO 0x0001 /* enable coordinate mode */103103+#define WM9713_45W 0x1000 /* set for 5 wire panel */103104#define WM9713_PDEN 0x0800 /* measure only when pen down */104105#define WM9713_ADCSEL_MASK 0x00fe /* ADC selection mask */105106#define WM9713_WAIT 0x0200 /* coordinate wait */