1.节点格式

label:node-name@unit-address

label:标号

node-name:节点名字

unit-address:单元地址

2.属性

3.关键字意义

1)compatible:一个设备内核中哪些驱动支持它。比如一个led:

led{

compatible="A","B","C";

};

就代表这个led在内核中A,B,C三个驱动都支持它,那么内核启动时,就会按A->B->C的顺序为led找到它的驱动程序

2)model:和compatible类似,表明这个硬件是什么,例如:

/{

compatible="samsung,smdk2440","samsung,mini2440";

model="jz2440_v3";

};

它表示这个板子,兼容内核中的smdk2440驱动,也兼容mini2440的板子驱动。

而model这里则定义了它是什么板,是jz2440_v3

3)status ,就是状态,设备的状态

okay就是可操作的;

disabled就是不可操作的

fail就是尝试了但因有错误导致失败,不可操作了

fail-sss就是失败了,sss是失败原因

4)reg就是属性值,用数字来表示地址和大小

address-cells:address需要多少个32位数来表示

size-cells:size需要多少个32位数来表示

/{

# address-cells = <1>;  地址

# size-cells = <1>;  大小

memory {

reg = <0x80000000  0x20000000>;

//一段内存的起始地址0x80000000 ,大小0x20000000

};

};

5)name和device_type

分别表示节点的名字和类型,在跟platform_driver匹配时,优先级很低,优先级最高的是compatible

3.节点

根节点        / {

}

CPU节点    cpu {

}

memory节点  memory {

}

chosen节点 (通过设备树文件给内核传入一些参数)

chosen {

bootargs="          ";

};

4.操作设备树的函数

一般以of开头:

1)of_find_node_by_name函数通过节点名字查找制定节点

2)of_find_node_by_type  通过device_type查找指定节点

3)of_find_compatible_node根据device_type和compatible查找

4)of_find_matching_node_and_match通过of_device_id

5)of_find_node_by_path通过路径

6)of_find_property查找指定的属性

【Linux笔记】设备树基础知识 - 知乎

imx板子设备树范例相关推荐

  1. IMX系列设备树引脚复用解析

    在linux3.0之后,硬件信息都在设备树里面描述.寄存器也是在设备树里面进行设置. 在imx系列的设备树里面,一般都是如下: pinctrl_i2c2: i2c2grp {fsl,pins = &l ...

  2. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之LED模板驱动程序的改造:设备树

    文章目录 前言 1.驱动的三种编写方法 2.怎么使用设备树写驱动程序 2.1.设备树节点要与platform_driver能匹配 2.2.修改platform_driver的源码 3.实验和调试技巧 ...

  3. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十一)驱动进化之路:设备树的引入及简明教程

    文章目录 1.驱动进化之路:设备树的引入及简明教程 1.1 设备树的引入与作用 1.2 设备树的语法 1.2.1 Devicetree格式 1.2.1.1 DTS文件的格式 1.2.1.2 node的 ...

  4. i.MX6ULL终结者Linux设备树DTS设备树语法结构

    文章目录 1 dtsi头文件 2 设备节点信息 3 设备节点及label的命名 4 标准属性 5 根节点compatible属性 6 在设备节点中添加或修改内容 一般情况下,我们不会从头编写一个完整的 ...

  5. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十二)LED模板驱动程序的改造:设备树

    文章目录 1.LED模板驱动程序的改造:设备树 1.1 总结3种写驱动程序的方法 1.2 怎么使用设备树写驱动程序 1.2.1 设备树节点要与platform_driver能匹配 1.2.2 设备树节 ...

  6. linux 内核 网卡驱动 移植,Linux内核移植步骤_添加DM9000网卡驱动(设备树).docx

    Linux内核移植步骤_添加DM9000网卡驱动(设备树) Linux内核移植步骤2015年05月13日星期三上午 11:05往设备树中添加网卡驱动:1.选平台,指定交叉编译工具链:(1).在Make ...

  7. linux 内核 网卡驱动 移植,linux内核移植步骤添加dm9000网卡驱动(设备树).docx

    linux内核移植步骤添加dm9000网卡驱动(设备树).docx LINUX内核移植步骤2015年05月13日星期三上午1105往设备树中添加网卡驱动1.选平台,指定交叉编译工具链1.在MAKEFI ...

  8. 设备树dts/dtsi格式

    说明:后续的博文参考自韦东山老师的设备树视屏,老师用的是2440的开发板,我用的是s5pv210的开发板.原理一样 一.前言 简单的说,如果要使用Device Tree,首先用户要了解自己的硬件配置和 ...

  9. linux 设备树及节点引用

    1.ARM Linux社区为什么要引入设备树 Linux之父Linus Torvalds闲来无事,在翻看ARM Linux代码的时候,有一天终于忍不住了.他在2011年3月17日的ARM Linux邮 ...

最新文章

  1. Python_note4 程序控制结构+random库的使用
  2. mysql 存储过程无效_用VC通过DLL包连接MySQL,执行存储过程后,再执行其他查询无效?解决方法...
  3. [一文一命令]tail命令详解
  4. C++ 数字、string 简便互转
  5. python下载文件到本地-Python下载网络文本数据到本地内存的四种实现方法示例
  6. mwc校准油门_编写下载服务器。 第五部分:油门下载速度
  7. 比亚迪定薪后多久给offer_比亚迪车主给爱车做四门隔音,没想到两年后肠子都悔青...
  8. Turing equation
  9. php 读文件返回字符串,PHP:file_get_contents('php:// input')返回JSON消息的字符串...
  10. Docker资源限制
  11. 【英语学习】【Level 07】U04 Rest and Relaxation L1 Waiting to board a train
  12. Atom飞行手册翻译: 2.14 小结
  13. arduino nano 蓝牙_贸泽开售结合蓝牙5.2与USB 2.0的 Nordic Semiconductor nRF52820多协议SoC...
  14. LeetCode 94. Binary Tree Inorder Traversal
  15. linux 下tomcat开机自启动
  16. C语言中的static
  17. Combinations leetcode 组合问题
  18. 拓端tecdat|R语言时间序列数据指数平滑法分析交互式动态可视化
  19. 1236mysql,MySQL1236错误的恢复
  20. UVA 12307 Smallest Enclosing Rectangle

热门文章

  1. wps office 使用积累 WPS 2016表格怎么自动适应行高列宽
  2. android开发打开wifi密码,【Android开发】wifi开关与wifi连接(密码连接)
  3. 程序员中的老司机们,30 后的路该开向哪里?----转自程序人生
  4. 修复MBR的工具MBRFix下载
  5. 模拟退火解决背包问题
  6. 三星s3 android8.0,快看有你的吗?三星可升级安卓8.0机型曝光
  7. 跳槽后“好马也吃回头草”
  8. 4 步搞定 Hive 增量更新
  9. AWS解决方案架构师认证 Professional SAP-C01 2019 新版考试蓝图
  10. PTA平台编程题 Java代码模板