6.2 Display Overview
6.2.1 Introduction
i.MX 디스플레이 시스템은 디스플레이 인터페이스와 그래픽 처리에 대한 비디오 데이터 이동을 최적화하려고 디스플레이 컨트롤러를 사용한다. 각 디스플레이 컨트롤러는 Linux 드라이버를 통하여 프레임 버퍼나 DRM의 디스플레이 프레임워크로 구현된다. 경우에 따라 디스플레이 컨트롤러에는 보안 비디오 파이프라인을 보장하는 인증이 포함된다. 다른 디스플레이 컨트롤러에는 전송 중에 스케일링, 디인터레이싱, 타일링과 색상 변환을 위한 추가 기능이 포함된다. 다중 디스플레이를 지원하는 i.MX 8의 경우 함께 작동하는 두 개의 컨트롤러를 사용하여 수행된다. 이 장에서는 i.MX 디스플레이 컨트롤러와 인터페이스에 대한 높은 수준의 개요를 제공하고 프레임버퍼와 DRM 디스플레이 드라이버의 차이점을 제공한다. 아래의 디스플레이 컨트롤러가 사용된다.
- IPU
- PXP
- eLCDIF
- DPU
- DCSS - i.MX 8M 전용
디스플레이 인터페이스는 디스플레이 컨트롤러, 디스플레이 패널과 경우에 따라 인코더 디스플레이 브리지에 연결된다. 아래의 디스플레이 인터페이스가 지원된다.
- EPDC - EInk(electronic ink) 디스플레이 지원
- Parallel - LCD 디스플레이 지원
- LVDS - LVDS 디스플레이 지원
- HDMI - 온칩과 외부 HDMI 모두 지원
- Display Port - eDP 패널 지원
- MIPI-DSI - MIPI 디스플레이 지원
주의
아날로그 디스플레이는 더 이상 지원하지 않는다. 아날로그 인터페이스는 i.MX37과 i.MX 5 제품군에서 사용된다.
아래의 HDMI 디스플레이 브리지/인코더가 지원된다.
- Parallel to HDMI - Silicon Image si902x 사용
- LVDS to HDMI - ITE it6263 사용
- MIPI-DSI to HDMI - Analog Devices adv7535 사용
각 SoC는 서로 다른 디스플레이 기능을 지원한다. 이들 중 일부는 arch/arm/boot/dts와 arch/arm64/boot/dts에 있는 디바이스 트리에서 구성된다. 아래에 대한 자세한 내용은 하드웨어 레퍼런스 설명서를 참조한다.
- Throughput (디지털 데이터 전송으로 처리하는 양)
- - 출력 수
- - 픽셀 클럭 속도
- - 최대 디스플레이 수 및 해당 해상도
- - 60Hz 해상도
- Interface
- - Parallel - 포트 수 및 비트 크기
- - LVDS - lane 수 및 채널
- - MIPI-DSI - 포트 수, lane 채널 및 속도
- Processing
- - 고해상도 디스플레이를 포함한 빠른 결합
- - 오프라인 결합 속도
6.2.2 Frame Buffer
프레임 버퍼 드라이버는 i.MX 6와 i.MX 7에서 지원되지만, i.MX 8에서는 지원되지 않는다. 프레임 버퍼 드라이버는 drivers/video/fbdev에 있는 imxfb 드라이버를 사용하여 지원된다. 프레임 버퍼 커널 fbdev 구조는 kernel.org에서 여기나 여기에 정의되어 있다. i.MX V4LS에 대한 자세한 내용은 V4L2 장을 참조한다.
패널은 video/fbdev/mxc 폴더에 있는 TRULY와 EInk 패널용 프레임 버퍼 드라이버로 지원된다. imx_v7_deconfig에서 PANEL을 검색해서 지원되는 패널인지 확인한다. Trully 패널은 MIPI DSI 인터페이스만 지원된다. EInk 패널은 EPDC 인터페이스만 지원된다.
6.2.3 Direct Render Model (DRM)
DRM(Direct Render Model)은 i.MX용으로 사용되는 새로운 디스플레이 드라이버이다. i.MX DRM 드라이버는 drivers/gpu/drm/imx에 있다. 다른 컴포넌트에는 GPU, DCSS와 같은 DRM 인터페이스가 있다. DRM 프레임워크는 kernel.org의 여기에 문서화되어 있다.
i.MX DRM 드라이버는 아래 드라이버로 구현된다.
- 하드웨어 라이브러리 지원 파일
- Core DRM 드라이버
- 하드웨어 종속 DRM 드라이버
- HDP HDMI/Display Port를 지원하는 HDMI DRM 드라이버
DRM 드라이버는 i.MX 8QuadMax와 i.MX 8QuadXPlus에서는 DPU를 사용하고 i.MX 8M Quad와 i.MX 8M Mini에서는 LCDIF를 사용한다.
i.MX DRM 프레임워크에는 driver/gpu/panel에 있는 패널 드라이버도 포함된다. 지원되는 DRM 패널은 Simple과 Raydium RM67191이다.
6.2.4 Display Resolution
디스플레이 해상도 계산은 다음 요소로 사용한다.
- 프레임 너비
- 프레임 높이
- 프레임 속도 (fps)
- Blanking 인터벌 - 디스플레이의 DS에서 최대 35%(1.35) 제공 - 최소값 사용
픽셀 클럭[MHz]은 프레임 너비 x 프레임 높이 x 프레임 속도 x Blanking 인터벌에 따라 계산된다.
고려해야 할 사항은 다음과 같다.
- 데이커 형식 (클럭당 픽셀)
- 디스플레이의 소스 클럭 (DI#_CLK_EXT 비트
- 디스플레이 컨트롤러의 부하
6.2.5 Authentication
디스플레이 인증은 디스플레이 콘텐츠가 손상되지 않도록 하드웨어 처리를 허용한다. 이것은 인증 하드웨어를 사용하는 디스플레이 인증 CRC를 통해 수행된다. 이 하드웨어는 i.MX 6의 프레임 버퍼 디스플레이 프레임워크와 i.MX 8의 DRM 디스플레이 프레임워크에 구현된 DPU를 통해 통합된 DCIC이다.
디스플레이 인증 CRC는 아래 SoC에서 지원된다.
- i.MX 6 Solox는 1개의 디스플레이에 대해 DCIC를 사용한 인증을 지원한다.
- i.MX 6 QuadPlus/Quad/Dual은 2개의 디스플레이에 대해 DCIC를 사용한 인증을 지원한다.
- i.MX 8 QaudXPlus는 DPU를 사용하여 2개의 디스플레이를 인증할 수 있다.
- i.MX 8 QuadPlus는 DPU를 사용하여 i.MX 8 QuadMax에 대해 4개의 디스플레이를 인증할 수 있다.
6.2.6 Tiling
하드웨어를 통한 tiling은 최적화된 비디오 데이터 디스플레이를 지원한다. 이것은 다른 하드웨어 블럭을 통해 구현된다. 최신 기능은 i.MX 6 QuadPlus, i.MX 8 QuadMax와 i.MX 8 QuadXPlus에서 성능을 향상시키는 DRP(Display Prefetch Resolve)이다.
tiling 지원은 아래와 같이 활성화한다.
- i.MX 6 Quad/Dual은 VDOA(Video Data Order Adapter)를 사용한 tiling을 지원한다.
- i.MX 6 QuadPlus는 tiling VDOA와 DRP(Display Prefetch Resolve) 버전 1을 모두 지원한다.
- i.MX 8 QuadXPlus와 i.MX 8 QuadMax는 DPR(Display Prefetch Resolve) 버전 2를 사용하여 tiling을 지원한다.
'NXP i.MX SoC Family > i.MX Linux Reference Manual' 카테고리의 다른 글
i.MX Linux Reference Manual - Video - Video for Linux 2 (V4L2) (0) | 2022.05.20 |
---|---|
i.MX Linux Reference Manual - Video - Display Interfaces (0) | 2022.05.09 |
i.MX Linux Reference Manual - Video - Display Controllers (0) | 2022.04.26 |
i.MX Linux Reference Manual - Video - Capture Overview (0) | 2022.04.22 |
i.MX Linux Reference Manual - Video (0) | 2022.04.22 |