RTEMS 6.1-rc5
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
Rdc

Data Structures

struct  _rdc_hardware_config
 RDC hardware configuration. More...
 
struct  _rdc_domain_assignment
 Master domain assignment. More...
 
struct  _rdc_periph_access_config
 Peripheral domain access permission configuration. More...
 
struct  _rdc_mem_access_config
 Memory region domain access control configuration. More...
 
struct  _rdc_mem_status
 Memory region access violation status. More...
 

Macros

#define FSL_RDC_DRIVER_VERSION   (MAKE_VERSION(2, 2, 0))
 
#define RDC_ACCESS_POLICY(domainID, policy)   (uint16_t)((uint16_t)(policy) << ((domainID)*2U))
 

Typedefs

typedef struct _rdc_hardware_config rdc_hardware_config_t
 RDC hardware configuration.
 
typedef struct _rdc_domain_assignment rdc_domain_assignment_t
 Master domain assignment.
 
typedef struct _rdc_periph_access_config rdc_periph_access_config_t
 Peripheral domain access permission configuration.
 
typedef struct _rdc_mem_access_config rdc_mem_access_config_t
 Memory region domain access control configuration.
 
typedef struct _rdc_mem_status rdc_mem_status_t
 Memory region access violation status.
 

Enumerations

enum  _rdc_interrupts { kRDC_RestoreCompleteInterrupt = RDC_INTCTRL_RCI_EN_MASK }
 RDC interrupts. More...
 
enum  _rdc_flags { kRDC_PowerDownDomainOn = RDC_STAT_PDS_MASK }
 RDC status. More...
 
enum  _rdc_access_policy { kRDC_NoAccess = 0 , kRDC_WriteOnly = 1 , kRDC_ReadOnly = 2 , kRDC_ReadWrite = 3 }
 Access permission policy. More...
 

Functions

void RDC_Init (RDC_Type *base)
 Initializes the RDC module.
 
void RDC_Deinit (RDC_Type *base)
 De-initializes the RDC module.
 
void RDC_GetHardwareConfig (RDC_Type *base, rdc_hardware_config_t *config)
 Gets the RDC hardware configuration.
 
void RDC_SetMasterDomainAssignment (RDC_Type *base, rdc_master_t master, const rdc_domain_assignment_t *domainAssignment)
 Set master domain assignment.
 
void RDC_GetDefaultMasterDomainAssignment (rdc_domain_assignment_t *domainAssignment)
 Get default master domain assignment.
 
void RDC_SetPeriphAccessConfig (RDC_Type *base, const rdc_periph_access_config_t *config)
 Set peripheral access policy.
 
void RDC_GetDefaultPeriphAccessConfig (rdc_periph_access_config_t *config)
 Get default peripheral access policy.
 
void RDC_SetMemAccessConfig (RDC_Type *base, const rdc_mem_access_config_t *config)
 Set memory region access policy.
 
void RDC_GetDefaultMemAccessConfig (rdc_mem_access_config_t *config)
 Get default memory region access policy.
 
void RDC_GetMemViolationStatus (RDC_Type *base, rdc_mem_t mem, rdc_mem_status_t *status)
 Get the memory region violation status.
 

Detailed Description

Typedef Documentation

◆ rdc_mem_access_config_t

Memory region domain access control configuration.

Note that when setting the baseAddress and endAddress, should be aligned to the region resolution, see rdc_mem_t definitions.

Enumeration Type Documentation

◆ _rdc_access_policy

Access permission policy.

Enumerator
kRDC_NoAccess 

Could not read or write.

kRDC_WriteOnly 

Write only.

kRDC_ReadOnly 

Read only.

kRDC_ReadWrite 

Read and write.

◆ _rdc_flags

enum _rdc_flags

RDC status.

Enumerator
kRDC_PowerDownDomainOn 

Power down domain is ON.

◆ _rdc_interrupts

RDC interrupts.

Enumerator
kRDC_RestoreCompleteInterrupt 

Interrupt generated when the RDC has completed restoring state to a recently re-powered memory regions.

Function Documentation

◆ RDC_Deinit()

void RDC_Deinit ( RDC_Type base)

De-initializes the RDC module.

This function disables the RDC clock.

Parameters
baseRDC peripheral base address.

brief De-initializes the RDC module.

This function disables the RDC clock.

param base RDC peripheral base address.

◆ RDC_GetDefaultMasterDomainAssignment()

void RDC_GetDefaultMasterDomainAssignment ( rdc_domain_assignment_t domainAssignment)

Get default master domain assignment.

The default configuration is:

assignment->domainId = 0U;
assignment->lock = 0U;
Parameters
domainAssignmentPointer to the assignment.

brief Get default master domain assignment

The default configuration is: code assignment->domainId = 0U; assignment->lock = 0U; endcode

param domainAssignment Pointer to the assignment.

◆ RDC_GetDefaultMemAccessConfig()

void RDC_GetDefaultMemAccessConfig ( rdc_mem_access_config_t config)

Get default memory region access policy.

The default configuration is:

config->lock = false;
config->baseAddress = 0;
config->endAddress = 0;
config->policy = RDC_ACCESS_POLICY(0, kRDC_ReadWrite) |
RDC_ACCESS_POLICY(1, kRDC_ReadWrite) |
RDC_ACCESS_POLICY(2, kRDC_ReadWrite) |
RDC_ACCESS_POLICY(3, kRDC_ReadWrite);
@ kRDC_ReadWrite
Definition: fsl_rdc.h:72
Definition: deflate.c:114
Parameters
configPointer to the policy configuration.

brief Get default memory region access policy.

The default configuration is: code config->lock = false; config->baseAddress = 0; config->endAddress = 0; config->policy = RDC_ACCESS_POLICY(0, kRDC_ReadWrite) | RDC_ACCESS_POLICY(1, kRDC_ReadWrite) | RDC_ACCESS_POLICY(2, kRDC_ReadWrite) | RDC_ACCESS_POLICY(3, kRDC_ReadWrite); endcode

param config Pointer to the policy configuration.

◆ RDC_GetDefaultPeriphAccessConfig()

void RDC_GetDefaultPeriphAccessConfig ( rdc_periph_access_config_t config)

Get default peripheral access policy.

The default configuration is:

config->lock = false;
config->enableSema = false;
config->policy = RDC_ACCESS_POLICY(0, kRDC_ReadWrite) |
RDC_ACCESS_POLICY(1, kRDC_ReadWrite) |
RDC_ACCESS_POLICY(2, kRDC_ReadWrite) |
RDC_ACCESS_POLICY(3, kRDC_ReadWrite);
Parameters
configPointer to the policy configuration.

brief Get default peripheral access policy.

The default configuration is: code config->lock = false; config->enableSema = false; config->policy = RDC_ACCESS_POLICY(0, kRDC_ReadWrite) | RDC_ACCESS_POLICY(1, kRDC_ReadWrite) | RDC_ACCESS_POLICY(2, kRDC_ReadWrite) | RDC_ACCESS_POLICY(3, kRDC_ReadWrite); endcode

param config Pointer to the policy configuration.

◆ RDC_GetHardwareConfig()

void RDC_GetHardwareConfig ( RDC_Type base,
rdc_hardware_config_t config 
)

Gets the RDC hardware configuration.

This function gets the RDC hardware configurations, including number of bus masters, number of domains, number of memory regions and number of peripherals.

Parameters
baseRDC peripheral base address.
configPointer to the structure to get the configuration.

brief Gets the RDC hardware configuration.

This function gets the RDC hardware configurations, including number of bus masters, number of domains, number of memory regions and number of peripherals.

param base RDC peripheral base address. param config Pointer to the structure to get the configuration.

◆ RDC_GetMemViolationStatus()

void RDC_GetMemViolationStatus ( RDC_Type base,
rdc_mem_t  mem,
rdc_mem_status_t status 
)

Get the memory region violation status.

The first access violation is captured. Subsequent violations are ignored until the status register is cleared. Contents are cleared upon reading the register. Clearing of contents occurs only when the status is read by the memory region's associated domain ID(s).

Parameters
baseRDC peripheral base address.
memWhich memory region to get.
statusThe returned status.

brief Get the memory region violation status.

The first access violation is captured. Subsequent violations are ignored until the status register is cleared. Contents are cleared upon reading the register. Clearing of contents occurs only when the status is read by the memory region's associated domain ID(s).

param base RDC peripheral base address. param mem Which memory region to get. param status The returned status.

◆ RDC_Init()

void RDC_Init ( RDC_Type base)

Initializes the RDC module.

This function enables the RDC clock.

Parameters
baseRDC peripheral base address.

brief Initializes the RDC module.

This function enables the RDC clock.

param base RDC peripheral base address.

◆ RDC_SetMasterDomainAssignment()

void RDC_SetMasterDomainAssignment ( RDC_Type base,
rdc_master_t  master,
const rdc_domain_assignment_t domainAssignment 
)

Set master domain assignment.

Parameters
baseRDC peripheral base address.
masterWhich master to set.
domainAssignmentPointer to the assignment.

brief Set master domain assignment

param base RDC peripheral base address. param master Which master to set. param domainAssignment Pointer to the assignment.

◆ RDC_SetMemAccessConfig()

void RDC_SetMemAccessConfig ( RDC_Type base,
const rdc_mem_access_config_t config 
)

Set memory region access policy.

Note that when setting the baseAddress and endAddress in config, should be aligned to the region resolution, see rdc_mem_t definitions.

Parameters
baseRDC peripheral base address.
configPointer to the policy configuration.

brief Set memory region access policy.

Note that when setting the baseAddress and endAddress in p config, should be aligned to the region resolution, see rdc_mem_t definitions.

param base RDC peripheral base address. param config Pointer to the policy configuration.

◆ RDC_SetPeriphAccessConfig()

void RDC_SetPeriphAccessConfig ( RDC_Type base,
const rdc_periph_access_config_t config 
)

Set peripheral access policy.

Parameters
baseRDC peripheral base address.
configPointer to the policy configuration.

brief Set peripheral access policy.

param base RDC peripheral base address. param config Pointer to the policy configuration.