PDK API Guide for J721E
Sciserver_SecureProxy Struct Reference

Detailed Description

Describes a Secure Proxy instance.

Parameters
baseaddr_cfg_rt- Base address of cfg_rt region
baseaddr_cfg_scfg- Base address of cfg_scfg region
baseaddr_src_target_data- Base address of src_target_data region
sproxy_target_hl- Sproxy Target_H/L pointing to RA FIFO offset The config of the SecProxy is such that it is given only the number of rings it was allocated and will error any thread that tries to use beyond that count. For example: MCU Navss that count is 30 rings, starting at 256 by default. So when you move the target base and attempt to access ring 256, this is why it fails as 256 > 30. It will probably work if you allocate the first 30 rings for SecProxy usage instead of starting at ring 256. If the RTL config had defined the full set of rings as available, 286, then this would work. So, we provide this as an address based on SoC integration.
sproxy_ring_index_base- Sproxy's ring ID configuration based on Target_L pointing to RA FIFO offset
num_threads- Number of secure proxy threads
ra_idx- Pointer to Ring accelerator used Index to soc_ring_accelerator_instances
buffer_idx- index to comm_memory_instances for the buffer to use
buffer_neg_offset- Negative offset(in bytes) to identify the start address of backing memory used for this instance. This offset is relative to the end address of the memory region. The offset values are intended to be constant for an SoC configuration even the end address of the region varies.
devgrp- sysfw devgrp that this instance belongs to

Data Fields

soc_phys_addr_t baseaddr_cfg_rt
 
soc_phys_addr_t baseaddr_cfg_scfg
 
soc_phys_addr_t baseaddr_src_target_data
 
soc_phys_addr_t sproxy_target_hl
 
uint16_t sproxy_ring_index_base
 
uint16_t sproxy_ring_index_max
 
uint16_t num_threads
 
uint8_t ra_idx
 
uint8_t buffer_idx
 
uint32_t buffer_neg_offset
 
devgrp_t devgrp
 

Field Documentation

◆ baseaddr_cfg_rt

soc_phys_addr_t Sciserver_SecureProxy::baseaddr_cfg_rt

◆ baseaddr_cfg_scfg

soc_phys_addr_t Sciserver_SecureProxy::baseaddr_cfg_scfg

◆ baseaddr_src_target_data

soc_phys_addr_t Sciserver_SecureProxy::baseaddr_src_target_data

◆ sproxy_target_hl

soc_phys_addr_t Sciserver_SecureProxy::sproxy_target_hl

◆ sproxy_ring_index_base

uint16_t Sciserver_SecureProxy::sproxy_ring_index_base

◆ sproxy_ring_index_max

uint16_t Sciserver_SecureProxy::sproxy_ring_index_max

◆ num_threads

uint16_t Sciserver_SecureProxy::num_threads

◆ ra_idx

uint8_t Sciserver_SecureProxy::ra_idx

◆ buffer_idx

uint8_t Sciserver_SecureProxy::buffer_idx

◆ buffer_neg_offset

uint32_t Sciserver_SecureProxy::buffer_neg_offset

◆ devgrp

devgrp_t Sciserver_SecureProxy::devgrp