设备树之#address-cells、#size-cells、#interrupt-cells

这两个属性的值都是无符号32位整形,#address-cells#size-cells这两个属性可以用在任何拥有子节点的设备节点中,用于描述子节点的地址信息。

  • #address-cells,用来描述子节点reg属性的地址表中用来描述首地址的元素所用字(cell)的数量;
  • #size-cells,用来描述子节点reg属性的地址表中用来描述地址长度的元素所用字的数量。

#address-cells#size-cells表明了子节点应该如何编写reg属性值,一般reg属性都是和地址有关的内容,和地址相关的信息有两种:起始地址和地址长度,有了这两个属性,子节点中的"reg"属性就可以描述一块连续的地址区域了;reg属性的格式一为:
reg = <address1 length1 address2 length2 address3 length3 ……>
每个addressn lengthn组合表示一个地址范围,其中addressn是起始地址,lengthn是地址长度,#address-cells表明addressn字段占用的字长,#size-cells表明lengthn这个字段所占用的字长。

#interrupt-cells是中断控制器中的属性,和#address-cells#size-cells类似,表示此中断控制器下设备的interrupts属性中描述中断信息的元素所用字的数量。

对于ARM处理的GIC来说,一共有3 个cells,这三个cells的含义如下:

  • 第一个cells:中断类型,0表示SPI中断(共享外设中断),1表示PPI中断(私有外设中断)。
  • 第二个cells:中断号,SPI中断大约有60个,它们对应的中断号范围为32~92(61个),对于PPI中断来说中断号的范围为27~31。但是该cell描述的中断号是从0开始。
  • 第三个cells:标志,bit[3:0]表示中断触发类型,为1的时候表示上升沿触发,为 2的时候表示下降沿触发,为4的时候表示高电平触发,为8的时候表示低电平触发。bit[15:8]为PPI中断的CPU掩码。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值