AM263Px MCU+ SDK: SOC

| AM263Px MCU+ SDK 26.00.00 |

SOC

The SOC driver provides API to configure SOC specific features like clocks.

# Features Supported

- API to enable/disable a module clock
- API to set clock frequency for module
- Generic utility API like get CPU clock, get core name string, control module MMR lock/unlock API
- API's to configure all the SOC and Time Sync XBAR's
- Address Translation APIs for all the R5F cores
- SOC Software Warm Reset APIs. Please refer "Reset" chapter in techical reference manual for more details.

# SysConfig Features

Note
  It is strongly recommend to use SysConfig where it is available instead of using direct SW API calls. This will help simplify the SW application and also catch common mistakes early in the development cycle.

- SOC driver is integrated with each of the drivers. User need not perform any explicit configuration for this driver
- The Input for every XBAR output instance can be configured through SysConfig (Input-Signals going into the XBAR, Instance-Each output signal from the XBAR)
- Refer to the following examples on how to configure XBAR through SysConfig - EPWM HR duty cycle, ECAP APWM mode, EQEP frequency measurement
- XBAR outputs routed to other XBAR's get automatically configured when input is selected for the end XBAR

Sample XBAR Configuration

- XBAR configuration also possible from the SysConfig module to which it is connected. For example, DMA Trigger XBAR can be configured from EDMA module.

# Features NOT Supported

NA

# Important Usage Guidelines

- Most of these APIs are already integrated with SysConfig tool and the generated code does the required call to enable a module, set the required clock and so on. User need to use these APIs in their application only for exceptional scenarios.

# Example Usage

Include the below file to access the APIs

#include <drivers/soc.h>

Get Core Name String

const char *coreName;
coreName = SOC_getCoreName(CSL_CORE_ID_R5FSS0_0);
DebugP_log("Core name is: %s\r\n", coreName);

Get CPU Clock Frequency

uint64_t cpuClockRate;
cpuClockRate = SOC_getSelfCpuClk();
DebugP_log("CPU Clock Frequency: %u\r\n", cpuClockRate);

# API

APIs for SOC Specific Functions

APIs for SOC Reset and Clock Functions

APIs for SOC Xbars

CSL_CORE_ID_R5FSS0_0
#define CSL_CORE_ID_R5FSS0_0
Definition: cslr_soc_defines.h:146
DebugP_log
#define DebugP_log(format,...)
Function to log a string to the enabled console.
Definition: DebugP.h:235
SOC_getSelfCpuClk
uint64_t SOC_getSelfCpuClk(void)
Get the clock frequency in Hz of the CPU on which the driver is running.
SOC_getCoreName
const char * SOC_getCoreName(uint16_t coreId)
Convert a core ID to a user readable name.