博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
i2c controller on intel platform
阅读量:4181 次
发布时间:2019-05-26

本文共 1161 字,大约阅读时间需要 3 分钟。

1: 

   a) sys/bus/pci/drivers/i2c-designware-pci   ----controller driver

   b) sys/bus/platform/drivers/i2c-gpio  --- controller driver

   ! note: sys/bus/i2c/drivers/* -- these are i2c slave devices drivers, not controller.

2:

   Code:

   drivers/i2c/busses

   下面有很多i2c controller的文件,到底是哪一个,同理与:http://blog.csdn.net/tangkegagalikaiwu/article/details/8615995

   结合makefile 和 build之后的config 来查看,只有如下2个.o , 一个是i2c-pci相关的,一个是i2c-gpio相关的

   obj-$(CONFIG_I2C_DESIGNWARE_PCI) += i2c-designware-pci.o

i2c-designware-pci-objs := i2c-designware-pcidrv.o i2c-designware-core.o
   obj-$(CONFIG_I2C_GPIO) += i2c-gpio.o

可以印证了1中,确实存在2个gpio controller

i2c-designware-pci:pci-i2c driver

   dw_pci_controllers数组预定义了多个controller设备,对于clover platform 来说,是 cloverview_0~~~cloverview_5; 每当pci总线枚举出一个,就会调用这个driver的 probe一次。

   (这些i2c controller在原理图中,其实也是soc上的gpio pin,那么他们在何处被声明成 pci设备,而不是gpio了呢?   是在sfi里面被intel fw team做掉的)

ps: 之后是可以再kernel里面进行更改的:lnw_gpio_set_alt ( 最后操作的是GAFR)

i2c-gpio.o:platform-i2c driver

    可以在probe函数中打印出pdata->sda_pin, pdata->scl_pin,得知是哪2个gpio来模拟i2c controller(我现在的项目中,就是hdmi的2个 gpio)

    platform设备何处注册生成?

    Platform_i2c_gpio.c (z:\jb_intel\hardware\intel\linux-2.6\arch\x86\platform\intel-mid\device_libs

   

    

你可能感兴趣的文章
抓包简单分析英雄联盟的网络设计
查看>>
Java8的CompletableFuture异步调用
查看>>
Servlet3-异步请求-DeferredResult
查看>>
Tomcat设置maxThreads,acceptCount
查看>>
使用logback.xml配置来实现日志文件输出
查看>>
spring security
查看>>
java9 新特性
查看>>
Centos7系统Mysql5.6下载与安装
查看>>
Linux环境下Redis的安装与配置
查看>>
面试感悟:3年工作经验java程序员应有的技能
查看>>
Java代码实现多线程下载和断点续传
查看>>
mysql分表分区
查看>>
mysql分区详解
查看>>
java线程池管理多线程的应用
查看>>
redis集群图解
查看>>
linux(centos 6.8 64位)下安装JDK8
查看>>
linux(centos6.8 64位)下安装tomcat8
查看>>
java中高级面试题总结
查看>>
centos安装tomcat
查看>>
spring cloud学习,转载自纯洁的微笑
查看>>