搜索
bottom↓
回复: 9

迅为iTOP-iMX6-设备树内核-设备树相关文件简要分析

[复制链接]

出0入0汤圆

发表于 2019-7-1 14:26:02 | 显示全部楼层 |阅读模式
在支持设备树的内核源码中,设备树用来取代来老版本内核中的平台文件。
本文档主要介绍在 迅为iMX6 开发板(iMX6Q,iMX6D,iMX6PLUS)的几个重要的设备树文件,这几个文件在后续的设备驱动分析中,经常会用到。




设备树文件的分析
这里以 iMX6Q 的为例来分析,iMX6D 和 PLUS 的分析方法都是类似。
首先看下编译脚本,如下图所示,“build_android_kernel.sh”为 android 内核编译脚本,“build_qt_kernel.sh”为 qt 内核编译脚本,这里以 Qt 的内核编译脚本为例、



打开“build_qt_kernel.sh”,如下图所示,可以看到设备树文件是
“arch/arm/boot/dts”目录下的,“imx6q-topeet_10.1inch.dts”、“imx6q
topeet_7inch.dts”和“imx6q-topeet_9.7inch.dts”这三个。



上图中,这三个设备树文件的名称来看,应该是为了支持不同分辨率的屏幕的配置,除了屏幕部分的,其它部分应该是相同的,所以这里只需要分析其中一个即可(实际情况就是这样的,感兴趣可以自己对比下)。
这里以“imx6q-topeet_10.1inch.dts”为例来分析。 打开“arch/arm/boot/dts/imx6q-topeet_10.1inch.dts”,先看下调用的头文件,如下图所示,有两个头文件“imx6q.dtsi”和“imx6qdl-sabresd.dtsi”。关于这个设备树文件,
其中大部分内容都是关于显卡的。


这里我们看下调用的“imx6q.dtsi”,打开“arch/arm/boot/dts/imx6q.dtsi”,如下图所示,看下头文件“imx6q-pinfunc.h”和“imx6qdl.dtsi”。




“imx6q-pinfunc.h”头文件,如果大家以前用过飞思卡尔的 arm 芯片,那么就会知道这个是 IO 的宏定义头文件,这是很重要的一个文件,这个文件在后面会经常用到--- “imx6q-pinfunc.h”在“arch/arm/boot/dts/imx6q-pinfunc.h”。
另外像“dt-bindings”打头的设备树头文件,暂时不用过多关注。
打开“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”文件,在其中可以搜到
“&iomuxc”,这个是飞思卡尔设备树文件中,给 io 初始化的地方。例如你要配置一个 IO 为输出,那么需要在这里初始化;另外一层意思就是,每一个 IO 都要初始化,一般我们默认是在这个位置进行初始化。




在这个文件下,我们可以找到常规的 led,蜂鸣器和 rs485 的设备树注册,这表明设备树注册都是在这个文件中,如果我们要新增加设备,需要在这里增加设备树代码,关于设备树代码,我们后续再介绍。



总结:
这里分析出了以下几个重要的文件:
1 关于屏幕(显卡)配置的设备树文件为以下几个文件(文件都在 arch/arm/boot/dts目录下):
imx6q-topeet_10.1inch.dts topeet_10.1inch.dts
imx6q-topeet_7inch.dts topeet_7inch.dts
imx6q-topeet_9.7inch.dts topeet_9.7inch.dts
2 imx6 的 IO 的宏定义在以下文件中:
arch/arm/boot/dts/imx6q-pinfunc.h
3 设备树对 IO 初始化和设备注册在以下文件中:
arch/arm/boot/dts/imx6qdl-sabresd.dtsi

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出25入84汤圆

发表于 2019-7-1 14:57:21 | 显示全部楼层
我就想知道那个0x80000000是什么意思? 另外期待讯为详细的设备树文档出炉!

出0入0汤圆

 楼主| 发表于 2019-7-3 15:51:33 | 显示全部楼层
chun2495 发表于 2019-7-1 14:57
我就想知道那个0x80000000是什么意思? 另外期待讯为详细的设备树文档出炉! ...

这是pinctrl的配置,可以参考下这个文章:https://blog.csdn.net/wxxgoodjob/article/details/72979690

出25入84汤圆

发表于 2019-7-3 16:19:24 | 显示全部楼层
buguai 发表于 2019-7-3 15:51
这是pinctrl的配置,可以参考下这个文章:https://blog.csdn.net/wxxgoodjob/article/details/72979690 ...

个人感觉,设备树方式控制一个管脚是要死人的。不知道设备树有啥优势,大大增加了开发难度,天天跟寄存器耗上了。
感觉又重新回到了单片机时代了。

出0入0汤圆

发表于 2019-7-3 17:05:06 | 显示全部楼层
chun2495 发表于 2019-7-3 16:19
个人感觉,设备树方式控制一个管脚是要死人的。不知道设备树有啥优势,大大增加了开发难度,天天跟寄存器 ...

设备树真的是一个很好的东西,优势也很明显。改管脚,改时钟,改配置,不用重新改驱动,也不用重新编译内核

出25入84汤圆

发表于 2019-7-3 17:08:54 | 显示全部楼层
广轻电气091 发表于 2019-7-3 17:05
设备树真的是一个很好的东西,优势也很明显。改管脚,改时钟,改配置,不用重新改驱动,也不用重新编译内 ...

可能我还没领会到设备树的精华

出0入0汤圆

发表于 2019-7-3 17:13:14 | 显示全部楼层
chun2495 发表于 2019-7-3 17:08
可能我还没领会到设备树的精华

后期就会慢慢领会了

出0入0汤圆

 楼主| 发表于 2020-2-5 14:42:24 | 显示全部楼层
         

出0入0汤圆

发表于 2020-2-5 14:49:06 | 显示全部楼层
正在看天嵌的

出0入0汤圆

发表于 2020-2-5 15:18:32 | 显示全部楼层
了解一下设备树
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 07:39

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表