AM62x MCU+ SDK  08.05.00
Region based Address Translate

Features Supported

  • APIs to setup region based address translation using RAT HW on supported SOCs
  • APIs to translate 48b SOC view system addr to 32b local CPU view address.
  • When no address mapping is specified, no translation is done.

Features NOT Supported

NA

Important Usage Guidelines

  • The translation API AddrTranslateP_getLocalAddr is meant to be used to translate SOC specified peripheral MMR base addresses to local CPU accesible addresses, within device drivers. The API internally searches through a small array to find the address translations, hence to be efficient, this API should typically be called once during driver init to find the local address that CPU should use.
  • This module is needed for M4F to access peripherals on the MainSS side of the SOC.

Example Usage

Include the below file to access the APIs,

Example to translate a system address to local CPU address,

uint64_t systemAddr = 0x029060000ul;
void *localAddr;
localAddr = AddrTranslateP_getLocalAddr(systemAddr);
DebugP_log("System Addr:%x => Local Address:%x\n", systemAddr, localAddr);

API

APIs for Region based address translation (RAT) module

DebugP_log
#define DebugP_log(format,...)
Function to log a string to the enabled console.
Definition: DebugP.h:211
AddrTranslateP_getLocalAddr
void * AddrTranslateP_getLocalAddr(uint64_t systemAddr)
Translate from 48b system address to a CPU address as seen via the RAT module.
DebugP.h
AddrTranslateP.h