|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
6 S# o, F5 } t. G! e) x l本文档主要讲解在 iMX6Q/D/PLUS 开发板的设备树内核(4.1.15)源码中,注册设备需要在设备树文件“arch/ARM/boot/dts/imx6qdl-sabrESD.dtsi”中添加设备树语句,主要是添加设备名称和添加使能。
5 M' m F0 M2 i w( B- R# O" o$ V: z1 注册设备
( ^$ r7 B. n$ U7 R" R3 w
& u" P {* J& e打开内核源码中的设备树文件“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”,在“itop_max485_ctl”之后添加以下代码:4 [& ^3 p1 {3 {4 C7 G6 }) {# O
% q" D w: ]2 w6 m
test_dev{' K# S7 `6 q7 q4 z4 P# Y' w/ A
% k% l0 o, z; Z. acompatible = "test_dev_name";, @# z T, A0 o( ~: i1 m8 G
! G- j- D* |* R8 S
status = "okay";
. h e3 Q5 `/ F
" Z/ m3 j, I' E. ]4 G/ h! P};
! O, j; {# x7 ]8 |" t$ m( O7 O
3 @# o! T4 d, z# ^! [( }复制代码
% Y" S9 f1 K I. ~4 S/ u, n0 `) C9 T
" `) v+ S% R, E `9 i5 x添加完成之后如下图所示。
# W3 ]( O6 Q% M1 E9 ?5 q D' [8 T
) a9 ?5 u/ T& b; j) h. P8 \1 `以上添加代码,“test_dev”是设备树节点的名称;属性“compatible”的值是“test_dev_name”,也就是设备名称;“status = "okay";”表明这个设备树节点是使能的,设备树初始化的时候需要使能。, g) {. ?, T6 a( _
% w7 a* Z( W- [2 注册设备测试
5 M8 W) n; m+ D- |) n- I6 o/ J0 ?9 R
修改完成之后,重新编译烧写到开发板中,如下图所示,在开发板串口控制台下,使用命令“ls sys/bus/platform/devices/test_dev/”。
* k" [8 r0 g ~3 `0 |
# F3 T/ t2 P7 b/ N在“sys/bus/platform/devices”中生成了设备树的节点“test_dev/”,节点下有属性值。使用命令“cd sys/bus/platform/devices/test_dev/”进入节点目录。 H" u1 j+ P! g' o+ v8 q7 d0 D6 P" D3 H
使用命令“cat of_node/compatible”和“cat of_node/status”,可以查到在设备树中添加设备对应的值,如下图所示。; r# f( B6 O- f0 `+ w5 K5 G6 U
+ Z. d* k- j |至此,设备注册完成,后面介绍驱动注册,驱动注册的时候,驱动名称要和这里的设备名称一致,才能进入 probe 中。
' z$ P6 F# D; G
8 Q- `+ Z; O" u p* E |
|