요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Device-Tree bindings for tilcdc DRM generic panel output driver
Required properties:
- compatible: value should be "ti,tilcdc,panel".
- panel-info: configuration info to configure LCDC correctly for the panel
- ac-bias: AC Bias Pin Frequency
- ac-bias-intrpt: AC Bias Pin Transitions per Interrupt
- dma-burst-sz: DMA burst size
- bpp: Bits per pixel
- fdd: FIFO DMA Request Delay
- sync-edge: Horizontal and Vertical Sync Edge: 0=rising 1=falling
- sync-ctrl: Horizontal and Vertical Sync: Control: 0=ignore
- raster-order: Raster Data Order Select: 1=Most-to-least 0=Least-to-most
- fifo-th: DMA FIFO threshold
- display-timings: typical videomode of lcd panel. Multiple video modes
can be listed if the panel supports multiple timings, but the 'native-mode'
should be the preferred/default resolution. Refer to
Documentation/devicetree/bindings/display/panel/display-timing.txt for display
timing binding details.
Optional properties:
- backlight: phandle of the backlight device attached to the panel
- enable-gpios: GPIO pin to enable or disable the panel
Recommended properties:
- pinctrl-names, pinctrl-0: the pincontrol settings to configure
muxing properly for pins that connect to TFP410 device
Example:
/* Settings for CDTech_S035Q01 / LCD3 cape: */
lcd3 {
compatible = "ti,tilcdc,panel";
pinctrl-names = "default";
pinctrl-0 = <&bone_lcd3_cape_lcd_pins>;
backlight = <&backlight>;
enable-gpios = <&gpio3 19 0>;
panel-info {
ac-bias = <255>;
ac-bias-intrpt = <0>;
dma-burst-sz = <16>;
bpp = <16>;
fdd = <0x80>;
sync-edge = <0>;
sync-ctrl = <1>;
raster-order = <0>;
fifo-th = <0>;
};
display-timings {
native-mode = <&timing0>;
timing0: 320x240 {
hactive = <320>;
vactive = <240>;
hback-porch = <21>;
hfront-porch = <58>;
hsync-len = <47>;
vback-porch = <11>;
vfront-porch = <23>;
vsync-len = <2>;
clock-frequency = <8000000>;
hsync-active = <0>;
vsync-active = <0>;
};
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
tilcdc generic panel 설정
1-28tilcdc DRM generic panel output driver의 Device Tree 바인딩입니다. 필수 `compatible`은 `ti,tilcdc,panel`이고 `panel-info`는 panel에 맞게 LCDC를 구성하는 정보를 담습니다.
`panel-info`의 `ac-bias`는 AC Bias pin frequency, `ac-bias-intrpt`는 interrupt당 AC Bias pin transition 수, `dma-burst-sz`는 DMA burst size, `bpp`는 bits per pixel, `fdd`는 FIFO DMA request delay입니다.
`sync-edge`는 horizontal/vertical sync edge로 0은 rising, 1은 falling입니다. `sync-ctrl`은 sync control로 0이면 ignore, `raster-order`는 raster data order로 1이면 most-to-least, 0이면 least-to-most입니다. `fifo-th`는 DMA FIFO threshold입니다.
`display-timings`에는 LCD panel의 대표 video mode를 둡니다. 여러 timing을 나열할 수 있지만 `native-mode`는 preferred/default resolution이어야 합니다. 자세한 형식은 `Documentation/devicetree/bindings/display/panel/display-timing.txt`를 참조합니다.
선택 `backlight`는 panel backlight device의 phandle, `enable-gpios`는 panel enable/disable pin입니다. 권장 `pinctrl-names`, `pinctrl-0`은 TFP410 연결 pin의 mux를 올바르게 구성합니다.
LCDC의 DMA, pixel, sync와 raster 동작을 결정하는 설정을 정리합니다.
CDTech 320x240 panel 예제
29-66CDTech_S035Q01/LCD3 cape 예제는 default pinctrl, backlight와 GPIO3 pin 19의 enable을 사용합니다. Panel-info는 AC bias 255, DMA burst 16, 16 bpp, FIFO DMA delay `0x80`, rising sync edge와 least-to-most raster order를 설정합니다.
Native timing은 320x240, pixel clock 8 MHz입니다. Horizontal porch는 back 21/front 58, hsync 47이고 vertical porch는 back 11/front 23, vsync 2이며 두 sync active 값은 0입니다.
/* Settings for CDTech_S035Q01 / LCD3 cape: */
lcd3 {
compatible = "ti,tilcdc,panel";
pinctrl-names = "default";
pinctrl-0 = <&bone_lcd3_cape_lcd_pins>;
backlight = <&backlight>;
enable-gpios = <&gpio3 19 0>;
panel-info {
ac-bias = <255>;
ac-bias-intrpt = <0>;
dma-burst-sz = <16>;
bpp = <16>;
fdd = <0x80>;
sync-edge = <0>;
sync-ctrl = <1>;
raster-order = <0>;
fifo-th = <0>;
};
display-timings {
native-mode = <&timing0>;
timing0: 320x240 {
hactive = <320>;
vactive = <240>;
hback-porch = <21>;
hfront-porch = <58>;
hsync-len = <47>;
vback-porch = <11>;
vfront-porch = <23>;
vsync-len = <2>;
clock-frequency = <8000000>;
hsync-active = <0>;
vsync-active = <0>;
};
};
};
예제의 active 영역, porch, sync와 clock을 구조화합니다.
요약과 해설
panel.txt:1-66LCDC DMA/sync 설정과 320x240 native timing 예제를 설명합니다.