PDK API Guide for J721E
|
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_ConfigPrms_t |
Initialization parameters for sciclient. Pointer to this is passed to Sciclient_init. More... | |
struct | Sciclient_ReqPrm_t |
Input parameters for Sciclient_service function. More... | |
struct | Sciclient_RespPrm_t |
Output parameters for Sciclient_service function. More... | |
struct | Sciclient_DefaultBoardCfgInfo_t |
Input 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 | SCICLIENT_COMMON_X509_HEADER_ADDR (0x41cffb00) |
#define | SCISERVER_COMMON_X509_HEADER_ADDR SCICLIENT_COMMON_X509_HEADER_ADDR |
#define | MAX_NUM_DEVGRPS (8U) |
#define | SCICLIENT_FT_PASS (0xA5A5U) |
#define | SCICLIENT_FT_FAIL (0x5A5AU) |
Sciclient Service API Operation Mode | |
Sciclient Service API Operation Mode. The different types of modes supported are: | |
#define | SCICLIENT_SERVICE_OPERATION_MODE_POLLED (0U) |
#define | SCICLIENT_SERVICE_OPERATION_MODE_INTERRUPT (1U) |
Sciclient Service API Operation Timeout | |
#define | SCICLIENT_SERVICE_WAIT_FOREVER (0xFFFFFFFFU) |
#define | SCICLIENT_SERVICE_NO_WAIT (0x0U) |
Typedefs | |
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... | |
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... | |
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_init (const Sciclient_ConfigPrms_t *pCfgPrms) |
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. Only first Sciclient_init call configuration will take effect, subsequent calls will return pass witout overwriting the previous configuration. 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) |
int32_t | Sciclient_getDefaultBoardCfgInfo (Sciclient_DefaultBoardCfgInfo_t *pBoardCfgInfo) |
API to get the default board config info. More... | |
int32_t | Sciclient_configPrmsInit (Sciclient_ConfigPrms_t *pCfgPrms) |
Sciclient_ConfigPrms_t structure init function. More... | |
void | Sciclient_TisciMsgSetAckResp (struct tisci_header *hdr) |
Send the Response in Ack. Used only with Sciserver or Sciclient Direct. More... | |
void | Sciclient_TisciMsgSetNakResp (struct tisci_header *hdr) |
Send the Response in NAK. Used only with Sciserver or Sciclient Direct. More... | |
int32_t | Sciclient_boardCfgPrepHeader (uint8_t *pCommonHeader, uint8_t *pBoardCfgHeader, const Sciclient_BoardCfgPrms_t *pInPmPrms, const Sciclient_BoardCfgPrms_t *pInRmPrms) |
Prepare the header for the board configuration. This API is typically only used by SBL where it will prepare the headers for the sciserver to come and then read the board configurations for PM and RM. This will set up the headers which Sciserver will look to read the board configuration which the SBL leaves behind after boot. The Sciserver app will then send the configs for board configuration based on this. More... | |
int32_t | Sciclient_boardCfgParseHeader (uint8_t *pCommonHeader, Sciclient_BoardCfgPrms_t *pInPmPrms, Sciclient_BoardCfgPrms_t *pInRmPrms) |
Parse the header left behind by the SBL in the SCISERVER. This is used in the SCISERVER App to read the left behind header and configuration paramter. More... | |