← Documents Documentation/devicetree/bindings/media/ti-am437x-vpfe.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

TI AM437x VPFE Camera

AM437x VPFE의 RAW Bayer·BT.656·YCbCr 병렬 입력과 단일 endpoint 바인딩입니다.

Source pathDocumentation/devicetree/bindings/media/ti-am437x-vpfe.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

ti-am437x-vpfe.txt:1-61

인터페이스 번호와 OV2659 센서의 8비트·12MHz 연결 예제를 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Texas Instruments AM437x CAMERA (VPFE)
2 --------------------------------------
3
4 The Video Processing Front End (VPFE) is a key component for image capture
5 applications. The capture module provides the system interface and the
6 processing capability to connect RAW image-sensor modules and video decoders
7 to the AM437x device.
8
9 Required properties:
10 - compatible: must be "ti,am437x-vpfe"
11 - reg: physical base address and length of the registers set for the device;
12 - interrupts: should contain IRQ line for the VPFE;
13 - ti,am437x-vpfe-interface: can be one of the following,
14 0 - Raw Bayer Interface.
15 1 - 8 Bit BT656 Interface.
16 2 - 10 Bit BT656 Interface.
17 3 - YCbCr 8 Bit Interface.
18 4 - YCbCr 16 Bit Interface.
19
20 VPFE supports a single port node with parallel bus. It should contain one
21 'port' child node with child 'endpoint' node. Please refer to the bindings
22 defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
23
24 Example:
25 vpfe: vpfe@f0034000 {
26 compatible = "ti,am437x-vpfe";
27 reg = <0x48328000 0x2000>;
28 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
29
30 pinctrl-names = "default", "sleep";
31 pinctrl-0 = <&vpfe_pins_default>;
32 pinctrl-1 = <&vpfe_pins_sleep>;
33
34 port {
35 #address-cells = <1>;
36 #size-cells = <0>;
37
38 vpfe0_ep: endpoint {
39 remote-endpoint = <&ov2659_1>;
40 ti,am437x-vpfe-interface = <0>;
41 bus-width = <8>;
42 hsync-active = <0>;
43 vsync-active = <0>;
44 };
45 };
46 };
47
48 i2c1: i2c@4802a000 {
49
50 ov2659@30 {
51 compatible = "ti,ov2659";
52 reg = <0x30>;
53
54 port {
55 ov2659_1: endpoint {
56 remote-endpoint = <&vpfe0_ep>;
57 bus-width = <8>;
58 mclk-frequency = <12000000>;
59 };
60 };
61 };
62

3. 한국어 전문 번역

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

AM437x VPFE 카메라 입력

1-8

Video Processing Front End(VPFE)는 영상 캡처 애플리케이션의 핵심 구성 요소입니다. 캡처 모듈은 RAW 이미지 센서 모듈과 비디오 디코더를 AM437x 장치에 연결하는 시스템 인터페이스 및 처리 기능을 제공합니다.

AM437x VPFE 캡처 경로
RAW Bayer sensor 또는 video decoderParallel endpoint
8/10-bit BT.656 또는 YCbCrAM437x VPFE
VPFE interruptCaptured image data

센서 또는 디코더의 병렬 영상 버스를 단일 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-23

VPFE는 병렬 버스를 갖는 단일 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>;
                        };
                };
};