EDA365电子论坛网
标题:
迅为iMX6开发板-设备树内核-注册设备例程
[打印本页]
作者:
孤久厌闹
时间:
2020-11-18 11:14
标题:
迅为iMX6开发板-设备树内核-注册设备例程
本文档主要讲解在 iMX6Q/D/PLUS 开发板的设备树内核(4.1.15)源码中,注册设备需要在设备树文件“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”中添加设备树语句,主要是添加设备名称和添加使能。
" ?6 c/ S$ p, V9 @. s
1 注册设备
9 p( H, h% f* f5 }, ]1 R( L5 K
打开内核源码中的设备树文件“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”,在“itop_max485_ctl”之后添加以下代码:
6 I% e1 p2 L0 Y, a
) k, M2 r- }0 Y. Q
test_dev{
d( _( }9 [! W
compatible = "test_dev_name";
# } `) e* s" Y, D0 B: g0 C6 c
status = "okay";
0 L [; t' d- U# j2 J
};
' G1 K. W; C1 q
7 }. g$ N: Y, o' V6 Y8 r
& V2 p0 Y9 h0 T5 {) u n1 T
[color=rgb(51, 102, 153) !important]
复制代码
: @7 n" S) `# n( ?
添加完成之后如下图所示。
# q2 Q2 j* w0 v
$ M* Y6 r: x. T1 D* t s
以上添加代码,“test_dev”是设备树节点的名称;属性“compatible”的值是“test_dev_name”,也就是设备名称;“status = "okay";”表明这个设备树节点是使能的,设备树初始化的时候需要使能。
" O+ D' v' r# n/ ~* A, l/ C( D
2 注册设备测试
& ^$ c" b" u6 L- e: F: a( B% F; R+ K7 D
修改完成之后,重新编译烧写到开发板中,如下图所示,在开发板串口控制台下,使用命令“ls sys/bus/platform/devices/test_dev/”。
5 }& P) N4 m6 y# I x1 h; g2 P, y
1 o7 n- x* x: `
' G& z/ m6 O! H& U
在“sys/bus/platform/devices”中生成了设备树的节点“test_dev/”,节点下有属性值。使用命令“cd sys/bus/platform/devices/test_dev/”进入节点目录。
L) R. O @- |# A. U6 S, X/ c
使用命令“cat of_node/compatible”和“cat of_node/status”,可以查到在设备树中添加设备对应的值,如下图所示。
) Q7 Y" X# u. _0 r5 |
% t' H; F3 H1 {5 h; \
5 ?9 E$ u) m" v& C0 o% D% Z
至此,设备注册完成,后面介绍驱动注册,驱动注册的时候,驱动名称要和这里的设备名称一致,才能进入 probe 中。
l4 N9 f; a, y7 J. L$ J) U
& g$ b4 f) M- d! u
! n3 v+ _( m m8 I |. O
2 c N1 [" v$ ?) n$ d3 G- s# G5 `
1 F3 Z. D$ F# l& _8 S
作者:
Zjianeng
时间:
2020-11-18 15:54
添加设备名称和添加使能
作者:
alex824
时间:
2020-12-1 12:31
感谢楼主分享 非常有帮助
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2