1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* linux/spi/ad7877.h */ 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun /* Touchscreen characteristics vary between boards and models. The 5*4882a593Smuzhiyun * platform_data for the device's "struct device" holds this information. 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * It's OK if the min/max values are zero. 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun struct ad7877_platform_data { 10*4882a593Smuzhiyun u16 model; /* 7877 */ 11*4882a593Smuzhiyun u16 vref_delay_usecs; /* 0 for external vref; etc */ 12*4882a593Smuzhiyun u16 x_plate_ohms; 13*4882a593Smuzhiyun u16 y_plate_ohms; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun u16 x_min, x_max; 16*4882a593Smuzhiyun u16 y_min, y_max; 17*4882a593Smuzhiyun u16 pressure_min, pressure_max; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun u8 stopacq_polarity; /* 1 = Active HIGH, 0 = Active LOW */ 20*4882a593Smuzhiyun u8 first_conversion_delay; /* 0 = 0.5us, 1 = 128us, 2 = 1ms, 3 = 8ms */ 21*4882a593Smuzhiyun u8 acquisition_time; /* 0 = 2us, 1 = 4us, 2 = 8us, 3 = 16us */ 22*4882a593Smuzhiyun u8 averaging; /* 0 = 1, 1 = 4, 2 = 8, 3 = 16 */ 23*4882a593Smuzhiyun u8 pen_down_acc_interval; /* 0 = covert once, 1 = every 0.5 ms, 24*4882a593Smuzhiyun 2 = ever 1 ms, 3 = every 8 ms,*/ 25*4882a593Smuzhiyun }; 26