원본 : liunx Documentation/devicetree/bindings/arm/gic.txt
linux document 의 설명이 애매해서 좀 더 풀어서 남긴다.
ex)
interrupt-controller@2c001000 {
compatible = "arm,cortex-a15-gic";
#interrupt-cells = <3>;
interrupt-controller;
reg = <0x2c001000 0x1000>,
<0x2c002000 0x1000>,
<0x2c004000 0x2000>,
<0x2c006000 0x2000>;
interrupts = <1 9 0xf04>;
};
< #interrupt-cells 의 의미 >
#이 있다고 주석이 아니다. 3 이라는 숫자는 interrupts = < > 에 3개의 값이 들어감을 의미한다.
< interrupts 의 의미 >
The 1st cell is the interrupt type; 0 for SPI interrupts, 1 for PPI
interrupts.
The 2nd cell contains the interrupt number for the interrupt type.
SPI interrupts are in the range [0-987]. PPI interrupts are in the
range [0-15].
The 3rd cell is the flags, encoded as follows:
bits[3:0] trigger type and level flags.
1 = low-to-high edge triggered
2 = high-to-low edge triggered (invalid for SPIs)
4 = active high level-sensitive
8 = active low level-sensitive (invalid for SPIs).
bits[15:8] PPI interrupt cpu mask. Each bit corresponds to each of
the 8 possible cpus attached to the GIC. A bit set to '1' indicated
the interrupt is wired to that CPU. Only valid for PPI interrupts.
Also note that the configurability of PPI interrupts is IMPLEMENTATION
DEFINED and as such not guaranteed to be present (most SoC available
in 2014 seem to ignore the setting of this flag and use the hardware
default value).
-> 단 flag 는 system 에 따라 의미가 크게 바뀐다.
'Programming > Linux_Kernel' 카테고리의 다른 글
linux kernel - boot args 중 boot_cpus (0) | 2019.09.02 |
---|---|
linux shell 의 sysfs에서 device-tree 뽑아내는 방법 (0) | 2019.01.11 |
Linux storage stack diagram (0) | 2018.11.02 |
dtb(device tree blob) file parser(command) on linux (0) | 2018.05.31 |
rootfs (0) | 2018.04.11 |