imx53 QSB添加模拟I2C
修改在文件/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,
};
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 = {
/*{
.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_i2c2_board_info,
ARRAY_SIZE(mxc_i2c3_board_info));
imx53 QSB添加模拟I2C相关推荐
- Linux I2C子系统分析之(一) ----- 用GPIO模拟I2C总线
在drivers/i2c/busses下包含各种I2C总线驱动,如S3C2440的I2C总线驱动i2c-s3c2410.c,使用GPIO模拟I2C总线的驱动i2c-gpio.c,这里只分析i2c-gp ...
- STM32模拟I2C时序读写EEPROM精简版
平台:STM32ZET6(核心板)+ST-LINK/V2+SD卡+USB串口线+外部EEPROM(不需要上拉电阻) 工程介绍:主要文件在USER组中,bsp_i2c_ee.c,bsp_i2c_ee.h ...
- 51单片机模拟I2C程序
IIC即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦公司研发出来的.是一种两线式串行总线,两条线可以挂多个参与通信的器件,即多机模式.一般由控制器作为主机. ...
- linux下IO口模拟I2C的一些总结
2019独角兽企业重金招聘Python工程师标准>>> 以前一直在用I2C接口,因为总是有线程的例子就一直没有去深入的了解,今天分析了一下在linux下通用GPIO模拟I2C的程序. ...
- GPIO模拟I2C程序实现
GPIO模拟I2C程序实现. I2C是由Philips公司发明的一种串行数据通信协议,仅使用两根信号线:SerialClock(简称SCL)和SerialData(简称SDA).I2C是总线结构,1个 ...
- 使用GPIO模拟I2C总线进行通信
I2C总线的通信过程(见图4-8)主要包含三个主要阶段:起始阶段.数据传输阶段和终止阶段. 1. 起始阶段 在I2C总线不工作的情况下,SDA(数据线)和SCL(时钟线)上的信号均为高电平.如果此时主 ...
- 单片机GPIO软件模拟I2C通讯程序
文章原始地址:http://feotech.com/?p=98 本程序主要用于使用可编程芯片自身的IO管脚,模拟I2C通信的协议,实现I2C总线数据的传输. /******************** ...
- GPIO口模拟I2C操作
/* 作者:天空 日期:2014.5.12 功能:利用GPIO口模拟I2C总线,对传感器寄存器读取数据 注意:如果需要移植些文件到其他设 ...
- S5PV210之GPIO模拟I2c时序之pcf8591与at24xx linux3.0.8驱动
目录:一. 说明 二. 驱动程序说明及问题 三. 案例一 四. 案例二 一. 说明 mini210开发板上带了at24c08, 看了linux内核自带的at24.c的驱动程序,编译下载到看 ...
最新文章
- Fragment的运用实列
- hadoop hive 安装
- (ql)30W单片精密开关电源 电路图加分析
- android从放弃到精通 第一天 重拾项目开发
- 动态库(共享库)的制作和使用
- linear在HTML的作用,CSS3里的linear-gradient()函数
- 【IDEA】IDEA中使用git将项目上传到码云上
- LeetCode | 3 Sum
- CMS设计和CMS选型(内容管理系统)
- Linux系统架构与目录解析 pdf版,Linux系统架构与目录解析
- Basic--Java基本语法
- vue_music:搜索search.vue
- 文件服务器定时开关机,云服务器定时开关机
- DSP入门必看(上)
- C# ManualResetEvent 与 AutoResetEvent 区别
- 腾讯安全御见威胁情报中心截获粗鲁的矿工,三种方式猛攻企业网络
- 【数学建模】三维曲面绘图 | matlab
- Oracle时间以半小时为单位取整
- Ruby和Sinatra讲座信息
- arduino控制光敏传感器
热门文章
- 杭州宇轩建筑装饰工程有限公司
- 仿人型手腕 6R机械臂 D-H参数和运动学逆解
- AtCoder Regular Contest 061--C - たくさんの数式 / Many Formulas(DFS)
- 彩超探头频率高低的区别_您好!最近在研究超声波探头的各种特性.关于中心频率问题,...
- 云原生爱好者周刊:VMware Tanzu 社区版发布,无任何限制!
- 【美学设计】微信小程序界面设计
- 太阳能GPS坐标记录器
- 从flexible.js引入高德地图谈起的移动端适配
- 怎么关闭受到的入侵端口(转)
- 【Matlab PolySpace 代码静态分析使用教程】