|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
0 E0 x) D; u4 d+ C6 _4 B本文档主要讲解在 iMX6Q/D/PLUS 开发板的设备树内核(4.1.15)源码中,注册设备需要在设备树文件“arch/ARM/boot/dts/imx6qdl-sabrESD.dtsi”中添加设备树语句,主要是添加设备名称和添加使能。8 s, X( M' B9 u, {# t7 g6 r9 f
1 注册设备
, q, V7 J. `) {$ k' @/ x# y; w: S, p6 p
打开内核源码中的设备树文件“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”,在“itop_max485_ctl”之后添加以下代码:" N D6 I8 w" b: s
3 P: x# J- d& {5 X7 Z- V/ ]) Y
test_dev{
4 s [3 S/ |/ o% p! t6 V A. j8 M3 X" s' h; U$ l O+ E6 {
compatible = "test_dev_name";
8 \+ v8 T8 \* p8 y6 K4 c
7 K. |- Y7 }% r4 Sstatus = "okay";
0 H2 |( J* t) T; L G* A$ T, N5 g+ K& o! ]5 O" ^2 A" H' m
};# v- z$ t+ N3 o/ |$ J
/ h+ r' h4 V5 W5 [+ b* m复制代码
; A1 S& m' \7 Y# c: J1 I0 j! ^& n {, K- b5 I
添加完成之后如下图所示。/ F2 u# Y% x" i: T9 @* z
, v. p9 L8 g5 G7 d9 Y6 w7 i以上添加代码,“test_dev”是设备树节点的名称;属性“compatible”的值是“test_dev_name”,也就是设备名称;“status = "okay";”表明这个设备树节点是使能的,设备树初始化的时候需要使能。. F4 W% C: m; y: c5 J. Z* p6 G
# Q) v% z. i7 X8 k( `; d# R& E$ u2 注册设备测试
8 a* S" n, c- |
! Y0 V/ f4 S2 u- v修改完成之后,重新编译烧写到开发板中,如下图所示,在开发板串口控制台下,使用命令“ls sys/bus/platform/devices/test_dev/”。
. j; E" ?$ |9 [/ m0 v# i4 E
: h! r0 y: a0 k在“sys/bus/platform/devices”中生成了设备树的节点“test_dev/”,节点下有属性值。使用命令“cd sys/bus/platform/devices/test_dev/”进入节点目录。0 w2 S! m X& ^" \: W- b
使用命令“cat of_node/compatible”和“cat of_node/status”,可以查到在设备树中添加设备对应的值,如下图所示。- O0 n$ o' n0 K9 b
( _: O0 s9 T" ^; t$ y( S% a& A
至此,设备注册完成,后面介绍驱动注册,驱动注册的时候,驱动名称要和这里的设备名称一致,才能进入 probe 中。+ {# d3 L f6 v/ C. ]3 ?. [3 A8 l
+ E/ f9 T* |1 ~0 ~% f |
|