요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Texas Instruments VPIF
----------------------
The TI Video Port InterFace (VPIF) is the primary component for video
capture and display on the DA850/AM18x family of TI DaVinci/Sitara
SoCs.
TI Document reference: SPRUH82C, Chapter 35
http://www.ti.com/lit/pdf/spruh82
Required properties:
- compatible: must be "ti,da850-vpif"
- reg: physical base address and length of the registers set for the device;
- interrupts: should contain IRQ line for the VPIF
Video Capture:
VPIF has a 16-bit parallel bus input, supporting 2 8-bit channels or a
single 16-bit channel. It should contain one or two port child nodes
with child 'endpoint' node. If there are two ports then port@0 must
describe the input and port@1 output channels. Please refer to the
bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt.
Example using 2 8-bit input channels, one of which is connected to an
I2C-connected TVP5147 decoder:
vpif: vpif@217000 {
compatible = "ti,da850-vpif";
reg = <0x217000 0x1000>;
interrupts = <92>;
port@0 {
vpif_input_ch0: endpoint@0 {
reg = <0>;
bus-width = <8>;
remote-endpoint = <&composite_in>;
};
vpif_input_ch1: endpoint@1 {
reg = <1>;
bus-width = <8>;
data-shift = <8>;
};
};
port@1 {
vpif_output_ch0: endpoint {
bus-width = <8>;
remote-endpoint = <&composite_out>;
};
};
};
[ ... ]
&i2c0 {
tvp5147@5d {
compatible = "ti,tvp5147";
reg = <0x5d>;
port {
composite_in: endpoint {
hsync-active = <1>;
vsync-active = <1>;
pclk-sample = <0>;
/* VPIF channel 0 (lower 8-bits) */
remote-endpoint = <&vpif_input_ch0>;
bus-width = <8>;
};
};
};
adv7343@2a {
compatible = "adi,adv7343";
reg = <0x2a>;
port {
composite_out: endpoint {
adi,dac-enable = <1 1 1>;
adi,sd-dac-enable = <1>;
remote-endpoint = <&vpif_output_ch0>;
bus-width = <8>;
};
};
};
};
Alternatively, an example when the bus is configured as a single
16-bit input (e.g. for raw-capture mode):
vpif: vpif@217000 {
compatible = "ti,da850-vpif";
reg = <0x217000 0x1000>;
interrupts = <92>;
port {
vpif_ch0: endpoint {
bus-width = <16>;
};
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
DA850/AM18x Video Port Interface
1-10TI Video Port Interface(VPIF)는 TI DaVinci/Sitara DA850/AM18x 계열 SoC에서 비디오 캡처와 표시를 담당하는 주 구성 요소입니다. 하드웨어 설명은 TI 문서 SPRUH82C 35장과 `http://www.ti.com/lit/pdf/spruh82`에서 찾을 수 있습니다.
16비트 물리 입력을 두 개의 8비트 채널 또는 하나의 16비트 채널로 구성할 수 있습니다.
필수 컨트롤러 속성
11-15`compatible`은 `ti,da850-vpif`여야 합니다. `reg`는 장치 레지스터 집합의 물리 기준 주소와 길이이고 `interrupts`에는 VPIF IRQ 선을 넣습니다.
캡처 port 구성
16-26VPIF의 입력은 16비트 병렬 버스이며 두 개의 8비트 채널 또는 하나의 16비트 채널을 지원합니다. 하나 또는 두 개의 `port` 자식과 그 안의 `endpoint` 자식을 둡니다. port가 둘이면 `port@0`은 입력 채널, `port@1`은 출력 채널을 기술해야 합니다. 자세한 연결 형식은 `Documentation/devicetree/bindings/media/video-interfaces.txt`를 따릅니다.
다음 예제는 8비트 입력 채널 두 개를 사용하며 그중 하나를 I2C 연결 TVP5147 디코더에 연결합니다.
두 8비트 채널 예제
27-90`vpif_input_ch0`은 하위 8비트를 사용해 TVP5147의 `composite_in`과 연결됩니다. `vpif_input_ch1`은 `data-shift = <8>`로 상위 8비트를 선택합니다. `port@1`의 `vpif_output_ch0`은 8비트 출력으로 ADV7343의 `composite_out`에 연결됩니다.
TVP5147 endpoint는 active-high HSYNC·VSYNC와 PCLK 샘플 값 0을 지정합니다. ADV7343 endpoint는 세 DAC와 SD DAC를 활성화합니다. 원문의 `[ ... ]` 표시는 두 장치 트리 조각 사이에 생략된 내용이 있음을 뜻하며 그대로 보존합니다.
vpif: vpif@217000 {
compatible = "ti,da850-vpif";
reg = <0x217000 0x1000>;
interrupts = <92>;
port@0 {
vpif_input_ch0: endpoint@0 {
reg = <0>;
bus-width = <8>;
remote-endpoint = <&composite_in>;
};
vpif_input_ch1: endpoint@1 {
reg = <1>;
bus-width = <8>;
data-shift = <8>;
};
};
port@1 {
vpif_output_ch0: endpoint {
bus-width = <8>;
remote-endpoint = <&composite_out>;
};
};
};
[ ... ]
&i2c0 {
tvp5147@5d {
compatible = "ti,tvp5147";
reg = <0x5d>;
port {
composite_in: endpoint {
hsync-active = <1>;
vsync-active = <1>;
pclk-sample = <0>;
/* VPIF channel 0 (lower 8-bits) */
remote-endpoint = <&vpif_input_ch0>;
bus-width = <8>;
};
};
};
adv7343@2a {
compatible = "adi,adv7343";
reg = <0x2a>;
port {
composite_out: endpoint {
adi,dac-enable = <1 1 1>;
adi,sd-dac-enable = <1>;
remote-endpoint = <&vpif_output_ch0>;
bus-width = <8>;
};
};
};
};
단일 16비트 입력 예제
91-106대안 구성은 RAW 캡처 같은 용도를 위해 전체 버스를 하나의 16비트 입력으로 사용합니다. 이때 단일 `port`의 `vpif_ch0` endpoint에 `bus-width = <16>`을 지정합니다.
vpif: vpif@217000 {
compatible = "ti,da850-vpif";
reg = <0x217000 0x1000>;
interrupts = <92>;
port {
vpif_ch0: endpoint {
bus-width = <16>;
};
};
};
요약과 해설
ti,da850-vpif.txt:1-106TVP5147 입력과 ADV7343 출력 연결, 상위 바이트 data-shift를 설명합니다.