#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/input.h>
#include <linux/init.h>
#include <linux/serio.h>
#include <linux/delay.h>
#include <linux/platform_device.h>
#include <linux/clk.h>
#include <asm/io.h>
#include <asm/irq.h>
#define TS_REG_BASE_ADDR 0x58000000
struct s3c_ts_regs {
unsigned long adccon;
unsigned long adctsc;
unsigned long adcdly;
unsigned long adcdat0;
unsigned long adcdat1;
unsigned long adcupdn;
};
struct s3c_new_ts_driver {
struct platform_driver *ts_dev;
struct input_dev *ts_input;
struct clk* clk;
struct mutex ts_mutex;
struct s3c_ts_regs *ts_regs;
struct timer_list ts_timer;
};
static void enter_wait_pen_down_mode(struct s3c_new_ts_driver *ts_driver )
{
ts_driver->ts_regs->adctsc = 0xd3;
}
static void enter_measure_xy_mode(struct s3c_new_ts_driver *ts_drive
linux 创建sys debug节点范例
最新推荐文章于 2024-03-07 11:53:10 发布
该博客介绍了如何在Linux下为s3c平台编写一个触摸屏驱动,包括设置ADC控制寄存器、输入设备注册、定时器处理等功能,涉及内核模块、平台设备驱动和输入子系统。
摘要由CSDN通过智能技术生成