Documentation/devicetree/bindings/media/pxa-camera.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Marvell PXA Camera Host

PXA QCI의 MCLK output과 8-bit parallel camera endpoint 바인딩입니다.

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

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약과 해설

pxa-camera.txt:1-42

50MHz MCLK와 MT9M111 active-low sync 예제를 설명합니다.

2. 영어 원문 전체

번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.

원문 전체 펼치기
1 Marvell PXA camera host interface
2
3 Required properties:
4 - compatible: Should be "marvell,pxa270-qci"
5 - reg: register base and size
6 - interrupts: the interrupt number
7 - any required generic properties defined in video-interfaces.txt
8
9 Optional properties:
10 - clocks: input clock (see clock-bindings.txt)
11 - clock-output-names: should contain the name of the clock driving the
12 sensor master clock MCLK
13 - clock-frequency: host interface is driving MCLK, and MCLK rate is this rate
14
15 Example:
16
17 pxa_camera: pxa_camera@50000000 {
18 compatible = "marvell,pxa270-qci";
19 reg = <0x50000000 0x1000>;
20 interrupts = <33>;
21
22 clocks = <&pxa2xx_clks 24>;
23 clock-names = "ciclk";
24 clock-frequency = <50000000>;
25 clock-output-names = "qci_mclk";
26
27
28 port {
29 #address-cells = <1>;
30 #size-cells = <0>;
31
32 /* Parallel bus endpoint */
33 qci: endpoint@0 {
34 reg = <0>; /* Local endpoint # */
35 remote-endpoint = <&mt9m111_1>;
36 bus-width = <8>; /* Used data lines */
37 hsync-active = <0>; /* Active low */
38 vsync-active = <0>; /* Active low */
39 pclk-sample = <1>; /* Rising */
40 };
41 };
42 };
43

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

Marvell PXA camera host

1-14

Marvell PXA camera host interface의 필수 `compatible`은 `marvell,pxa270-qci`, `reg`는 register base와 크기, `interrupts`는 interrupt number입니다. 그 밖에 `video-interfaces.txt`가 정의한 필요한 generic property도 제공합니다.

선택적인 `clocks`는 `clock-bindings.txt`의 input clock입니다. `clock-output-names`는 sensor master clock MCLK를 구동하는 clock 이름이고, host interface가 MCLK를 직접 구동하면 `clock-frequency`가 그 rate입니다.

PXA QCI parallel capture
QCI input clockPXA camera host
qci_mclk 50MHzMT9M111 sensor
8-bit parallel dataQCI endpoint
HSYNC/VSYNC low, PCLK risingCapture timing

Host가 sensor MCLK를 출력하고 8-bit parallel endpoint에서 active-low sync를 sampling합니다.

50MHz MT9M111 연결 예제

15-42

예제 host는 `0x50000000`의 0x1000-byte register region과 interrupt 33을 사용합니다. PXA clock 24를 `ciclk`로 받고 50MHz `qci_mclk`를 출력합니다.

Parallel endpoint 0은 MT9M111의 `mt9m111_1`을 가리키며 8-bit data bus, active-low HSYNC·VSYNC, rising-edge PCLK sample을 선언합니다.

pxa_camera: pxa_camera@50000000 {
        compatible = "marvell,pxa270-qci";
        reg = <0x50000000 0x1000>;
        interrupts = <33>;

        clocks = <&pxa2xx_clks 24>;
        clock-names = "ciclk";
        clock-frequency = <50000000>;
        clock-output-names = "qci_mclk";


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

                /* Parallel bus endpoint */
                qci: endpoint@0 {
                        reg = <0>;                /* Local endpoint # */
                        remote-endpoint = <&mt9m111_1>;
                        bus-width = <8>;        /* Used data lines */
                        hsync-active = <0>;        /* Active low */
                        vsync-active = <0>;        /* Active low */
                        pclk-sample = <1>;        /* Rising */
                };
        };
};