← Documents Documentation/devicetree/bindings/display/hisilicon/dw-dsi.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

HiSilicon DesignWare DSI Host

Hi6220 ADE와 external bridge 사이의 DSI host graph 바인딩입니다.

Source pathDocumentation/devicetree/bindings/display/hisilicon/dw-dsi.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

dw-dsi.txt:1-72

Input port 0과 output port 1의 SoC 및 board endpoint 연결을 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Device-Tree bindings for DesignWare DSI Host Controller v1.20a driver
2
3 A DSI Host Controller resides in the middle of display controller and external
4 HDMI converter or panel.
5
6 Required properties:
7 - compatible: value should be "hisilicon,hi6220-dsi".
8 - reg: physical base address and length of dsi controller's registers.
9 - clocks: contains APB clock phandle + clock-specifier pair.
10 - clock-names: should be "pclk".
11 - ports: contains DSI controller input and output sub port.
12 The input port connects to ADE output port with the reg value "0".
13 The output port with the reg value "1", it could connect to panel or
14 any other bridge endpoints.
15 See Documentation/devicetree/bindings/graph.txt for more device graph info.
16
17 A example of HiKey board hi6220 SoC and board specific DT entry:
18 Example:
19
20 SoC specific:
21 dsi: dsi@f4107800 {
22 compatible = "hisilicon,hi6220-dsi";
23 reg = <0x0 0xf4107800 0x0 0x100>;
24 clocks = <&media_ctrl HI6220_DSI_PCLK>;
25 clock-names = "pclk";
26 status = "disabled";
27
28 ports {
29 #address-cells = <1>;
30 #size-cells = <0>;
31
32 /* 0 for input port */
33 port@0 {
34 reg = <0>;
35 dsi_in: endpoint {
36 remote-endpoint = <&ade_out>;
37 };
38 };
39 };
40 };
41
42
43 Board specific:
44 &dsi {
45 status = "ok";
46
47 ports {
48 /* 1 for output port */
49 port@1 {
50 reg = <1>;
51
52 dsi_out0: endpoint@0 {
53 remote-endpoint = <&adv7533_in>;
54 };
55 };
56 };
57 };
58
59 &i2c2 {
60 ...
61
62 adv7533: adv7533@39 {
63 ...
64
65 port {
66 adv7533_in: endpoint {
67 remote-endpoint = <&dsi_out0>;
68 };
69 };
70 };
71 };
72
73

3. 한국어 전문 번역

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

DesignWare DSI Host Controller v1.20a

1-16

DesignWare DSI Host Controller v1.20a 드라이버의 Device Tree 바인딩입니다. DSI host controller는 display controller와 외부 HDMI converter 또는 panel 사이에 위치합니다.

필수 `compatible` 값은 `hisilicon,hi6220-dsi`입니다. `reg`는 DSI controller register의 physical base address와 length이고, `clocks`는 APB clock의 phandle과 clock specifier 쌍이며 `clock-names`는 `pclk`여야 합니다.

`ports`는 DSI controller의 input 및 output sub-port를 포함합니다. `reg = <0>`인 input port는 ADE output port에 연결합니다. `reg = <1>`인 output port는 panel 또는 다른 bridge endpoint에 연결할 수 있습니다. 자세한 device graph 형식은 `Documentation/devicetree/bindings/graph.txt`를 따릅니다.

Hi6220 display graph
ADE outputade_out
DSI input port reg 0dsi_in
DesignWare DSI hostpclk
DSI output port reg 1dsi_out0
ADV7533 bridge / panelRemote endpoint

Graph endpoint가 ADE 출력에서 DSI host를 거쳐 외부 bridge 또는 panel로 이어집니다.

HiKey Hi6220 SoC DSI 입력 예제

17-41

HiKey board의 Hi6220 SoC 전용 예제입니다. DSI register 영역과 `HI6220_DSI_PCLK`를 선언하고 기본 상태를 `disabled`로 둡니다. Address cell 하나와 size cell 0을 사용하는 `ports` 아래에서 input `port@0`의 `dsi_in` endpoint를 `ade_out`에 연결합니다.

dsi: dsi@f4107800 {
        compatible = "hisilicon,hi6220-dsi";
        reg = <0x0 0xf4107800 0x0 0x100>;
        clocks = <&media_ctrl  HI6220_DSI_PCLK>;
        clock-names = "pclk";
        status = "disabled";

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

                /* 0 for input port */
                port@0 {
                        reg = <0>;
                        dsi_in: endpoint {
                                remote-endpoint = <&ade_out>;
                        };
                };
        };
};

HiKey board DSI 출력 예제

42-72

Board 전용 항목은 DSI를 `ok` 상태로 활성화하고 output `port@1`의 `dsi_out0` endpoint를 `adv7533_in`에 연결합니다. I2C2의 ADV7533 node는 반대 방향의 `remote-endpoint`로 `dsi_out0`을 가리켜 양방향 graph 관계를 완성합니다. 원문의 생략 표기 `...`도 그대로 보존합니다.

&dsi {
        status = "ok";

        ports {
                /* 1 for output port */
                port@1 {
                        reg = <1>;

                        dsi_out0: endpoint@0 {
                                remote-endpoint = <&adv7533_in>;
                        };
                };
        };
};

&i2c2 {
        ...

        adv7533: adv7533@39 {
                ...

                port {
                        adv7533_in: endpoint {
                                remote-endpoint = <&dsi_out0>;
                        };
                };
        };
};