|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
& E( T! G9 a9 Z- W) N! T9 Z* B+ H
本文档主要讲解在 iMX6Q/D/PLUS 开发板的设备树内核(4.1.15)源码中,注册设备需要在设备树文件“arch/ARM/boot/dts/imx6qdl-sabrESD.dtsi”中添加设备树语句,主要是添加设备名称和添加使能。' ?4 X2 I- z# M4 Q- I% ?3 x0 l3 M
1 注册设备+ B' @; f& ^ A7 \* c2 w
+ J$ i' [; @) _ K# y6 P0 b. b. q打开内核源码中的设备树文件“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”,在“itop_max485_ctl”之后添加以下代码:; n8 S, J M. `7 A* R2 q
" r1 t1 K) v0 R& m
test_dev{' H( [9 _) [* K3 W- u' |4 b! S
2 ~9 a y. u9 r- X9 O& w+ ?compatible = "test_dev_name";+ ~* K m# r9 t- B5 T5 f* T
0 n( H5 N5 E" ~& Z- H
status = "okay";
+ S p, Q$ C8 h0 i( Q; {% |4 I/ F6 g2 E: c& p
};
2 K/ g4 r4 d/ e) j2 g9 ]3 q9 P: o6 Q5 B% e$ H7 w: `# w4 ?$ G
复制代码5 l3 W5 t* H9 ]
& J# [. q) D6 Y! _
添加完成之后如下图所示。
/ \( C# e2 X3 o
, R2 a# y4 [7 E以上添加代码,“test_dev”是设备树节点的名称;属性“compatible”的值是“test_dev_name”,也就是设备名称;“status = "okay";”表明这个设备树节点是使能的,设备树初始化的时候需要使能。
. e% D: M, @8 v$ z. n5 N( [9 }, [5 c, C% i" w( x
2 注册设备测试
1 w6 z, m' d) X+ ^+ p- d9 @( d% {0 h- g) P$ F+ p+ r4 X* J
修改完成之后,重新编译烧写到开发板中,如下图所示,在开发板串口控制台下,使用命令“ls sys/bus/platform/devices/test_dev/”。
+ b( G7 a# w0 t% j Z0 ^: u: K; n; p3 \5 V# U8 T, G g
在“sys/bus/platform/devices”中生成了设备树的节点“test_dev/”,节点下有属性值。使用命令“cd sys/bus/platform/devices/test_dev/”进入节点目录。
% y0 d: u! N8 L. J$ H使用命令“cat of_node/compatible”和“cat of_node/status”,可以查到在设备树中添加设备对应的值,如下图所示。
. u- m/ o# i; q8 V3 G1 }! d9 E R6 z$ x# g% F& F' n' [. B! o
至此,设备注册完成,后面介绍驱动注册,驱动注册的时候,驱动名称要和这里的设备名称一致,才能进入 probe 中。
+ R& o+ k0 T' C8 S
1 S6 }" @' Z D+ s% M* ]3 e7 E" r |
|