RTEMS 6.1-rc5
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Enumerator | Variables
DCIC

Data Structures

struct  _dcic_config
 DCIC configuration. More...
 
struct  _dcic_region_config
 Region of interest (ROI) configuration. More...
 

Macros

#define DCIC_REGION_COUNT   DCIC_DCICRCS_COUNT
 
#define FSL_DCIC_DRIVER_VERSION   (MAKE_VERSION(2, 0, 3))
 DCIC driver version.
 
#define DCIC_CRC32_POLYNOMIAL   0x04C11DB7UL
 CRC32 calculation polynomial.
 
#define DCIC_CRC32_INIT_VALUE   0UL
 CRC32 calculation initialize value.
 
#define DCIC_REGION_MISMATCH_STATUS(region)   (1UL << (DCIC_DCICS_ROI_MATCH_STAT_SHIFT + (region)))
 ROI CRC32 value mismatch status.
 

Typedefs

typedef struct _dcic_config dcic_config_t
 DCIC configuration.
 
typedef struct _dcic_region_config dcic_region_config_t
 Region of interest (ROI) configuration.
 

Enumerations

enum  _DCIC_polarity_flags {
  kDCIC_VsyncActiveHigh = 0U , kDCIC_HsyncActiveHigh = 0U , kDCIC_DataEnableActiveHigh = 0U , kDCIC_DriveDataOnFallingClkEdge = 0U ,
  kDCIC_VsyncActiveLow = DCIC_DCICC_VSYNC_POL_MASK , kDCIC_HsyncActiveLow = DCIC_DCICC_HSYNC_POL_MASK , kDCIC_DataEnableActiveLow = DCIC_DCICC_DE_POL_MASK , kDCIC_DriveDataOnRisingClkEdge = DCIC_DCICC_CLK_POL_MASK
}
 DCIC display signal polarity flags . More...
 
enum  _DCIC_status_flags {
  kDCIC_FunctionalInterruptStatus = DCIC_DCICS_FI_STAT_MASK , kDCIC_ErrorInterruptStatus = DCIC_DCICS_EI_STAT_MASK , kDCIC_Region0MismatchStatus = DCIC_REGION_MISMATCH_STATUS(0U) , kDCIC_Region1MismatchStatus = DCIC_REGION_MISMATCH_STATUS(1U) ,
  kDCIC_Region2MismatchStatus = DCIC_REGION_MISMATCH_STATUS(2U) , kDCIC_Region3MismatchStatus = DCIC_REGION_MISMATCH_STATUS(3U) , kDCIC_Region4MismatchStatus = DCIC_REGION_MISMATCH_STATUS(4U) , kDCIC_Region5MismatchStatus = DCIC_REGION_MISMATCH_STATUS(5U) ,
  kDCIC_Region6MismatchStatus = DCIC_REGION_MISMATCH_STATUS(6U) , kDCIC_Region7MismatchStatus = DCIC_REGION_MISMATCH_STATUS(7U) , kDCIC_Region8MismatchStatus = DCIC_REGION_MISMATCH_STATUS(8U) , kDCIC_Region9MismatchStatus = DCIC_REGION_MISMATCH_STATUS(9U) ,
  kDCIC_Region10MismatchStatus = DCIC_REGION_MISMATCH_STATUS(10U) , kDCIC_Region11MismatchStatus = DCIC_REGION_MISMATCH_STATUS(11U) , kDCIC_Region12MismatchStatus = DCIC_REGION_MISMATCH_STATUS(12U) , kDCIC_Region13MismatchStatus = DCIC_REGION_MISMATCH_STATUS(13U) ,
  kDCIC_Region14MismatchStatus = DCIC_REGION_MISMATCH_STATUS(14U) , kDCIC_Region15MismatchStatus = DCIC_REGION_MISMATCH_STATUS(15U)
}
 Status flags. . More...
 
enum  _dcic_interrupt_enable { kDCIC_FunctionalInterruptEnable = DCIC_DCICIC_FI_MASK_MASK , kDCIC_ErrorInterruptEnable = DCIC_DCICIC_EI_MASK_MASK }
 Interrupts. . More...
 

Variables

bool _dcic_config::enableExternalSignal
 
uint8_t _dcic_config::polarityFlags
 
uint32_t _dcic_config::enableInterrupts
 
bool _dcic_region_config::lock
 
uint16_t _dcic_region_config::upperLeftX
 
uint16_t _dcic_region_config::upperLeftY
 
uint16_t _dcic_region_config::lowerRightX
 
uint16_t _dcic_region_config::lowerRightY
 
uint32_t _dcic_region_config::refCrc
 

Initialization and deinitialization

void DCIC_Init (DCIC_Type *base, const dcic_config_t *config)
 Initializes the DCIC.
 
void DCIC_Deinit (DCIC_Type *base)
 Deinitialize the DCIC.
 
void DCIC_GetDefaultConfig (dcic_config_t *config)
 Get the default configuration to initialize DCIC.
 

Region

void DCIC_EnableRegion (DCIC_Type *base, uint8_t regionIdx, const dcic_region_config_t *config)
 Enable the region of interest (ROI) with configuration.
 

Detailed Description

Enumeration Type Documentation

◆ _dcic_interrupt_enable

Interrupts. .

Enumerator
kDCIC_FunctionalInterruptEnable 

Interrupt when match results ready.

kDCIC_ErrorInterruptEnable 

Interrupt when there is a signature mismatch.

◆ _DCIC_polarity_flags

DCIC display signal polarity flags .

Enumerator
kDCIC_VsyncActiveHigh 

VSYNC active high.

kDCIC_HsyncActiveHigh 

HSYNC active high.

kDCIC_DataEnableActiveHigh 

Data enable line active high.

kDCIC_DriveDataOnFallingClkEdge 

Output data on rising clock edge, capture data on falling clock edge.

kDCIC_VsyncActiveLow 

VSYNC active low.

kDCIC_HsyncActiveLow 

HSYNC active low.

kDCIC_DataEnableActiveLow 

Data enable line active low.

kDCIC_DriveDataOnRisingClkEdge 

Output data on falling clock edge, capture data on rising clock edge.

◆ _DCIC_status_flags

Status flags. .

Enumerator
kDCIC_FunctionalInterruptStatus 

Asserted when match results ready.

kDCIC_ErrorInterruptStatus 

Asserted when there is a signature mismatch.

kDCIC_Region0MismatchStatus 

Region 0 CRC32 value mismatch.

kDCIC_Region1MismatchStatus 

Region 1 CRC32 value mismatch.

kDCIC_Region2MismatchStatus 

Region 2 CRC32 value mismatch.

kDCIC_Region3MismatchStatus 

Region 3 CRC32 value mismatch.

kDCIC_Region4MismatchStatus 

Region 4 CRC32 value mismatch.

kDCIC_Region5MismatchStatus 

Region 5 CRC32 value mismatch.

kDCIC_Region6MismatchStatus 

Region 6 CRC32 value mismatch.

kDCIC_Region7MismatchStatus 

Region 7 CRC32 value mismatch.

kDCIC_Region8MismatchStatus 

Region 8 CRC32 value mismatch.

kDCIC_Region9MismatchStatus 

Region 9 CRC32 value mismatch.

kDCIC_Region10MismatchStatus 

Region 10 CRC32 value mismatch.

kDCIC_Region11MismatchStatus 

Region 11 CRC32 value mismatch.

kDCIC_Region12MismatchStatus 

Region 12 CRC32 value mismatch.

kDCIC_Region13MismatchStatus 

Region 13 CRC32 value mismatch.

kDCIC_Region14MismatchStatus 

Region 14 CRC32 value mismatch.

kDCIC_Region15MismatchStatus 

Region 15 CRC32 value mismatch.

Function Documentation

◆ DCIC_Deinit()

void DCIC_Deinit ( DCIC_Type base)

Deinitialize the DCIC.

Disable the DCIC functions.

Parameters
baseDCIC peripheral base address.

◆ DCIC_EnableRegion()

void DCIC_EnableRegion ( DCIC_Type base,
uint8_t  regionIdx,
const dcic_region_config_t config 
)

Enable the region of interest (ROI) with configuration.

Enable the ROI with configuration. To change the configuration except reference CRC value, the region should be disabled first by DCIC_DisableRegion, then call this function again. The reference CRC value could be changed by DCIC_SetRegionRefCrc without disabling the region. If the configuration is locked, only the reference CRC value could be changed, the region size and position, enable status could not be changed until reset.

Parameters
baseDCIC peripheral base address.
regionIdxRegion index, from 0 to (DCIC_REGION_COUNT - 1).
configPointer to the configuration.

◆ DCIC_GetDefaultConfig()

void DCIC_GetDefaultConfig ( dcic_config_t config)

Get the default configuration to initialize DCIC.

The default configuration is:

config->enableExternalSignal = false;
config->enableInterrupts = 0;
@ kDCIC_DataEnableActiveLow
Definition: fsl_dcic.h:51
@ kDCIC_VsyncActiveLow
Definition: fsl_dcic.h:49
@ kDCIC_DriveDataOnFallingClkEdge
Definition: fsl_dcic.h:46
@ kDCIC_HsyncActiveLow
Definition: fsl_dcic.h:50
Definition: deflate.c:114
Parameters
configPointer to the configuration.

Get the default configuration to initialize DCIC.

The default configuration is:

config->polarityFlags = kDCIC_VsyncActiveLow | kDCIC_HsyncActiveLow | kDCIC_DataEnableActiveLow | kDCIC_DriveDataOnFallingClkEdge; config->enableExternalSignal = false; config->enableInterrupts = 0;

param config Pointer to the configuration.

◆ DCIC_Init()

void DCIC_Init ( DCIC_Type base,
const dcic_config_t config 
)

Initializes the DCIC.

This function resets DCIC registers to default value, then set the configurations. This function does not start the DCIC to work, application should call DCIC_DisableRegion to configure regions, then call DCIC_Enable to start the DCIC to work.

Parameters
baseDCIC peripheral base address.
configPointer to the configuration.

Variable Documentation

◆ enableExternalSignal

bool _dcic_config::enableExternalSignal

Enable the mismatch external signal. When enabled, the mismatch status could be monitored from the extern pin.

◆ enableInterrupts

uint32_t _dcic_config::enableInterrupts

Interrupts to enable, should be OR'ed of _dcic_interrupt_enable.

◆ lock

bool _dcic_region_config::lock

Lock the region configuration except reference CRC32 value setting.

◆ lowerRightX

uint16_t _dcic_region_config::lowerRightX

X of lower right corner. Range: 0 to 2^13-1.

◆ lowerRightY

uint16_t _dcic_region_config::lowerRightY

Y of lower right corner. Range: 0 to 2^12-1.

◆ polarityFlags

uint8_t _dcic_config::polarityFlags

Display signal polarity, logical OR'ed of _DCIC_polarity_flags.

◆ refCrc

uint32_t _dcic_region_config::refCrc

Reference CRC32 value.

◆ upperLeftX

uint16_t _dcic_region_config::upperLeftX

X of upper left corner. Range: 0 to 2^13-1.

◆ upperLeftY

uint16_t _dcic_region_config::upperLeftY

Y of upper left corner. Range: 0 to 2^12-1.