EDA365电子论坛网

标题: iMX6开发板-设备树内核-注册设备例程 [打印本页]

作者: baqiao    时间: 2021-4-19 18:13
标题: iMX6开发板-设备树内核-注册设备例程
0 X" A9 V( y) E) x8 X
本文档主要讲解在 iMX6Q/D/PLUS 开发板的设备树内核(4.1.15)源码中,注册设备需要在设备树文件“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”中添加设备树语句,主要是添加设备名称和添加使能。
! C5 D" X5 L# g5 i0 h/ a1 注册设备4 J0 T6 j$ l# k0 b
; F$ L8 P4 K& Y  p- \" S
打开内核源码中的设备树文件“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”,在“itop_max485_ctl”之后添加以下代码:
  ~3 d2 k9 d' p! A6 _- O
% k* |, |0 w6 O' q) R& n: Ctest_dev{5 X  E2 t! r- }$ g6 s
0 T4 o4 ^, f2 R6 L1 b% [
compatible = "test_dev_name";
0 Q2 I6 B' ]$ c
/ q! }6 H' t" L9 ~: ystatus = "okay";  z/ s8 |1 `  K5 F( R
" y4 Y$ g7 }8 O: s4 e! i" Y
};: ?2 @) [2 b3 f) x3 [
. C4 U# K( ~, [% E( _4 |% S0 Z
复制代码
! a5 o* m8 `0 u* a9 x+ u; N# s8 s- Q$ l) |2 ^. ^
添加完成之后如下图所示。
$ F2 d# Z/ I: `1 I9 j
( K. i: j' N4 }3 P以上添加代码,“test_dev”是设备树节点的名称;属性“compatible”的值是“test_dev_name”,也就是设备名称;“status = "okay";”表明这个设备树节点是使能的,设备树初始化的时候需要使能。
* a5 ], W# K) [  q" ^- n) @. Y& V( H# ~- R/ B5 u
2 注册设备测试, I; r" b% }( j7 Q8 Z# w; K

' r' v. r/ m8 @" S' k/ R" b修改完成之后,重新编译烧写到开发板中,如下图所示,在开发板串口控制台下,使用命令“ls sys/bus/platform/devices/test_dev/”。
7 J$ |% ?5 }0 ?% e5 F
) e2 Q! p9 w  y在“sys/bus/platform/devices”中生成了设备树的节点“test_dev/”,节点下有属性值。使用命令“cd sys/bus/platform/devices/test_dev/”进入节点目录。
* N; y$ }" j$ {! u3 R4 N$ p使用命令“cat of_node/compatible”和“cat of_node/status”,可以查到在设备树中添加设备对应的值,如下图所示。
! t! i& U6 }6 Q
2 j% r- h$ ]" ~. b至此,设备注册完成,后面介绍驱动注册,驱动注册的时候,驱动名称要和这里的设备名称一致,才能进入 probe 中。
, y& ~3 _4 ]" m
( h9 }# X' f' Q2 J9 Z$ K0 Z
作者: younicp    时间: 2021-4-19 18:53
iMX6开发板-设备树内核-注册设备例程




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2