linux驱动
JOJO___
嵌入式,Web,移动开发
展开
-
RTC驱动 m41t80 代码简析
RTC驱动十分常见,这篇博文就以m41t80为例,简单分析一下RTC驱动的常用套路,本文注重重代码逻辑,轻寄存器hack,寄存器hack,请参考datasheet。代码解析源码路径drivers/rtc/rtc-m41t80.c首先分析驱动的probe函数static int m41t80_probe(struct i2c_client *client, ...原创 2019-04-27 14:06:25 · 895 阅读 · 0 评论 -
AM335X下Linux驱动 spi 收不到消息
示波器有波形,但是spiget不到数据,结果是dts配置问题spi的clk管脚一定要设置为input!!原创 2017-11-30 21:27:17 · 607 阅读 · 2 评论 -
关于Linux 驱动软件架构的理解
最近调了一些USB驱动,也查看了一些驱动代码,发现不管是I2C,SPI,还是USB驱动,都做了软件分层的处理。 而且软件架构十分雷同,可能就是万变不离其中的一些东西吧。驱动框架分析在linux 驱动中,一般会将一个驱动子系统分成三部分,以USB 子系统为例子。1.最上层的驱动:USB触摸屏驱动,USB键盘驱动,USB鼠标驱动,USB转串口驱动,4G的ttyACM驱动等对上(应...原创 2018-12-20 23:02:35 · 640 阅读 · 0 评论 -
触摸屏驱动 ad7879 代码简析
触摸屏驱动十分常见,这篇博文就以ad7879为例,简单分析一下触摸屏驱动的常用套路,本文注重重代码逻辑,轻寄存器hack,寄存器hack,请参考datasheet。代码解析源码路径drivers/input/touchscreen/ad7879-i2c.c.首先简单看下驱动注册部分static const struct i2c_device_id ad7879_id[] =...原创 2019-04-24 21:50:13 · 893 阅读 · 0 评论 -
pwm驱动 pca9685 代码简析
pwm驱动十分常见,这篇博文就以pca9685为例,简单分析一下pwm驱动的常用套路,本文注重重代码逻辑,轻寄存器hack,寄存器hack,请参考datasheet。代码解析源码路径drivers/pwm/pwm-pca9685.c首先看驱动的probe函数static int pca9685_pwm_probe(struct i2c_client *client, ...原创 2019-05-01 11:12:56 · 4064 阅读 · 1 评论 -
USB 网口和u盘 驱动模块功能动态切换
测试环境kernel version 4.4.49开始首先将网口和u盘的驱动都编译成模块,这里省略。作为U盘加载模块顺序,注意不按顺序加载模块会出现依赖问题insmod configfs.koinsmod libcomposite.koinsmod usb_f_mass_storage.ko insmod g_mass_stora...原创 2019-05-21 21:20:18 · 1502 阅读 · 0 评论 -
IMX6 wm8960 驱动调试记录
最近在调试wm8960, 在此记录一下。ALSA 架构下,imx6平台的wm8960驱动支持两种模式。codec-master在codec-master模式下,由芯片旁的晶振提供mclk时钟(我用的是24m),wm8960输出bclk时钟给cpucodec-slave在codec-slave模式下,由cpu输出mclk时钟(我用的是24m),bclk时钟给wm896...原创 2019-06-01 08:35:01 · 4302 阅读 · 1 评论