AM64x MCU+ SDK  08.02.00

Detailed Description

Configures a Navigator Subsystem ring.

Configures the non-real-time registers of a Navigator Subsystem ring. The ring index must be assigned to the host defined in the TISCI header via the RM board configuration resource assignment range list.

Parameters
hdrStandard TISCI header
valid_paramsBitfield defining validity of ring configuration parameters. The ring configuration fields are not valid, and will not be used for ring configuration, if their corresponding valid bit is zero. Valid bit usage: 0 - Valid bit for tisci_msg_rm_ring_cfg_req::addr_lo 1 - Valid bit for tisci_msg_rm_ring_cfg_req::addr_hi 2 - Valid bit for tisci_msg_rm_ring_cfg_req::count 3 - Valid bit for tisci_msg_rm_ring_cfg_req::mode 4 - Valid bit for tisci_msg_rm_ring_cfg_req::size 5 - Valid bit for tisci_msg_rm_ring_cfg_req::order_id 6 - Valid bit for tisci_msg_rm_ring_cfg_req::virtid
nav_idSoC device ID of Navigator Subsystem where ring is located
indexRing index.
addr_lo32 LSBs of ring base address to be programmed into the ring's RING_BA_LO register.

This field is only valid if TISCI_MSG_VALUE_RM_RING_ADDR_LO_VALID is set in tisci_msg_rm_ring_cfg_req::valid_params.

Parameters
addr_hi16 MSBs of ring base address to be programmed into the ring's RING_BA_HI register. Only the 16 LSBs of addr_hi are used when programming RING_BA_HI, the upper 16 bits are discarded.

This field is only valid if TISCI_MSG_VALUE_RM_RING_ADDR_HI_VALID is set in tisci_msg_rm_ring_cfg_req::valid_params.

Parameters
countNumber of ring elements to be programmed into the size field of the ring's RING_SIZE register.

This field is only valid if TISCI_MSG_VALUE_RM_RING_COUNT_VALID is set in tisci_msg_rm_ring_cfg_req::valid_params.

Parameters
modeRing mode to be programmed into the qmode field of the ring's RING_SIZE register. Can be set to: TISCI_MSG_VALUE_RM_RING_MODE_RING TISCI_MSG_VALUE_RM_RING_MODE_MESSAGE TISCI_MSG_VALUE_RM_RING_MODE_CREDENTIALS TISCI_MSG_VALUE_RM_RING_MODE_QM

This field is only valid if TISCI_MSG_VALUE_RM_RING_MODE_VALID is set in tisci_msg_rm_ring_cfg_req::valid_params.

Parameters
sizeEncoded ring element size to be programmed into the elsize field of the ring's RING_SIZE register. To calculate the encoded size use the formula (log2(size_bytes) - 2), where "size_bytes" cannot be greater than 256 bytes. Can be set to: TISCI_MSG_VALUE_RM_RING_SIZE_4B TISCI_MSG_VALUE_RM_RING_SIZE_8B TISCI_MSG_VALUE_RM_RING_SIZE_16B TISCI_MSG_VALUE_RM_RING_SIZE_32B TISCI_MSG_VALUE_RM_RING_SIZE_64B TISCI_MSG_VALUE_RM_RING_SIZE_128B TISCI_MSG_VALUE_RM_RING_SIZE_256B

This field is only valid if TISCI_MSG_VALUE_RM_RING_SIZE_VALID is set in tisci_msg_rm_ring_cfg_req::valid_params.

Parameters
order_idRing bus order ID value to be programmed into the orderid field of the ring's RING_ORDERID register. When valid, the replace field of the ring's RING_ORDERID register will be set to 1 so that the programmed order ID will be used.

This field is only valid if TISCI_MSG_VALUE_RM_RING_ORDER_ID_VALID is set in tisci_msg_rm_ring_cfg_req::valid_params.

Parameters
virtidRing virt ID value to be programmed into the virtid field of the ring's RING_CONTROL2 ISC region register. This field is only valid if TISCI_MSG_VALUE_RM_RING_VIRTID_VALID is set in tisci_msg_rm_ring_cfg_req::valid_params.
aselRing ASEL (address select) value to be set into the ASEL field of the ring's RING_BA_HI register. This field is only valid if TISCI_MSG_VALUE_RM_RING_ASEL_VALID is set in tisci_msg_rm_ring_cfg_req::valid_params. This field is not supported on some SoCs. On SoCs that do not support this field the input is quietly ignored even if the valid bit is set.

Data Fields

struct tisci_header hdr
 
uint32_t valid_params
 
uint16_t nav_id
 
uint16_t index
 
uint32_t addr_lo
 
uint32_t addr_hi
 
uint32_t count
 
uint8_t mode
 
uint8_t size
 
uint8_t order_id
 
uint16_t virtid
 
uint8_t asel
 

Field Documentation

◆ hdr

struct tisci_header tisci_msg_rm_ring_cfg_req::hdr

◆ valid_params

uint32_t tisci_msg_rm_ring_cfg_req::valid_params

◆ nav_id

uint16_t tisci_msg_rm_ring_cfg_req::nav_id

◆ index

uint16_t tisci_msg_rm_ring_cfg_req::index

◆ addr_lo

uint32_t tisci_msg_rm_ring_cfg_req::addr_lo

◆ addr_hi

uint32_t tisci_msg_rm_ring_cfg_req::addr_hi

◆ count

uint32_t tisci_msg_rm_ring_cfg_req::count

◆ mode

uint8_t tisci_msg_rm_ring_cfg_req::mode

◆ size

uint8_t tisci_msg_rm_ring_cfg_req::size

◆ order_id

uint8_t tisci_msg_rm_ring_cfg_req::order_id

◆ virtid

uint16_t tisci_msg_rm_ring_cfg_req::virtid

◆ asel

uint8_t tisci_msg_rm_ring_cfg_req::asel