linux 设备树基本语法-记录

/dts-v1/; //dts文件版本
/{}; //根节点

  • 子节点格式

[label:] node-name[@unit-address] {
[properties definitions]
[child nodes]
};
注意 : 同级节点下节点名称不能相同。不同级节点名称可以相同

node1{ //子节点  节点名称为 node1
	node1_chold{  //子节点  节点名称为 node1_chold
	};
};
  • 节点名称

格式:[标签]:<名称>[@<设备地址>]
[标签]和[@<设备地址>] : 可选项
<名称>:必选项
<设备地址>:没有实际意义,方便阅读

uart:serial@02288000
uart 节点标签  
serial@02288000 节点名称  
  • reg属性

reg属性可以用来描述地址信息。比如寄存器地址
格式:
reg = < address1 length1 address2 length2 address3 length3…>

reg = <0x02200000 0x4000>;
reg = <0x02200000 0x4000
	   0x02205000 0x4000>;
  • #adderss-cells 和#size-cells属性

用来描述字节点中的reg信息中的地址和长度信息。

node1{
		#adderss-cells = <1>;  //地址个数
		#size-cells =<0>;      //长度个数
	node1-chold{
		reg = <0>  //地址
	};
};

node1{
		#adderss-cells = <1>;  //地址个数
		#size-cells =<1>;      //长度个数
	node1-chold{
		reg = <0x02200000 0x4000>  //地址:0x02200000 长度:0x4000
	};
};

node1{
		#adderss-cells = <2>;  //地址个数
		#size-cells =<0>;      //长度个数
	node1-chold{
		reg = <0x00 0x01>  //0x00 、0x01都是地址
	};
};
  • model属性

model属性的值是字符串,描述一些信息。比如设备名称、名字等

model = "wm8960-audio";
  • status属性

和设备状态有关系,属性值是字符串。属性值有以下几个状态

属性值描述
okay设备可用状态
disabled设备不可用状态
fail设备不可用状态并设备检测到错误
fail-sss设备不可用状态并设备检测到错误,sss是错误内容
status = "okay";
  • compatible 属性

非常重要属性。
用来和驱动进行匹配的,匹配成功后会执行驱动中的probe函数

compatible = "xunwei","xunwei-board";
在匹配时先使用第一个值进行匹配,如果没有就使用第二值个进行匹配
  • aliases 特殊节点

用来定义别名,批量定义

aliases{
	mmc0 = &sdmmc0;
	mmc1 = &sdmmc1;
	mmc2 = &sdmmc2;
	serial0="/simple@fe000000/serial@11c500";
};
  • chosen 特殊节点

用来uboot给内核传递参数。重点是bootargs参数。chosen节点必须是根节点的子节点

chosen{
	bootargs="root=/dev/nfs rw nfsroot=192.168.1.1 console=ttyS0,115200";
};
  • device_type 特殊属性

device_type值是字符串,只用于cpu节点或者memory节点进行描述

memory@30000000{
	device_type = "memory";
	reg = <0x30000000 0x40000000>;
};

cpu1:cpu@1{
	device_type = "cpu";
	reg = <0x00 0x01>;

};
  • 自定义属性

自定义一个管脚标号属性pinnum

pinnum =<0 1 2 3 4>;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值