|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4 d& b0 w+ ?: O: L) g3 ]* ]1 g本文档主要讲解在 iMX6Q/D/PLUS 开发板的设备树内核(4.1.15)源码中,注册设备需要在设备树文件“arch/ARM/boot/dts/imx6qdl-sabrESD.dtsi”中添加设备树语句,主要是添加设备名称和添加使能。
, H2 z' t! T2 s. z/ {, ?1 注册设备: b5 h; u: ]9 ~2 Z# i
" D4 R' P' w5 D0 f9 G0 k0 d打开内核源码中的设备树文件“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”,在“itop_max485_ctl”之后添加以下代码:
8 v2 D z1 x4 P+ u+ L; ?( g2 G7 l2 l/ b% D* p! r! L4 z
test_dev{0 t( `: b' B+ {* q, A4 y
$ m+ w; i3 T/ l4 m
compatible = "test_dev_name";$ T. @; o {8 ]4 F% Z
$ U. {- Y# A v: Bstatus = "okay";
0 T# c. a& P" h. D2 m6 L7 p/ X \ v; m
};2 o) T( x4 Y4 S6 A+ p
3 k4 O1 E. R9 \. O# \* E! C& h复制代码
7 f. d1 D4 _/ D0 U! b
+ I( q9 ^7 F$ E# p; |5 {, W添加完成之后如下图所示。- X6 X4 }: N0 g7 f. l, Z% K
8 X7 i2 I" B4 L4 `7 Z" P
以上添加代码,“test_dev”是设备树节点的名称;属性“compatible”的值是“test_dev_name”,也就是设备名称;“status = "okay";”表明这个设备树节点是使能的,设备树初始化的时候需要使能。6 b. Z% E3 X' F( J+ F I
+ i: E7 r' V2 U2 注册设备测试
. z `$ c4 A! h. C% M/ M- I5 n0 }3 n# |: Q" O2 U, m; G1 x# f
修改完成之后,重新编译烧写到开发板中,如下图所示,在开发板串口控制台下,使用命令“ls sys/bus/platform/devices/test_dev/”。
; d! z: r2 j. M* u# b# e# U) X# J: A. O" z$ _; b
在“sys/bus/platform/devices”中生成了设备树的节点“test_dev/”,节点下有属性值。使用命令“cd sys/bus/platform/devices/test_dev/”进入节点目录。
1 t- `1 x& I' L: D1 I/ e使用命令“cat of_node/compatible”和“cat of_node/status”,可以查到在设备树中添加设备对应的值,如下图所示。
; z$ y& t. Q) F# l; ]% ^: n% t# [% J* u9 R; d! N5 B9 r" v( b+ @/ }
至此,设备注册完成,后面介绍驱动注册,驱动注册的时候,驱动名称要和这里的设备名称一致,才能进入 probe 中。$ m0 i3 r$ e _. L4 t% [
& x9 v; a4 d' L& G6 C
|
|