1. 获取设备树中匹配的设备信息或者从平台数据中获取设备信息。
  2. 获取资源信息,包括IO资源和中断资源。
  3. 映射IO资源,获取物理地址,并分配内存空间。
  4. 分配并初始化i2c_imx结构体。
  5. 设置i2c_imx适配器的各个参数,包括名称、所有权、算法、父设备等。
  6. 获取I2C时钟,并开启时钟使能。
  7. 请求中断,并初始化等待队列。
  8. 设置i2c_imx的adapter数据。
  9. 设置平台驱动数据。
  10. 设置电源管理相关参数,并开启电源管理。
  11. 设置时钟分频。
  12. 初始化芯片寄存器,将中断使能位置为0,清空中断状态。
  13. 初始化可选的总线恢复函数。
  14. 添加I2C适配器。
  15. 初始化DMA配置(如果支持)。
  16. 返回成功或者错误码,如果失败则进行相应的清理工作。

原文地址: http://www.cveoy.top/t/topic/fef5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录