AM64x MCU+ SDK  08.02.00
APIs for Region based address translation (RAT) module

Introduction

For more details and example usage, see Region based Address Translate

Data Structures

struct  AddrTranslateP_RegionConfig
 Region config structure, this is used by SysConfig and not to be used by end-users directly. More...
 
struct  AddrTranslateP_Params
 Parameters for AddrTranslateP_init, this is used by SysConfig and not to be used by end-users directly. More...
 

Functions

void AddrTranslateP_Params_init (AddrTranslateP_Params *params)
 Set default value for address translate parameters. More...
 
void AddrTranslateP_init (AddrTranslateP_Params *params)
 Initialize Address translate sub-system, called by SysConfig, not to be called by end users. More...
 
void * AddrTranslateP_getLocalAddr (uint64_t systemAddr)
 Translate from 48b system address to a CPU address as seen via the RAT module. More...
 

Enumerations

enum  AddrTranslateP_RegionSize {
  AddrTranslateP_RegionSize_1 = 0x0, AddrTranslateP_RegionSize_2, AddrTranslateP_RegionSize_4, AddrTranslateP_RegionSize_8,
  AddrTranslateP_RegionSize_16, AddrTranslateP_RegionSize_32, AddrTranslateP_RegionSize_64, AddrTranslateP_RegionSize_128,
  AddrTranslateP_RegionSize_256, AddrTranslateP_RegionSize_512, AddrTranslateP_RegionSize_1K, AddrTranslateP_RegionSize_2K,
  AddrTranslateP_RegionSize_4K, AddrTranslateP_RegionSize_8K, AddrTranslateP_RegionSize_16K, AddrTranslateP_RegionSize_32K,
  AddrTranslateP_RegionSize_64K, AddrTranslateP_RegionSize_128K, AddrTranslateP_RegionSize_256K, AddrTranslateP_RegionSize_512K,
  AddrTranslateP_RegionSize_1M, AddrTranslateP_RegionSize_2M, AddrTranslateP_RegionSize_4M, AddrTranslateP_RegionSize_8M,
  AddrTranslateP_RegionSize_16M, AddrTranslateP_RegionSize_32M, AddrTranslateP_RegionSize_64M, AddrTranslateP_RegionSize_128M,
  AddrTranslateP_RegionSize_256M, AddrTranslateP_RegionSize_512M, AddrTranslateP_RegionSize_1G, AddrTranslateP_RegionSize_2G,
  AddrTranslateP_RegionSize_4G
}
 Enum's to represent different possible region size for the address translate module. More...
 

Macros

#define AddrTranslateP_MAX_REGIONS   (16u)
 Maximum regions in the address translate module. More...
 

Macro Definition Documentation

◆ AddrTranslateP_MAX_REGIONS

#define AddrTranslateP_MAX_REGIONS   (16u)

Maximum regions in the address translate module.

Enumeration Type Documentation

◆ AddrTranslateP_RegionSize

Enum's to represent different possible region size for the address translate module.

Enumerator
AddrTranslateP_RegionSize_1 
AddrTranslateP_RegionSize_2 
AddrTranslateP_RegionSize_4 
AddrTranslateP_RegionSize_8 
AddrTranslateP_RegionSize_16 
AddrTranslateP_RegionSize_32 
AddrTranslateP_RegionSize_64 
AddrTranslateP_RegionSize_128 
AddrTranslateP_RegionSize_256 
AddrTranslateP_RegionSize_512 
AddrTranslateP_RegionSize_1K 
AddrTranslateP_RegionSize_2K 
AddrTranslateP_RegionSize_4K 
AddrTranslateP_RegionSize_8K 
AddrTranslateP_RegionSize_16K 
AddrTranslateP_RegionSize_32K 
AddrTranslateP_RegionSize_64K 
AddrTranslateP_RegionSize_128K 
AddrTranslateP_RegionSize_256K 
AddrTranslateP_RegionSize_512K 
AddrTranslateP_RegionSize_1M 
AddrTranslateP_RegionSize_2M 
AddrTranslateP_RegionSize_4M 
AddrTranslateP_RegionSize_8M 
AddrTranslateP_RegionSize_16M 
AddrTranslateP_RegionSize_32M 
AddrTranslateP_RegionSize_64M 
AddrTranslateP_RegionSize_128M 
AddrTranslateP_RegionSize_256M 
AddrTranslateP_RegionSize_512M 
AddrTranslateP_RegionSize_1G 
AddrTranslateP_RegionSize_2G 
AddrTranslateP_RegionSize_4G 

Function Documentation

◆ AddrTranslateP_Params_init()

void AddrTranslateP_Params_init ( AddrTranslateP_Params params)

Set default value for address translate parameters.

Parameters
params[out] Structure initialized with default parameters

◆ AddrTranslateP_init()

void AddrTranslateP_init ( AddrTranslateP_Params params)

Initialize Address translate sub-system, called by SysConfig, not to be called by end users.

Parameters
params[in] Initialization parameters

◆ AddrTranslateP_getLocalAddr()

void* AddrTranslateP_getLocalAddr ( uint64_t  systemAddr)

Translate from 48b system address to a CPU address as seen via the RAT module.

Note
If no mapping is found then lower 32b are returned as the local address, i.e no translation is done for 32b address, and address truncation for > 32b input addresses.
All drivers MUST call this API to translate peripheral MMR base addresses to CPU visible base addr. It is recommended to call this once to get the base address during driver module init.
Parameters
systemAddr[in] 48b system address or SOC view address
Returns
void * CPU view or local address