zynq-树文件

在这里插入图片描述
/* */ ”进行多行注释
可以使用” // ”
”#include”包含 dtsi、dts 以及 C 语言的头文件

1、compatible 属性

compatible 属性也叫做“兼容性”属性,这是非常重要的一个属性!compatible 属性的
值可以是一个字符串,也可以是一个字符串列表;一般该字符串使用”<制造商>,<型号>”这
样的形式进行命名,当然这不是必须要这样,这是要求大家按照这样的形式进行命名,目的是
为了指定一个确切的设备,并且包括制造商的名字,以避免命名空间冲突,如下所示:

compatible = "xlnx,xuartps", "cdns,uart-r1p8";

2、model 属性

一般就是对板子的描述信息,没啥实质性的作用

3、status 属性

在这里插入图片描述

4、#address-cells 和#size-cells 属性

➢ #address-cells,用来描述子节点"reg"属性的地址表中首地址 cell 的数量;
➢ #size-cells,用来描述子节点"reg"属性的地址表中地址长度 cell 的数量。

在这里插入图片描述

5、reg 属性

reg 属性的值一般是(address,length)对。reg 属性一般用于描述设备地址空间资源信息,一般都是描述某个外设的寄存器地址范围信息、flash 设备的
分区信息等

6、ranges 属性

ranges 是地址转换表,其中的每个项目是一个子地址、父地址以及在子地址空间的大小
的映射

7追加内容

在这里插入图片描述

 8 /dts-v1/;
 9 #include "zynq-7000.dtsi"
10 #include "pl.dtsi"
11 #include "pcw.dtsi"
12 / {
    
    
13 model = "Alientek ZYNQ Development Board";
14
15 chosen {
    
    
16 bootargs = "console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait";
17 stdout-path = "serial0:115200n8";
18 };
19 aliases {
    
    
20 ethernet0 = &gem0;
21 i2c0 = &i2c_2;
22 i2c1 = &i2c0;
23 i2c2 = &i2c1;
24 serial0 = &uart0;
25 serial1 = &uart1;
26 spi0 = &qspi;
27 };
28 memory {
    
    
29 device_type = "memory";
30 reg = <0x0 0x20000000>;
31 };
32 };
33
34 &i2c0 {
    
    
35 clock-frequency = <100000>;
36 status = "okay";
37
38 24c64@50 {
    
    
39 compatible = "atmel,24c64";
40 reg = <0x50>;
41 pagesize = <32>;
42 };
43
44 rtc@51 {
    
    
45 compatible = "nxp,pcf8563";
46 reg = <0x51>;
47 };
48 };
49
50 &gem0 {
    
    
51 local-mac-address = [00 0a 35 00 1e 53];
52 };

在这里插入图片描述

特殊节点

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yunddun/article/details/122153336