728x90
반응형
8.2 Display Content Integrity Checker (DCIC)
8.2.1 Introduction
DCIC의 목표는 디스플레이로 전송된 안전에 중요한 정보가 손상되지 않았는지 확인하는 것이다.
DCIC에는 아래와 같은 기능이 있다:
- 최대 148.5MHz의 픽셀 클럭
- Display Interface 컨트롤 신호의 구성 가능한 극성(polarity)
- 24비트 필섹 데이터 버스
- 위치와 크기를 구성할 수 있는 최대 16개의 직사각형 ROI
- 각 ROI에 대한 독립적인 CRC32 서명 계산
- 외부 컨트롤러 불일치 표시 신호
8.2.2 Source Code Structure
Table 88. DCIC Driver Files
File | Description |
---|---|
drivers/video/fbdev/mxc/mxc_dcic.c | DCIC 드라이버 소스 코드 |
include/uapi/linux/mxc_dcic.h | DCIC User Space Header |
8.2.3 Menu Configuration Options
메뉴 구성에서 아래 모듈을 활성화한다:
- Device Drivers -> Graphics support -> MXC DCIC
8.2.4 DTS Configuration
dcic_id = <0>; /* DCIC device index 0-dcic1, i-dcic2 */
dcic_mux = "dcic-lcdif1"; /* DCIC input select */
Table 89. DCIC Input Select
Module | i.MX 6SoloX | i.MX 6Dual/6Quad |
---|---|---|
DCIC1 | dcic_lvds dcic_lcdif1 |
dcic-ipu0-di1 dcic-lvds0 dcic-lvds1 dcic-hdmi |
DCIC2 | dcic_lvds dcic_lcdif2 |
dcic-ipu0-di0/dcic-ipu1-di0 dcic-lvds0 dcic-lvds1 dcic-mipi_dpi |
8.2.5 IOCTLs Functions
DCIC 드라이버는 아래 IOCTL을 지원한다:
- DCIC_IOC_CONFIG_DCIC : DCIC 입력 CLK, VSYNC, HSYNC 그리고 데이터 신호 극성을 구성한다.
- DCIC_IOC_CONFIG_ROI : ROI 블럭 크기와 레퍼런스 서명을 구성한다.
- DCIC_IOC_GET_RESULT : ROI 계산 서명 결과를 가져온다.
8.2.6 Structures
struct roi_params {
unsigned int roi_n; /* ROI index */
unsigned int ref_sig; /* Reference CRC32 */
unsigned int start_y; /* start vertical lines of ROI */
unsigned int start_x; /* start horizon lines of ROI */
unsigned int end_y; /* end vertical lines of ROI */
unsigned int end_x; /* end horizon lines of ROI */
char freeze; /* state of ROI */
};
8.2.7 DCIC CRC Calculation Functions
이 유닛 테스트에는 레퍼런스 서명을 계산하는 네 가지 함수가 있다:
crc32_calc_18of24bit() /* CRC calculate 18 bit of 24 */
crc32_calc_24bit() /* CRC calculate 24 */
crc32_calc_24of16bit() /* CRC calculate 24 bit of 16 */
crc32_calc_18of16bit() /* CRC calculate 18 bit of 16 */
DCIC는 디스플레이 버스 폭에 따라 CRC를 계산하지만, 디스플레이 버스 폭은 픽셀당 바이트 수(bpp)와 항상 일치하지 않으며, 위의 네 가지 함수는 서로 다른 디스플레이 버스 폭과 bpps를 다룰 수 있다.
728x90
반응형