修改在文件/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相关推荐

  1. Linux I2C子系统分析之(一) ----- 用GPIO模拟I2C总线

    在drivers/i2c/busses下包含各种I2C总线驱动,如S3C2440的I2C总线驱动i2c-s3c2410.c,使用GPIO模拟I2C总线的驱动i2c-gpio.c,这里只分析i2c-gp ...

  2. STM32模拟I2C时序读写EEPROM精简版

    平台:STM32ZET6(核心板)+ST-LINK/V2+SD卡+USB串口线+外部EEPROM(不需要上拉电阻) 工程介绍:主要文件在USER组中,bsp_i2c_ee.c,bsp_i2c_ee.h ...

  3. 51单片机模拟I2C程序

    IIC即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦公司研发出来的.是一种两线式串行总线,两条线可以挂多个参与通信的器件,即多机模式.一般由控制器作为主机. ...

  4. linux下IO口模拟I2C的一些总结

    2019独角兽企业重金招聘Python工程师标准>>> 以前一直在用I2C接口,因为总是有线程的例子就一直没有去深入的了解,今天分析了一下在linux下通用GPIO模拟I2C的程序. ...

  5. GPIO模拟I2C程序实现

    GPIO模拟I2C程序实现. I2C是由Philips公司发明的一种串行数据通信协议,仅使用两根信号线:SerialClock(简称SCL)和SerialData(简称SDA).I2C是总线结构,1个 ...

  6. 使用GPIO模拟I2C总线进行通信

    I2C总线的通信过程(见图4-8)主要包含三个主要阶段:起始阶段.数据传输阶段和终止阶段. 1. 起始阶段 在I2C总线不工作的情况下,SDA(数据线)和SCL(时钟线)上的信号均为高电平.如果此时主 ...

  7. 单片机GPIO软件模拟I2C通讯程序

    文章原始地址:http://feotech.com/?p=98 本程序主要用于使用可编程芯片自身的IO管脚,模拟I2C通信的协议,实现I2C总线数据的传输. /******************** ...

  8. GPIO口模拟I2C操作

    /*         作者:天空         日期:2014.5.12         功能:利用GPIO口模拟I2C总线,对传感器寄存器读取数据         注意:如果需要移植些文件到其他设 ...

  9. S5PV210之GPIO模拟I2c时序之pcf8591与at24xx linux3.0.8驱动

    目录:一. 说明 二. 驱动程序说明及问题 三. 案例一       四. 案例二 一. 说明 mini210开发板上带了at24c08, 看了linux内核自带的at24.c的驱动程序,编译下载到看 ...

最新文章

  1. Fragment的运用实列
  2. hadoop hive 安装
  3. (ql)30W单片精密开关电源 电路图加分析
  4. android从放弃到精通 第一天 重拾项目开发
  5. 动态库(共享库)的制作和使用
  6. linear在HTML的作用,CSS3里的linear-gradient()函数
  7. 【IDEA】IDEA中使用git将项目上传到码云上
  8. LeetCode | 3 Sum
  9. CMS设计和CMS选型(内容管理系统)
  10. Linux系统架构与目录解析 pdf版,Linux系统架构与目录解析
  11. Basic--Java基本语法
  12. vue_music:搜索search.vue
  13. 文件服务器定时开关机,云服务器定时开关机
  14. DSP入门必看(上)
  15. C# ManualResetEvent 与 AutoResetEvent 区别
  16. 腾讯安全御见威胁情报中心截获粗鲁的矿工,三种方式猛攻企业网络
  17. 【数学建模】三维曲面绘图 | matlab
  18. Oracle时间以半小时为单位取整
  19. Ruby和Sinatra讲座信息
  20. arduino控制光敏传感器

热门文章

  1. 杭州宇轩建筑装饰工程有限公司
  2. 仿人型手腕 6R机械臂 D-H参数和运动学逆解
  3. AtCoder Regular Contest 061--C - たくさんの数式 / Many Formulas(DFS)
  4. 彩超探头频率高低的区别_您好!最近在研究超声波探头的各种特性.关于中心频率问题,...
  5. 云原生爱好者周刊:VMware Tanzu 社区版发布,无任何限制!
  6. 【美学设计】微信小程序界面设计
  7. 太阳能GPS坐标记录器
  8. 从flexible.js引入高德地图谈起的移动端适配
  9. 怎么关闭受到的入侵端口(转)
  10. 【Matlab PolySpace 代码静态分析使用教程】