荣品四核S5P4418开发板之I2C速率配置

2025-11-24 07:42:44

1、文件位置(kernel目录下)  

I2c-gpio.c (drivers\i2c\busses)         I2C总线驱动,注册I2C总线

开发板正确开机后连接电脑。

1、I2C传输数据速率由其时钟频率决定,而I2C的时钟频率是在I2C注册的时候确定的,I2C注册是在devices.c中注册的。

荣品四核S5P4418开发板之I2C速率配置

2、以I2C0为例。

I2C0在内核中是一个平台设备,nxp_i2c_gpio_port0里的成员:

.udelay= I2CUDELAY(CFG_I2C0_CLK)         

决定I2C0的频率,在I2C驱动(i2c-gpio.c)驱动注册时,调用probe函数,将获得这个成员的数据,初始化I2C0的频率。

荣品四核S5P4418开发板之I2C速率配置

荣品四核S5P4418开发板之I2C速率配置

3、.udelay= I2CUDELAY(CFG_I2C0_CLK)中,实际决定I2C频率的是CFG_I2C0_CLK

CFG_I2C0_CLK这个宏是在cfg_main.h中定义的。

          #define CFG_I2C0_CLK100000

通过修改这个宏的值可以修改I2C频率。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢