요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Texas Instruments AM437x CAMERA (VPFE)
--------------------------------------
The Video Processing Front End (VPFE) is a key component for image capture
applications. The capture module provides the system interface and the
processing capability to connect RAW image-sensor modules and video decoders
to the AM437x device.
Required properties:
- compatible: must be "ti,am437x-vpfe"
- reg: physical base address and length of the registers set for the device;
- interrupts: should contain IRQ line for the VPFE;
- ti,am437x-vpfe-interface: can be one of the following,
0 - Raw Bayer Interface.
1 - 8 Bit BT656 Interface.
2 - 10 Bit BT656 Interface.
3 - YCbCr 8 Bit Interface.
4 - YCbCr 16 Bit Interface.
VPFE supports a single port node with parallel bus. It should contain one
'port' child node with child 'endpoint' node. Please refer to the bindings
defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
Example:
vpfe: vpfe@f0034000 {
compatible = "ti,am437x-vpfe";
reg = <0x48328000 0x2000>;
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&vpfe_pins_default>;
pinctrl-1 = <&vpfe_pins_sleep>;
port {
#address-cells = <1>;
#size-cells = <0>;
vpfe0_ep: endpoint {
remote-endpoint = <&ov2659_1>;
ti,am437x-vpfe-interface = <0>;
bus-width = <8>;
hsync-active = <0>;
vsync-active = <0>;
};
};
};
i2c1: i2c@4802a000 {
ov2659@30 {
compatible = "ti,ov2659";
reg = <0x30>;
port {
ov2659_1: endpoint {
remote-endpoint = <&vpfe0_ep>;
bus-width = <8>;
mclk-frequency = <12000000>;
};
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
AM437x VPFE 카메라 입력
1-8Video Processing Front End(VPFE)는 영상 캡처 애플리케이션의 핵심 구성 요소입니다. 캡처 모듈은 RAW 이미지 센서 모듈과 비디오 디코더를 AM437x 장치에 연결하는 시스템 인터페이스 및 처리 기능을 제공합니다.
센서 또는 디코더의 병렬 영상 버스를 단일 endpoint로 받아 VPFE가 캡처합니다.
필수 속성과 인터페이스 번호
9-19`compatible`은 `ti,am437x-vpfe`여야 하고 `reg`는 장치 레지스터 집합의 물리 기준 주소와 길이, `interrupts`는 VPFE IRQ 선을 담습니다.
`ti,am437x-vpfe-interface` 값 0은 Raw Bayer, 1은 8비트 BT.656, 2는 10비트 BT.656, 3은 8비트 YCbCr, 4는 16비트 YCbCr 인터페이스를 뜻합니다.
단일 병렬 port
20-23VPFE는 병렬 버스를 갖는 단일 port 노드를 지원합니다. 따라서 하나의 `port` 자식과 그 안의 `endpoint` 자식을 두어야 합니다. 연결 표현은 `Documentation/devicetree/bindings/media/video-interfaces.txt`의 바인딩을 따릅니다.
OV2659 RAW Bayer 연결
24-61예제의 VPFE는 `0x48328000` 레지스터 영역, GIC SPI 50, 기본 및 절전 핀 상태를 사용합니다. VPFE endpoint는 인터페이스 0인 Raw Bayer, 8비트 버스, active-low HSYNC·VSYNC를 설정하고 `ov2659_1`과 양방향 `remote-endpoint`로 연결됩니다.
I2C1의 OV2659 센서는 주소 `0x30`을 사용하며 8비트 버스와 12MHz MCLK를 지정합니다.
vpfe: vpfe@f0034000 {
compatible = "ti,am437x-vpfe";
reg = <0x48328000 0x2000>;
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&vpfe_pins_default>;
pinctrl-1 = <&vpfe_pins_sleep>;
port {
#address-cells = <1>;
#size-cells = <0>;
vpfe0_ep: endpoint {
remote-endpoint = <&ov2659_1>;
ti,am437x-vpfe-interface = <0>;
bus-width = <8>;
hsync-active = <0>;
vsync-active = <0>;
};
};
};
i2c1: i2c@4802a000 {
ov2659@30 {
compatible = "ti,ov2659";
reg = <0x30>;
port {
ov2659_1: endpoint {
remote-endpoint = <&vpfe0_ep>;
bus-width = <8>;
mclk-frequency = <12000000>;
};
};
};
요약과 해설
ti-am437x-vpfe.txt:1-61인터페이스 번호와 OV2659 센서의 8비트·12MHz 연결 예제를 설명합니다.