요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
MOXA ART DMA Controller
See dma.txt first
Required properties:
- compatible : Must be "moxa,moxart-dma"
- reg : Should contain registers location and length
- interrupts : Should contain an interrupt-specifier for the sole
interrupt generated by the device
- #dma-cells : Should be 1, a single cell holding a line request number
Example:
dma: dma@90500000 {
compatible = "moxa,moxart-dma";
reg = <0x90500080 0x40>;
interrupts = <24 0>;
#dma-cells = <1>;
};
Clients:
DMA clients connected to the MOXA ART DMA controller must use the format
described in the dma.txt file, using a two-cell specifier for each channel:
a phandle plus one integer cells.
The two cells in order are:
1. A phandle pointing to the DMA controller.
2. Peripheral identifier for the hardware handshaking interface.
Example:
Use specific request line passing from dma
For example, MMC request line is 5
mmc: mmc@98e00000 {
compatible = "moxa,moxart-mmc";
reg = <0x98e00000 0x5C>;
interrupts = <5 0>;
clocks = <&clk_apb>;
dmas = <&dma 5>,
<&dma 5>;
dma-names = "tx", "rx";
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
MOXA ART DMA controller 속성
1-22MOXA ART DMA Controller 바인딩이며 먼저 `dma.txt`를 참조합니다. 필수 `compatible`은 `moxa,moxart-dma`, `reg`는 register 위치와 길이, `interrupts`는 device가 생성하는 유일한 interrupt specifier입니다.
`#dma-cells = <1>`이며 단일 cell은 line request 번호를 담습니다. Controller 예제는 register 영역, interrupt `<24 0>`과 단일-cell specifier를 사용합니다.
dma: dma@90500000 {
compatible = "moxa,moxart-dma";
reg = <0x90500080 0x40>;
interrupts = <24 0>;
#dma-cells = <1>;
};
Client의 peripheral identifier가 hardware handshaking request line을 선택합니다.
MOXART client specifier
23-36MOXA ART DMA client는 `dma.txt` 형식에 따라 channel마다 두 요소를 사용합니다. 첫 요소는 DMA controller phandle이고 두 번째 integer cell은 hardware handshaking interface의 peripheral identifier입니다.
특정 request line을 DMA에서 전달하며, 이어지는 예제의 MMC request line은 5입니다.
MMC TX/RX 예제
37-45MMC client는 controller와 interrupt, APB clock을 선언하고 TX와 RX 양쪽에 request line 5를 전달합니다.
mmc: mmc@98e00000 {
compatible = "moxa,moxart-mmc";
reg = <0x98e00000 0x5C>;
interrupts = <5 0>;
clocks = <&clk_apb>;
dmas = <&dma 5>,
<&dma 5>;
dma-names = "tx", "rx";
};
요약과 해설
moxa,moxart-dma.txt:1-45Controller specifier와 MMC TX/RX client 예제를 설명합니다.