|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
, f q0 h* B* P) o$ A; O' O本文档主要讲解在 iMX6Q/D/PLUS 开发板的设备树内核(4.1.15)源码中,注册设备需要在设备树文件“arch/ARM/boot/dts/imx6qdl-sabrESD.dtsi”中添加设备树语句,主要是添加设备名称和添加使能。( g- y b; ~% Q2 \6 d# G" l% Z
1 注册设备* K+ q* ?$ H/ \! O. j
9 ?9 y# e, R9 h8 p
打开内核源码中的设备树文件“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”,在“itop_max485_ctl”之后添加以下代码:7 Y2 r0 B3 V7 O$ d% y* }
9 Z1 `5 m' }- i6 Q5 w, _( R" R0 n
test_dev{
! G1 {1 \+ ~2 ~8 J: B6 Q$ q, D3 d \/ @+ u
compatible = "test_dev_name";4 r$ V' }$ b2 q1 `- p
) r8 x. J. z" c# ?6 l+ Dstatus = "okay";
& b% C: k- ^$ f3 ~. Y4 m ^% x
% w( Z% \( y% s* K5 J};3 ]! b; m- N/ M$ J% V6 ?
( x6 j' ~8 \* |, M7 Y6 d8 D2 l复制代码0 o3 k( k2 ?8 a' }$ R( T0 o
, b8 a, D3 ]" H7 F
添加完成之后如下图所示。
9 V8 n( s5 r! Q5 @9 g- Y# K' M8 d7 A( j5 |- V- Z' F
以上添加代码,“test_dev”是设备树节点的名称;属性“compatible”的值是“test_dev_name”,也就是设备名称;“status = "okay";”表明这个设备树节点是使能的,设备树初始化的时候需要使能。
/ s( H1 U6 m/ s l/ y% N
2 G9 o* n2 T/ U- P# L( y2 注册设备测试. n7 y& p8 [$ n
# O$ m; g; A3 z8 y; w# E- o7 ~
修改完成之后,重新编译烧写到开发板中,如下图所示,在开发板串口控制台下,使用命令“ls sys/bus/platform/devices/test_dev/”。3 A; j9 l6 s! }( F) p8 e& R
8 t8 s9 q8 O" @) [: U/ L" S
在“sys/bus/platform/devices”中生成了设备树的节点“test_dev/”,节点下有属性值。使用命令“cd sys/bus/platform/devices/test_dev/”进入节点目录。: a! O* s* o- m) H6 D- ~
使用命令“cat of_node/compatible”和“cat of_node/status”,可以查到在设备树中添加设备对应的值,如下图所示。
& b. p$ i1 X. N1 V0 b" q# j' y* G+ s- O& w9 K1 J
至此,设备注册完成,后面介绍驱动注册,驱动注册的时候,驱动名称要和这里的设备名称一致,才能进入 probe 中。
( d- z5 {) r( A( Q# \' z8 @0 W1 l3 `; c
|
|