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

& 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( D2 注册设备测试& ^$ 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