Linux I2C从设备树信息查看与添加方法
下面介绍如何查看一个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从设备树信息查看与添加方法相关推荐
- Linux驱动开发-设备树-正点原子
设备树 一.设备树概念 二.DTS.DTB和DTC 三.DTS语法 3.1 .dtsi头文件 3.2 设备节点 3.2.1 字符串 3.2.2 32 位无符号整数 3.2.3 字符串列表 3.3 标准 ...
- Linux内核对设备树的处理
文章目录 1 内核对设备树的处理 1.1 dtb 中每一个节点都被转换为 device_node 结构体 1.2 哪些设备树节点会被转换为 platform_device 1.3 怎么转换为 plat ...
- I.MX6开发板移植Linux4.1.15内核之TSC2007触摸屏设备树信息的添加
之前写过一篇3.0.35内核移植关于TSC2007触摸屏驱动移植的文章.里面对TSC2007.c驱动程序的分析比较清晰,点击链接查看:点击链接查看 本篇文章,主要记录在4.1.15内核移植的过程中,对 ...
- Linux驱动之设备树
14.设备树 1.什么是设备树? 设备树是一种描述硬件资源的数据结构, 它通过bootloader将硬件资源传给内核,使得内核和硬件资源描述相对独立. 2.设备树的由来 要想了解为什么会有设备树, ...
- IMX6移植Linux4.1.15内核时需要添加矩阵按键的设备树信息
之前在Linux3.0.35内核移植过按键的信息,请点击链接查看:3.0.35内核移植 本篇文章记录在IMX6开发板移植4.1.15内核时,添加矩阵按键的设备树信息. 1.具体添加的设备树信息 下面是 ...
- 【基于Linux系统设备树的SPI驱动编写方法】
文章目录 前言 一.SPI驱动编写 1.修改设备树 a.设备树文件是什么? b.设备树怎么改? 2.编写驱动 二.完善和测试 1.编译和应用程序 a.编译 && 拷贝到开发板命令 ...
- Linux-使用uboot命令将Linux镜像和设备树文件下载到DRAM中
转载地址:http://www.manongjc.com/detail/17-yrvrbxtziuxqryv.html 一.使用uboot中的tftp命令将Linux镜像和设备树文件下载到DRAM中 ...
- linux3.5 usb 设备树,嵌入式 PowerPC Linux 平台扁平设备树FDT解析
] [-O ] [-o output_filename] [-V output_version] input_filename input_format可以使用以下三个参数: dtb: 表示输入文件为 ...
- Linux服务器各应用版本信息查看总结
Linux服务器各种应用版本信息查看总结 一.生产环境Nginx版本信息查看 cd /usr/local/nginx/sbin ./nginx -v # 查看编译版本 ./nginx -V # 查看n ...
最新文章
- C语言关闭文件总是错误,C语言程序错误,不能正常读写文件,求解啊
- SpringBoot开发环境搭建
- Node.js 执行webpack命令出现的错误
- ABAP 如何实现屏幕字段不可输入
- 经典C语言程序100例之五九
- vc++获取网页源码之使用import+接口方式
- java 普通类request_[Java教程]spring在普通类中获取session和request
- 15张图带你彻底明白spring循环依赖,再也不用怕了
- mysql服务性能优化—my.cnf配置说明详解
- 2022年华为杯中国研究生数学建模竞赛F题思路
- 手机扫码枪app,二维码识别,二维码信息自动推送至电脑的(Excel,软件,记事本)等位置。
- 批量修改图片尺寸,不用ps也可以
- 大前端之js导入导出
- maker win10有movie_手把手解决win10系统出现windows MovieMaker故障的方法
- getMonth()方法
- [计算机组成原理] 第六章 控制系统与CPU
- LSTM之父发文:2010-2020,我眼中的深度学习十年简史
- 手机开机后Spreadtrum Factory Test phone test factory used full phone test item test BT EUT exit
- CoppeliaSim基础:页面、视图、可视对象(相机/视觉传感器)
- CP2102 USB to UART Bridge Driver的安装