imx板子设备树范例
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板子设备树范例相关推荐
- IMX系列设备树引脚复用解析
在linux3.0之后,硬件信息都在设备树里面描述.寄存器也是在设备树里面进行设置. 在imx系列的设备树里面,一般都是如下: pinctrl_i2c2: i2c2grp {fsl,pins = &l ...
- 【嵌入式Linux】嵌入式Linux驱动开发基础知识之LED模板驱动程序的改造:设备树
文章目录 前言 1.驱动的三种编写方法 2.怎么使用设备树写驱动程序 2.1.设备树节点要与platform_driver能匹配 2.2.修改platform_driver的源码 3.实验和调试技巧 ...
- 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十一)驱动进化之路:设备树的引入及简明教程
文章目录 1.驱动进化之路:设备树的引入及简明教程 1.1 设备树的引入与作用 1.2 设备树的语法 1.2.1 Devicetree格式 1.2.1.1 DTS文件的格式 1.2.1.2 node的 ...
- i.MX6ULL终结者Linux设备树DTS设备树语法结构
文章目录 1 dtsi头文件 2 设备节点信息 3 设备节点及label的命名 4 标准属性 5 根节点compatible属性 6 在设备节点中添加或修改内容 一般情况下,我们不会从头编写一个完整的 ...
- 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十二)LED模板驱动程序的改造:设备树
文章目录 1.LED模板驱动程序的改造:设备树 1.1 总结3种写驱动程序的方法 1.2 怎么使用设备树写驱动程序 1.2.1 设备树节点要与platform_driver能匹配 1.2.2 设备树节 ...
- linux 内核 网卡驱动 移植,Linux内核移植步骤_添加DM9000网卡驱动(设备树).docx
Linux内核移植步骤_添加DM9000网卡驱动(设备树) Linux内核移植步骤2015年05月13日星期三上午 11:05往设备树中添加网卡驱动:1.选平台,指定交叉编译工具链:(1).在Make ...
- linux 内核 网卡驱动 移植,linux内核移植步骤添加dm9000网卡驱动(设备树).docx
linux内核移植步骤添加dm9000网卡驱动(设备树).docx LINUX内核移植步骤2015年05月13日星期三上午1105往设备树中添加网卡驱动1.选平台,指定交叉编译工具链1.在MAKEFI ...
- 设备树dts/dtsi格式
说明:后续的博文参考自韦东山老师的设备树视屏,老师用的是2440的开发板,我用的是s5pv210的开发板.原理一样 一.前言 简单的说,如果要使用Device Tree,首先用户要了解自己的硬件配置和 ...
- linux 设备树及节点引用
1.ARM Linux社区为什么要引入设备树 Linux之父Linus Torvalds闲来无事,在翻看ARM Linux代码的时候,有一天终于忍不住了.他在2011年3月17日的ARM Linux邮 ...
最新文章
- Python_note4 程序控制结构+random库的使用
- mysql 存储过程无效_用VC通过DLL包连接MySQL,执行存储过程后,再执行其他查询无效?解决方法...
- [一文一命令]tail命令详解
- C++ 数字、string 简便互转
- python下载文件到本地-Python下载网络文本数据到本地内存的四种实现方法示例
- mwc校准油门_编写下载服务器。 第五部分:油门下载速度
- 比亚迪定薪后多久给offer_比亚迪车主给爱车做四门隔音,没想到两年后肠子都悔青...
- Turing equation
- php 读文件返回字符串,PHP:file_get_contents('php:// input')返回JSON消息的字符串...
- Docker资源限制
- 【英语学习】【Level 07】U04 Rest and Relaxation L1 Waiting to board a train
- Atom飞行手册翻译: 2.14 小结
- arduino nano 蓝牙_贸泽开售结合蓝牙5.2与USB 2.0的 Nordic Semiconductor nRF52820多协议SoC...
- LeetCode 94. Binary Tree Inorder Traversal
- linux 下tomcat开机自启动
- C语言中的static
- Combinations leetcode 组合问题
- 拓端tecdat|R语言时间序列数据指数平滑法分析交互式动态可视化
- 1236mysql,MySQL1236错误的恢复
- UVA 12307 Smallest Enclosing Rectangle
热门文章
- wps office 使用积累 WPS 2016表格怎么自动适应行高列宽
- android开发打开wifi密码,【Android开发】wifi开关与wifi连接(密码连接)
- 程序员中的老司机们,30 后的路该开向哪里?----转自程序人生
- 修复MBR的工具MBRFix下载
- 模拟退火解决背包问题
- 三星s3 android8.0,快看有你的吗?三星可升级安卓8.0机型曝光
- 跳槽后“好马也吃回头草”
- 4 步搞定 Hive 增量更新
- AWS解决方案架构师认证 Professional SAP-C01 2019 新版考试蓝图
- PTA平台编程题 Java代码模板