下面介绍如何查看一个i2c-adapter对应的设备树文件,i2c-client对应的设备树文件

我们知道I2C-client的信息和adapter的一些信息如寄存器等信息是放在设备树里面的,那么在设备树的什么位置呢?在arch/arm/boot/dts/xxx.dts

在默认的文件系统中查看默认只提供了一个,也是第0组的I2C,我们需要的其他组需要自己添加。

实际上,我们从SOC引出的scl和sda是不止一组的,有很多组,在我们的exynos4412 scp中能接9组,他们的控制器地址如下:每组寄存器都有I2CCONn,I2CSTATn,I2CADDn,I2CDSn,I2CLCn,(n=0,1,2,3,4,5,6,7,8)。

举例:由于我们需要确定当前的从设备是接在哪个控制器上的,每个控制器有不同的地址,所以要找到当前从设备的设备树的话需要知道控制器的地址是多少,那么我们以MPU6050为例的一个实际接线情况如下,

如何添加其他组的设备树?首先看看控制器对应的信息设备树模板:我们的驱动pdrv就通过compatible中的名字找到对应的设备的。其中有status=’disabled’的时候是不会帮你创建i2c adpater的一些控制器代码

我们要怎么创建呢,,我们需要在arch/arm/boot/dts/exynos4412-fs4412.dts中创建,这里才是描述从设备信息的设备树文件,这里也提供了从设备信息的一个添加模板,并且可以从系统的/sys/bus/i2c/devices/i2c-0/目录下就可以看到是否已经有i2c的控制器信息了,还有是否有client从设备信息。

控制器及client信息举例:/sys/bus/i2c/devices/i2c-0/,i2c-0就是一个控制器了,里面目录下就创建了一个client,如0-0066 client

添加自己需要的i2c组:只需在arch/arm/boot/dts/exynos4412-fs4412.dts中增加控制器和从设备的信息即可,如下

然后编译设备树:make dtbs更新设备树,然后查看adapter(控制器)是否更新到总线中

adapter(控制器)中属于I2C总线

查看I2C总线中client信息

这样就将I2C的5号组控制器和client信息都添加完成了。。。剩下的就是驱动的问题了。

Linux I2C从设备树信息查看与添加方法相关推荐

  1. Linux驱动开发-设备树-正点原子

    设备树 一.设备树概念 二.DTS.DTB和DTC 三.DTS语法 3.1 .dtsi头文件 3.2 设备节点 3.2.1 字符串 3.2.2 32 位无符号整数 3.2.3 字符串列表 3.3 标准 ...

  2. Linux内核对设备树的处理

    文章目录 1 内核对设备树的处理 1.1 dtb 中每一个节点都被转换为 device_node 结构体 1.2 哪些设备树节点会被转换为 platform_device 1.3 怎么转换为 plat ...

  3. I.MX6开发板移植Linux4.1.15内核之TSC2007触摸屏设备树信息的添加

    之前写过一篇3.0.35内核移植关于TSC2007触摸屏驱动移植的文章.里面对TSC2007.c驱动程序的分析比较清晰,点击链接查看:点击链接查看 本篇文章,主要记录在4.1.15内核移植的过程中,对 ...

  4. Linux驱动之设备树

    14.设备树 1.什么是设备树? ​ 设备树是一种描述硬件资源的数据结构, 它通过bootloader将硬件资源传给内核,使得内核和硬件资源描述相对独立. 2.设备树的由来 要想了解为什么会有设备树, ...

  5. IMX6移植Linux4.1.15内核时需要添加矩阵按键的设备树信息

    之前在Linux3.0.35内核移植过按键的信息,请点击链接查看:3.0.35内核移植 本篇文章记录在IMX6开发板移植4.1.15内核时,添加矩阵按键的设备树信息. 1.具体添加的设备树信息 下面是 ...

  6. 【基于Linux系统设备树的SPI驱动编写方法】

    文章目录 前言 一.SPI驱动编写 1.修改设备树  a.设备树文件是什么?  b.设备树怎么改? 2.编写驱动 二.完善和测试 1.编译和应用程序  a.编译 && 拷贝到开发板命令 ...

  7. Linux-使用uboot命令将Linux镜像和设备树文件下载到DRAM中

    转载地址:http://www.manongjc.com/detail/17-yrvrbxtziuxqryv.html 一.使用uboot中的tftp命令将Linux镜像和设备树文件下载到DRAM中 ...

  8. linux3.5 usb 设备树,嵌入式 PowerPC Linux 平台扁平设备树FDT解析

    ] [-O ] [-o output_filename] [-V output_version] input_filename input_format可以使用以下三个参数: dtb: 表示输入文件为 ...

  9. Linux服务器各应用版本信息查看总结

    Linux服务器各种应用版本信息查看总结 一.生产环境Nginx版本信息查看 cd /usr/local/nginx/sbin ./nginx -v # 查看编译版本 ./nginx -V # 查看n ...

最新文章

  1. C语言关闭文件总是错误,C语言程序错误,不能正常读写文件,求解啊
  2. SpringBoot开发环境搭建
  3. Node.js 执行webpack命令出现的错误
  4. ABAP 如何实现屏幕字段不可输入
  5. 经典C语言程序100例之五九
  6. vc++获取网页源码之使用import+接口方式
  7. java 普通类request_[Java教程]spring在普通类中获取session和request
  8. 15张图带你彻底明白spring循环依赖,再也不用怕了
  9. mysql服务性能优化—my.cnf配置说明详解
  10. 2022年华为杯中国研究生数学建模竞赛F题思路
  11. 手机扫码枪app,二维码识别,二维码信息自动推送至电脑的(Excel,软件,记事本)等位置。
  12. 批量修改图片尺寸,不用ps也可以
  13. 大前端之js导入导出
  14. maker win10有movie_手把手解决win10系统出现windows MovieMaker故障的方法
  15. getMonth()方法
  16. [计算机组成原理] 第六章 控制系统与CPU
  17. LSTM之父发文:2010-2020,我眼中的深度学习十年简史
  18. 手机开机后Spreadtrum Factory Test phone test factory used full phone test item test BT EUT exit
  19. CoppeliaSim基础:页面、视图、可视对象(相机/视觉传感器)
  20. CP2102 USB to UART Bridge Driver的安装

热门文章

  1. 项目管理考PMP真的有用吗?
  2. 如何创建NEO轻客户端
  3. 字符串、bute[]数组和十六进制字符串的相互转换
  4. Phpstorm通过sftp远程开发
  5. ESP32 开发笔记(四)LVGL控件学习 ColorPicker 颜色选择器控件
  6. Animated详解
  7. 基于SSM的大学生创业众筹平台网站毕业设计源码212000
  8. Deepin安装python3
  9. Deepin系统标题栏及其按钮美化
  10. 《机器学习基石》第12节课学习笔记