요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
* SM SM501
The SM SM501 is a LCD controller, with proper hardware, it can also
drive DVI monitors.
Required properties:
- compatible : should be "smi,sm501".
- reg : contain two entries:
- First entry: System Configuration register
- Second entry: IO space (Display Controller register)
- interrupts : SMI interrupt to the cpu should be described here.
Optional properties:
- mode : select a video mode:
<xres>x<yres>[-<bpp>][@<refresh>]
- edid : verbatim EDID data block describing attached display.
Data from the detailed timing descriptor will be used to
program the display controller.
- little-endian: available on big endian systems, to
set different foreign endian.
- big-endian: available on little endian systems, to
set different foreign endian.
Example for MPC5200:
display@1,0 {
compatible = "smi,sm501";
reg = <1 0x00000000 0x00800000
1 0x03e00000 0x00200000>;
interrupts = <1 1 3>;
mode = "640x480-32@60";
edid = [edid-data];
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
SM501 LCD/DVI controller 속성
1-23SM SM501은 LCD controller이며 적절한 hardware를 사용하면 DVI monitor도 구동할 수 있습니다. 필수 `compatible`은 `smi,sm501`입니다. `reg`의 첫 entry는 System Configuration register, 두 번째 entry는 Display Controller register가 있는 IO space입니다. `interrupts`에는 CPU로 전달되는 SMI interrupt를 기술합니다.
선택 `mode`는 `<xres>x<yres>[-<bpp>][@<refresh>]` 형식으로 video mode를 선택합니다. `edid`는 연결된 display를 설명하는 EDID data block 원문이며 detailed timing descriptor의 data로 display controller를 program합니다.
Big-endian system에서는 `little-endian`, little-endian system에서는 `big-endian`을 사용하여 native와 다른 foreign endian을 선택할 수 있습니다.
두 register 영역과 mode/EDID 및 endian 선택을 정리합니다.
MPC5200의 640x480 예제
24-32MPC5200 예제는 두 `reg` 영역, interrupt tuple `<1 1 3>`, `640x480-32@60` mode와 원문 EDID block을 사용합니다.
display@1,0 {
compatible = "smi,sm501";
reg = <1 0x00000000 0x00800000
1 0x03e00000 0x00200000>;
interrupts = <1 1 3>;
mode = "640x480-32@60";
edid = [edid-data];
};
요약과 해설
sm501fb.txt:1-32두 MMIO 영역과 MPC5200 640x480 mode 예제를 설명합니다.