Jump to main content

# 3.1.4 Peripheral Library Interface

The ICM peripheral library provides the following interfaces:

Table 3-1.ICM Functions
Name | Description
--- | ---
ICM_Initialize | Initializes the ICM peripheral
ICM_Reset | Resets the ICM peripheral
ICM_GetStatus | Get if ICM status
ICM_Enable | Enables ICM
ICM_Disable | Disables ICM
ICM_GetConfiguration | Gets the current configuration of the ICM
ICM_SetConfiguration | Sets a new configuration of the ICM
ICM_SetMonitorMode | Set Monitor mode
ICM_EnableRegionMonitor | Enables a memory region of ICM
ICM_DisableRegionMonitor | Disables a memory region of ICM
ICM_GetRegionDescriptor | Gets the region descriptor of a memory region
ICM_SetRegionDescriptor | Sets the region descriptor of a memory region
ICM_SetRegionDescriptorData | Sets data configuration of a memory region
ICM_GetTransferSize | Gets the transfer size to configure data of a memory region
ICM_SetHashAreaAddress | Sets the Hash area start address
ICM_SetUserInitialHashValue | Sets the user initial hash value
ICM_EnableInterrupt | Enables interrupt flags
ICM_DisableInterrupt | Disables interrupt flags
ICM_GetIStatus | Gets the interrupt flags status
ICM_CallbackRegister | Sets a callback function that is called when interrupt is raised

Table 3-2.ICM Types
Name | Type | Description
--- | --- | ---
ICM_REGION_ID | Enum | Identifies the memory region
ICM_INTERRUPT_SOURCE | Enum | Identifies the interrupt source
ICM_ALGO | Enum | Identifies the SHA algorithm
ICM_ACCESS | Enum | Identifies the memory access type
ICM_SECONDARY_LIST | Struct | Describes secondary list used in ICM descriptors
ICM_REGION_BITFIELD | Struct | Describes detailed configuration of a memory region descriptor
ICM_REGION_DESCRIPTOR | Struct | Describes the configuration of a memory region descriptor
ICM_CONFIG | Struct | Describes the global configuration of ICM peripheral

Rev: E