开发环境:ubuntu+openwrt15.05
开发套件:Linkit Smart 7688
这里介绍怎么修改I2C的时钟频率。
官方文档说没有提供I2C根据不同工程修改不同的时钟频率,也就是说I2C的时钟频率在一个工程下是固定的。
在openwrt下配置的Linkit Smart 7688里面,
碰巧又用到了一个I2C的设备时钟频率很低,只能降低I2C时钟频率来满足使用。
目录(linux-3.18.44:不同内核版本也不一样):
/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7688/linux-3.18.44/drivers/i2c/busses/i2c-ralink.c
在i2c-ralink.c中第60行:
#define CLKDIV_VALUE 200
这个是个分频值,默认的主频是40MHz的,所以#define CLKDIV_VALUE=200,实际输出就是200KHz。
具体的就按照自己的需求去修改吧。

本文介绍如何在Ubuntu+OpenWRT环境下为LinkitSmart7688开发板修改I2C时钟频率,以适应低速I2C设备的需求。通过修改特定文件中的分频值,可以实现I2C时钟频率的调整。
2303

被折叠的 条评论
为什么被折叠?



