找回密码
 注册
关于网站域名变更的通知
查看: 268|回复: 1
打印 上一主题 下一主题

设备树文件的分析

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-12 14:14 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

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

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

9 o% o! V5 _5 i. z- `& Y
打开“build_qt_kernel.sh”,如下图所示,可以看到设备树文件是
“arch/ARM/boot/dts”目录下的,“imx6q-topeet_10.1inch.dts”、“imx6q
topeet_7inch.dts”和“imx6q-topeet_9.7inch.dts”这三个。
3 Y* V! p- @8 D) {( v0 G- i
上图中,这三个设备树文件的名称来看,应该是为了支持不同分辨率的屏幕的配置,除了屏幕部分的,其它部分应该是相同的,所以这里只需要分析其中一个即可(实际情况就是这样的,感兴趣可以自己对比下)。
这里以“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”。
$ ~0 w4 n! {. N
“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 都要初始化,一般我们默认是在这个位置进行初始化。

) }5 H$ Y3 X) x/ t4 V+ \$ ?( v
$ G! ]. n2 n& p+ {. R& W
在这个文件下,我们可以找到常规的 led,蜂鸣器和 rs485 的设备树注册,这表明设备树注册都是在这个文件中,如果我们要新增加设备,需要在这里增加设备树代码,关于设备树代码,我们后续再介绍。

( L: D) }- F; |( {5 k1 |& I: y
& L1 l# X/ ]$ X" Y
总结:
这里分析出了以下几个重要的文件:
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

" Y4 h* f3 A/ y1 c8 }* [
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 00:55 , Processed in 0.171875 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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