// SPDX-License-Identifier: GPL-2.0/* * Copyright (C) 2012 Simon Budig, <simon.budig@kernelconcepts.de> * Daniel Wagener <daniel.wagener@kernelconcepts.de> (M09 firmware support) * Lothar Waßmann <LW@KARO-electronics.de> (DT support) * Dario Binacchi <dario.binacchi@amarulasolutions.com> (regmap support) *//* * This is a driver for the EDT "Polytouch" family of touch controllers * based on the FocalTech FT5x06 line of chips. * * Development of this driver has been sponsored by Glyn: * http://www.glyn.com/Products/Displays */#include<linux/debugfs.h>#include<linux/delay.h>#include<linux/gpio/consumer.h>#include<linux/i2c.h>#include<linux/interrupt.h>#include<linux/input.h>#include<linux/input/mt.h>#include<linux/input/touchscreen.h>#include<linux/irq.h>#include<linux/kernel.h>#include<linux/module.h>#include<linux/property.h>#include<linux/ratelimit.h>#include<linux/regmap.h>#include<linux/regulator/consumer.h>#include<linux/slab.h>#include<linux/uaccess.h>#include<asm/unaligned.h>#define WORK_REGISTER_THRESHOLD 0x00#define WORK_REGISTER_REPORT_RATE 0x08#define WORK_REGISTER_GAIN 0x30#define WORK_REGISTER_OFFSET 0x31#define WORK_REGISTER_NUM_X 0x33#define WORK_REGISTER_NUM_Y 0x34#define PMOD_REGISTER_ACTIVE 0x00#define PMOD_REGISTER_HIBERNATE 0x03#define M09_REGISTER_THRESHOLD 0x80