장치 트리 속성을 이해하려고 하는데 interrupts
적절한 설명을 찾을 수 없습니다.
예를 들어 다음 줄이 포함된 노드가 있는 경우:
interrupt-parent = <&gpio5>;
interrupts = <9 0>;
<9 0>
매직넘버가 무엇과 관련되어 있는지 어떻게 알 수 있나요 ? 비트마스크, GPIO 포트 번호, 핀 번호, 우선 순위, 에지 또는 기타 무엇입니까?
노드 interrupt-parent
는 다음과 같습니다(대부분의 ARM 장치에서 비슷할 것으로 예상됩니다).
gpio5: gpio@1234 {
compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio";
reg = <0x30240000 0x10000>;
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
답변1
에서 정보를 얻을 수 있습니다.커널 문서인터럽트 속성을 설명합니다.
아래 예를 계속해서 OpenPIC 인터럽트 컨트롤러 2개의 셀이 있습니다:
첫 번째 셀은 구분 번호를 정의합니다. 두 번째 단위는 의미와 수준 정보를 정의합니다. 인식 및 수준 정보는 다음과 같이 인코딩되어야 합니다.
0 = low to high edge sensitive type enabled
...
귀하의 상황은 비슷할 수 있지만 일반적으로 칩셋과 드라이버에 대한 깊은 이해가 필요합니다.
답변2
~처럼흠 제안, 이 정보는 다음 위치에서 확인할 수 있습니다.커널 장치 트리 바인딩 문서. 그러나 어떤 파일을 살펴봐야 할지 명확하지 않을 수 있으므로 다음은 몇 가지 제안 사항입니다.
먼저 노드 compatible
의 속성 문자열을 확인하세요 interrupt-parent
(예: 이 예에서는 gpio5). 운이 좋다면 문서에는 해당 정보와 관련된 모든 호환 가능한 속성 문자열 목록이 포함되며 이러한 문자열을 검색할 때 파일이 직접 표시됩니다.
그렇지 않은 경우 문서 디렉토리를 탐색하여 호환 가능한 속성 문자열과 유사한 이름을 가진 파일을 찾아야 합니다. 동일한 문서가 다양한 장치에 적용되는 경우가 많으며 파일 이름에서 모델 번호 등이 생략됩니다. 구형 모델도 찾아보실 수 있습니다.
먼저 관련 하위 디렉터리를 확인하세요(이 경우 "gpio" 디렉터리 아래에 있음).
이름이 변경되니 참고하세요. 예를 들어 Freescale("fsl")은 이제 NXP의 소유이므로 "fsl" 및 "nxp"가 포함된 파일 이름은 유용한 정보를 제공할 수 있습니다.