← Documents Documentation/devicetree/bindings/mailbox/xgene-slimpro-mailbox.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

APM X-Gene SLIMpro Mailbox

ARM64와 Cortex-M3 사이의 8-channel interrupt doorbell mailbox입니다.

Source pathDocumentation/devicetree/bindings/mailbox/xgene-slimpro-mailbox.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

xgene-slimpro-mailbox.txt:1-35

Interrupt 0~7과 mailbox channel 0~7의 일대일 대응을 설명합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 The APM X-Gene SLIMpro mailbox is used to communicate messages between
2 the ARM64 processors and the Cortex M3 (dubbed SLIMpro). It uses a simple
3 interrupt based door bell mechanism and can exchange simple messages using the
4 internal registers.
5
6 There are total of 8 interrupts in this mailbox. Each used for an individual
7 door bell (or mailbox channel).
8
9 Required properties:
10 - compatible: Should be as "apm,xgene-slimpro-mbox".
11
12 - reg: Contains the mailbox register address range.
13
14 - interrupts: 8 interrupts must be from 0 to 7, interrupt 0 define the
15 the interrupt for mailbox channel 0 and interrupt 1 for
16 mailbox channel 1 and so likewise for the reminder.
17
18 - #mbox-cells: only one to specify the mailbox channel number.
19
20 Example:
21
22 Mailbox Node:
23 mailbox: mailbox@10540000 {
24 compatible = "apm,xgene-slimpro-mbox";
25 reg = <0x0 0x10540000 0x0 0xa000>;
26 #mbox-cells = <1>;
27 interrupts = <0x0 0x0 0x4>,
28 <0x0 0x1 0x4>,
29 <0x0 0x2 0x4>,
30 <0x0 0x3 0x4>,
31 <0x0 0x4 0x4>,
32 <0x0 0x5 0x4>,
33 <0x0 0x6 0x4>,
34 <0x0 0x7 0x4>,
35 };
36

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

X-Gene SLIMpro mailbox

1-20

APM X-Gene SLIMpro mailbox는 ARM64 processor와 SLIMpro라 부르는 Cortex-M3 사이에서 message를 교환합니다. 단순한 interrupt 기반 doorbell mechanism과 내부 register를 사용해 간단한 message를 전달합니다.

Mailbox에는 총 8개 interrupt가 있고 각각 독립된 doorbell 또는 mailbox channel에 대응합니다. 필수 `compatible`은 `apm,xgene-slimpro-mbox`, `reg`는 mailbox register address range입니다.

`interrupts`에는 0부터 7까지 8개 interrupt를 순서대로 제공해야 합니다. Interrupt 0은 mailbox channel 0, interrupt 1은 channel 1에 대응하며 나머지도 같은 방식입니다. `#mbox-cells`는 mailbox channel 번호 하나를 지정하므로 1입니다.

SLIMpro doorbell 매핑
Interrupt indexMailbox channel기능
00Doorbell 0
11Doorbell 1
2~62~6각 독립 doorbell
77Doorbell 7

Interrupt index와 mailbox channel이 일대일로 대응합니다.

8-channel controller 예제

21-35

예제는 `0x10540000`의 0xa000-byte register region을 사용하고 `#mbox-cells = <1>`로 channel 번호 하나를 받습니다. 이어지는 8개 level-triggered interrupt specifier는 channel 0부터 7까지 순서대로 대응합니다.

mailbox: mailbox@10540000 {
        compatible = "apm,xgene-slimpro-mbox";
        reg = <0x0 0x10540000 0x0 0xa000>;
        #mbox-cells = <1>;
        interrupts =          <0x0 0x0 0x4>,
                        <0x0 0x1 0x4>,
                        <0x0 0x2 0x4>,
                        <0x0 0x3 0x4>,
                        <0x0 0x4 0x4>,
                        <0x0 0x5 0x4>,
                        <0x0 0x6 0x4>,
                        <0x0 0x7 0x4>,
};