I2C设备驱动的理解

1、通过platform_data 进行数据注册 

 

2、I2C涉及主要的四个数据结构

  i2c_adapter, i2c_algor、i2c_client、i2c_driver, 这四者的关系

  1、i2c_adapter是总线驱动,指的I2C控制器通用驱动函数

       i2c_algor 是总线驱动,用于封装具体的下发内容

      i2c_client 是做资源配置,配置I2C控制器,一般用设备树实现

      i2c_driver 是提供给应用层的接口, 通过i2c_driver进行调用i2c_algor进行具体的下发

      

 3、完整的驱动编写

      1、注册i2c_driver, 通过i2c_driver.name 与总线的platfrom_data 进行匹配,获取资源、中断、gpio接口内容

      2、添加i2c_adpater

 4、I2C驱动框架

   

 

posted @   cogitoergosum  阅读(107)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2017-11-01 linux C 不支持 函数默认参数
2016-11-01 CSS3使用Font Awesome字体图标的控件样例(按钮,工具栏,输入框)
点击右上角即可分享
微信分享提示