摘要:
以下代码为整点原子代码: 多点触摸相关API函数: int input_mt_init_slots( struct input_dev *dev, unsigned int num_slots, unsigned int flags) // 初始化slots // 函数参数和返回值含义如下: dev 阅读全文
摘要:
参考资料:https://www.cnblogs.com/kn-zheng/p/17529462.html 1、x/y坐标获取反了理论上LCD左上为[0, 0],右下为分辨率坐标(例如[4096, 2160]),但是上报上去的数据右下为[0 ,0],左上为[4096 , 2160],此时可以做x方向 阅读全文
摘要:
此处代码为正点原子代码 probe函数重点: 1、dts获得硬件信息 2、alloc/set/register input_dev alloc:input_allocate_device或devm_input_allocate_device,input_dev.name等不重要 set:重点为ev_ 阅读全文
摘要:
参考资料: 正点原子Linux设备驱动 韦东山第二期 图来源于100ask: 一个设备链表,一个handler链表,左边是设备层,右侧是handler处理层,用来处理各种事件。handler处理层内核已经做好了。驱动一个Input设备只需要构造一个input_dev,核心层来注册input_dev和 阅读全文
摘要:
参考资料: 正点原子Linux设备驱动 韦东山第二期 触摸屏分为电阻屏和电容屏。电阻屏结构简单,以前很流行;电容屏支持多点触摸,现在手机基本都是使用电容屏 注:LCD和touch screen不是一个东西,制作触摸屏时特地把它的尺寸做得跟LCD大小一模一样,并不是将触摸屏覆盖在LCD上 电阻屏: 电 阅读全文
摘要:
参考资料: 正点原子Linux设备驱动 韦东山第二期 input子系统框架图: 用户空间:用户空间可直接访问驱动节点,/dev/input/event0,1,2,也可以通过1tslib/libinput库来使用输入设备 输入系统事件层:处理核心层上报的输入事件,给用户层提供访问接口 输入系统核心层: 阅读全文
摘要:
驱动目的: 从eeprom的0x2000地址开始读出4096byte大小数据 驱动如下: #include <linux/module.h> #include <linux/init.h> #include <linux/delay.h> #include <linux/spi/spi.h> #in 阅读全文
摘要:
spi总线 设备链表 spi_device 控制器spi_master 读写硬件: spidev_sync_read(struct spidev_data *spidev, size_t len) { struct spi_transfer t = { .rx_buf = spidev->rx_bu 阅读全文
摘要:
参考资料:正点原子Linux设备驱动 ap3216c.c驱动 #include <linux/types.h> #include <linux/kernel.h> #include <linux/delay.h> #include <linux/ide.h> #include <linux/init 阅读全文
摘要:
学习资料:https://blog.csdn.net/yangguoyu8023/article/details/122362946 源码: drivers\i2c\busses\i2c-designware-platdrv.c drivers\i2c\busses\i2c-designware-m 阅读全文