AM64x MCU+ SDK  10.00.00

Introduction

This file contains prototypes for APIs contained as a part of SCICLIENT as well as the structures of their arguments.

Go to the source code of this file.

Data Structures

struct  Sciclient_ReqPrm_t
 Input parameters for Sciclient_service function. More...
 
struct  Sciclient_RespPrm_t
 Output parameters for Sciclient_service function. More...
 

Macros

#define TISCI_BIT(n)   (1UL << (n))
 
#define DEVGRP_ALL   (0x00U)
 
#define DEVGRP_00   ((0x01U) << 0U)
 
#define DEVGRP_01   ((0x01U) << 1U)
 
#define DEVGRP_02   ((0x01U) << 2U)
 
#define DEVGRP_03   ((0x01U) << 3U)
 
#define DEVGRP_04   ((0x01U) << 4U)
 
#define DEVGRP_05   ((0x01U) << 5U)
 
#define DEVGRP_06   ((0x01U) << 6U)
 
#define DEVGRP_DMSC   ((0x01U) << 7U)
 
#define DEVGRP_DMSC_ALL   (0xFFU)
 
#define MAX_NUM_DEVGRPS   (8U)
 

Typedefs

typedef uint8_t devgrp_t
 Defines the sysfw DEVGRP type. This is meant to be used in code or data structures that require distinction of devgrps. More...
 
typedef uint8_t domgrp_t
 Defines the sysfw DOMGRP type. This is meant to be used in code or data structures that require distinction of domgrps. More...
 

Functions

int32_t Sciclient_loadFirmware (const uint32_t *pSciclient_firmware)
 Loads the DMSC firmware. This is typically called by SBL. Load firmware does not require calling the Sciclient_init function. More...
 
int32_t Sciclient_waitForBootNotification (void)
 Waits for boot notification from SYSFW. More...
 
int32_t Sciclient_init (uint32_t coreId)
 This API is called once for registering interrupts and creating semaphore handles to be able to talk to the firmware. The application should assume that the firmware is pre-loaded while calling the Sciclient_init API. The firmware should have been loaded either via GEL or via the SBL prior to the application calling the Sciclient_init. If a void pointer is passed, default values will be used, else the values passed will be used. More...
 
int32_t Sciclient_service (const Sciclient_ReqPrm_t *pReqPrm, Sciclient_RespPrm_t *pRespPrm)
 This API allows communicating with the System firmware which can be called to perform various functions in the system. Core sciclient function for transmitting payload and recieving the response. The caller is expected to allocate memory for the input request parameter (Refer Sciclient_ReqPrm_t). This involves setting the message type being communicated to the firmware, the response flags, populate the payload of the message based on the inputs in the files sciclient_fmwPmMessages.h,sciclient_fmwRmMessages.h, sciclient_fmwSecMessages.h and sciclient_fmwCommonMessages.h. Since the payload in considered a stream of bytes in this API, the caller should also populate the size of this stream in reqPayloadSize. The timeout is used to determine for what amount of iterations the API would wait for their operation to complete. More...
 
int32_t Sciclient_deinit (void)
 De-initialization of sciclient. This de-initialization is specific to the application. It only de-initializes the semaphores, interrupts etc. which are initialized in Sciclient_init. It does not de-initialize the system firmware. More...
 
int32_t Sciclient_abiCheck (void)
 API to verify that firmware ABI matches the supported ABI. More...
 
int32_t Sciclient_triggerSecHandover (void)
 API to trigger security handover. More...
 
int32_t Sciclient_getVersionCheck (uint32_t doLog)
 API to send a get version command to SYSFW and optionally log the results to console. More...
 
uint32_t Sciclient_getSelfDevIdCore (void)