← Documents Documentation/devicetree/bindings/media/xilinx/xlnx,video.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Xilinx Video IP Pipeline

Xilinx VIPP 최상위 노드가 port별 DMA와 내부 비디오 IP endpoint를 매핑하는 바인딩입니다.

Source pathDocumentation/devicetree/bindings/media/xilinx/xlnx,video.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

xlnx,video.txt:1-55

DMA 이름의 port 인덱스 규칙과 input/output 방향 속성을 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Xilinx Video IP Pipeline (VIPP)
2 -------------------------------
3
4 General concept
5 ---------------
6
7 Xilinx video IP pipeline processes video streams through one or more Xilinx
8 video IP cores. Each video IP core is represented as documented in video.txt
9 and IP core specific documentation, xlnx,v-*.txt, in this directory. The DT
10 node of the VIPP represents as a top level node of the pipeline and defines
11 mappings between DMAs and the video IP cores.
12
13 Required properties:
14
15 - compatible: Must be "xlnx,video".
16
17 - dmas, dma-names: List of one DMA specifier and identifier string (as defined
18 in Documentation/devicetree/bindings/dma/dma.txt) per port. Each port
19 requires a DMA channel with the identifier string set to "port" followed by
20 the port index.
21
22 - ports: Video port, using the DT bindings defined in ../video-interfaces.txt.
23
24 Required port properties:
25
26 - direction: should be either "input" or "output" depending on the direction
27 of stream.
28
29 Example:
30
31 video_cap {
32 compatible = "xlnx,video";
33 dmas = <&vdma_1 1>, <&vdma_3 1>;
34 dma-names = "port0", "port1";
35
36 ports {
37 #address-cells = <1>;
38 #size-cells = <0>;
39
40 port@0 {
41 reg = <0>;
42 direction = "input";
43 vcap0_in0: endpoint {
44 remote-endpoint = <&scaler0_out>;
45 };
46 };
47 port@1 {
48 reg = <1>;
49 direction = "input";
50 vcap0_in1: endpoint {
51 remote-endpoint = <&switch_out1>;
52 };
53 };
54 };
55 };
56

3. 한국어 전문 번역

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

Xilinx Video IP Pipeline 개념

1-12

Xilinx Video IP Pipeline(VIPP)은 하나 이상의 Xilinx 비디오 IP 코어를 통해 영상 스트림을 처리합니다. 각 코어는 이 디렉터리의 `video.txt`와 코어별 `xlnx,v-*.txt` 문서에 따라 표현합니다.

VIPP의 DT 노드는 파이프라인의 최상위 노드이며 DMA와 비디오 IP 코어 사이의 매핑을 정의합니다.

VIPP DMA 매핑
VDMA channel 1VIPP port0
Scaler outputport0 input endpoint
VDMA channel 3VIPP port1
Switch outputport1 input endpoint

최상위 VIPP port마다 이름이 같은 DMA 채널을 대응시키고 endpoint로 내부 코어를 연결합니다.

필수 DMA와 port 속성

13-23

`compatible`은 `xlnx,video`여야 합니다. `dmas`와 `dma-names`에는 port마다 하나의 DMA 지정자와 식별 문자열을 넣습니다. DMA 형식은 `Documentation/devicetree/bindings/dma/dma.txt`를 따르며, 각 port의 DMA 식별자는 `port` 뒤에 port 인덱스를 붙인 문자열이어야 합니다.

`ports`는 `../video-interfaces.txt`에서 정의한 DT 영상 port 바인딩을 사용합니다.

port 방향

24-28

각 port의 필수 `direction`은 스트림 방향에 따라 `input` 또는 `output`이어야 합니다.

두 입력 DMA 예제

29-55

예제는 VDMA1 채널 1과 VDMA3 채널 1을 각각 `port0`, `port1`에 매핑합니다. 두 port의 방향은 모두 `input`입니다.

`port@0`의 `vcap0_in0` endpoint는 `scaler0_out`과, `port@1`의 `vcap0_in1`은 `switch_out1`과 연결됩니다.

video_cap {
        compatible = "xlnx,video";
        dmas = <&vdma_1 1>, <&vdma_3 1>;
        dma-names = "port0", "port1";

        ports {
                #address-cells = <1>;
                #size-cells = <0>;

                port@0 {
                        reg = <0>;
                        direction = "input";
                        vcap0_in0: endpoint {
                                remote-endpoint = <&scaler0_out>;
                        };
                };
                port@1 {
                        reg = <1>;
                        direction = "input";
                        vcap0_in1: endpoint {
                                remote-endpoint = <&switch_out1>;
                        };
                };
        };
};