imx53 QSB添加模拟I2C
来源:互联网 发布:床垫哪个好 知乎 编辑:程序博客网 时间:2024/06/05 18:08
修改在文件/arch/arm/freescale/mach-mx5/mx53_loco.c
A,在此文件中添加头文件 #include <linux/i2c-gpio.h>
B,根据自己的板,选择没有使用的GPIO口:
#define GPIO_I2C4_SDA_3_28 (2*32+28)
#define GPIO_I2C4_SCL_3_21 (2*32+21)
C,在mx53_loco_pads[]中添加这两个GPIO口的定义宏:
MX53_PAD_EIM_D28__GPIO3_28,
MX53_PAD_EIM_D21__GPIO3_21,
D,添加如下代码:
/*GPIO_I2C*/
static struct platform_device mxc_gpio_i2c_device =
{
.name = "i2c-gpio", //这里一定是i2c-gpio不能是别的
.id = 3, //这里id为3 那么说明前面还有其他的i2c设备 从0开始
};
static struct i2c_gpio_platform_data mxc_gpio_i2c_data =
{
.sda_pin = GPIO_I2C4_SDA_3_28,
.scl_pin = GPIO_I2C4_SCL_3_21,
.udelay = 5,
.sda_is_open_drain = 0, //如果没有效把0 设置为1试试
.scl_is_open_drain = 0, //同上
.scl_is_output_only = 0,
};
static struct i2c_board_info mxc_i2c3_board_info[] __initdata = {
//这里就是跟3对应 第4个i2c 设备
/*{
.type = "xxx",//设备驱动名
.addr = 0x12, //地址
...
},
*/
};
E,在函数mxc_board_init中添加:和硬I2C一样的注册。
mxc_register_device(&mxc_gpio_i2c_device, &mxc_gpio_i2c_data);
i2c_register_board_info(3, mxc_i2c3_board_info,
ARRAY_SIZE(mxc_i2c3_board_info));
原文地址
http://blog.csdn.net/hp_2008/article/details/7783363
- imx53 QSB添加模拟I2C
- imx53 QSB添加模拟I2C
- 高通I2C control及gpio模拟添加I2C设备
- i2c设备/模拟i2c
- 模拟I2C
- 模拟I2C
- I2C模拟
- GPIO模拟I2C / I2C注意事项
- i2c 驱动gpio模拟i2c
- GPIO软件模拟I2C
- IO模拟I2C代码
- io模拟i2c程序
- linux gpio模拟i2c
- linux gpio模拟i2c
- GPIO模拟I2C-1
- GPIO软件模拟I2C
- GPIO模拟I2C操作
- 软件模拟I2C
- Delphi7中cxGrid控件自动编号
- [9月28日的脚本] 用于查找用户登录持续时间的脚本示例(PowerShell)
- Apache+php 5.3.8的安装与配置
- TI C672x DSP Memory Map Summary(备)
- 日期/case函数用法
- imx53 QSB添加模拟I2C
- Centos用yum安装X Winodw
- test
- linux查看CPU性能及工作状态的指令mpstat,vmstat,iostat,sar,top
- Project Euler problem 32
- OSI七层模型和TCP/IP四层模型
- 网站优化要如何应对搜索引擎的变化
- ASP.NET怎样判断是手机访问网站还是电脑访问
- linux android 使用JNI