NXP i.MX SoC Family/i.MX Linux Reference Manual

i.MX Linux Reference Manual (IMXLXRM) - Security - Display Content Integrity Checker (DCIC)

까마귀75 2023. 1. 13. 13:53
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
반응형