Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
|
|
4.2.99 |
Public APIs for the TISCI driver. More...
#include <zephyr/device.h>
Go to the source code of this file.
Data Structures | |
struct | tisci_version_info |
version information structure More... | |
struct | tisci_msg_fwl_region |
struct | tisci_msg_fwl_owner |
Request and Response for firewall owner change. More... | |
struct | tisci_msg_rm_udmap_tx_ch_cfg |
Configures a Navigator Subsystem UDMAP transmit channel. More... | |
struct | tisci_msg_rm_udmap_rx_ch_cfg |
Configures a Navigator Subsystem UDMAP receive channel. More... | |
struct | tisci_irq_set_req |
Request to set up an interrupt route. More... | |
struct | tisci_irq_release_req |
Request to release interrupt peripheral resources. More... |
Functions | |
int | tisci_cmd_get_revision (const struct device *dev, struct tisci_version_info *ver) |
Get the revision information of the TI SCI firmware. | |
int | tisci_cmd_get_clock_state (const struct device *dev, uint32_t dev_id, uint8_t clk_id, uint8_t *programmed_state, uint8_t *current_state) |
Get the state of a clock. | |
int | tisci_set_clock_state (const struct device *dev, uint32_t dev_id, uint8_t clk_id, uint32_t flags, uint8_t state) |
Set the state of a clock. | |
int | tisci_cmd_clk_is_on (const struct device *dev, uint32_t dev_id, uint8_t clk_id, bool *req_state, bool *curr_state) |
Check if the clock is ON. | |
int | tisci_cmd_clk_is_off (const struct device *dev, uint32_t dev_id, uint8_t clk_id, bool *req_state, bool *curr_state) |
Check if the clock is OFF. | |
int | tisci_cmd_clk_is_auto (const struct device *dev, uint32_t dev_id, uint8_t clk_id, bool *req_state) |
Check if the clock is being auto-managed. | |
int | tisci_cmd_clk_get_freq (const struct device *dev, uint32_t dev_id, uint8_t clk_id, uint64_t *freq) |
Get the current frequency of a clock. | |
int | tisci_cmd_clk_set_freq (const struct device *dev, uint32_t dev_id, uint8_t clk_id, uint64_t min_freq, uint64_t target_freq, uint64_t max_freq) |
Set a frequency for a clock. | |
int | tisci_cmd_clk_get_match_freq (const struct device *dev, uint32_t dev_id, uint8_t clk_id, uint64_t min_freq, uint64_t target_freq, uint64_t max_freq, uint64_t *match_freq) |
Get a matching frequency for a clock. | |
int | tisci_cmd_clk_set_parent (const struct device *dev, uint32_t dev_id, uint8_t clk_id, uint8_t parent_id) |
Set the parent clock for a clock. | |
int | tisci_cmd_clk_get_parent (const struct device *dev, uint32_t dev_id, uint8_t clk_id, uint8_t *parent_id) |
Get the parent clock for a clock. | |
int | tisci_cmd_clk_get_num_parents (const struct device *dev, uint32_t dev_id, uint8_t clk_id, uint8_t *num_parents) |
Get the number of parent clocks for a clock. | |
int | tisci_cmd_get_clock (const struct device *dev, uint32_t dev_id, uint8_t clk_id, bool needs_ssc, bool can_change_freq, bool enable_input_term) |
Get control of a clock from TI SCI. | |
int | tisci_cmd_idle_clock (const struct device *dev, uint32_t dev_id, uint8_t clk_id) |
Idle a clock that is under control of TI SCI. | |
int | tisci_cmd_put_clock (const struct device *dev, uint32_t dev_id, uint8_t clk_id) |
Release a clock from control back to TI SCI. | |
int | tisci_set_device_state (const struct device *dev, uint32_t dev_id, uint32_t flags, uint8_t state) |
Set the state of a device. | |
int | tisci_set_device_state_no_wait (const struct device *dev, uint32_t dev_id, uint32_t flags, uint8_t state) |
Set the state of a device without waiting for a response. | |
int | tisci_get_device_state (const struct device *dev, uint32_t dev_id, uint32_t *clcnt, uint32_t *resets, uint8_t *p_state, uint8_t *c_state) |
Get the state of a device. | |
int | tisci_cmd_get_device (const struct device *dev, uint32_t dev_id) |
Request exclusive access to a device managed by TISCI. | |
int | tisci_cmd_get_device_exclusive (const struct device *dev, uint32_t dev_id) |
int | tisci_cmd_idle_device (const struct device *dev, uint32_t dev_id) |
Command to idle a device managed by TISCI. | |
int | tisci_cmd_idle_device_exclusive (const struct device *dev, uint32_t dev_id) |
int | tisci_cmd_put_device (const struct device *dev, uint32_t dev_id) |
Command to release a device managed by TISCI. | |
int | tisci_cmd_dev_is_valid (const struct device *dev, uint32_t dev_id) |
Check if a device ID is valid. | |
int | tisci_cmd_dev_get_clcnt (const struct device *dev, uint32_t dev_id, uint32_t *count) |
Get the context loss counter for a device. | |
int | tisci_cmd_dev_is_idle (const struct device *dev, uint32_t dev_id, bool *r_state) |
Check if the device is requested to be idle. | |
int | tisci_cmd_dev_is_stop (const struct device *dev, uint32_t dev_id, bool *r_state, bool *curr_state) |
Check if the device is requested to be stopped. | |
int | tisci_cmd_dev_is_on (const struct device *dev, uint32_t dev_id, bool *r_state, bool *curr_state) |
Check if the device is requested to be ON. | |
int | tisci_cmd_dev_is_trans (const struct device *dev, uint32_t dev_id, bool *curr_state) |
Check if the device is currently transitioning. | |
int | tisci_cmd_set_device_resets (const struct device *dev, uint32_t dev_id, uint32_t reset_state) |
Set resets for a device managed by TISCI. | |
int | tisci_cmd_get_device_resets (const struct device *dev, uint32_t dev_id, uint32_t *reset_state) |
Get reset state for a device managed by TISCI. | |
int | tisci_get_resource_range (const struct device *dev, uint32_t dev_id, uint8_t subtype, uint8_t s_host, uint16_t *range_start, uint16_t *range_num) |
Get a range of resources assigned to a host. | |
int | tisci_cmd_get_resource_range (const struct device *dev, uint32_t dev_id, uint8_t subtype, uint16_t *range_start, uint16_t *range_num) |
Get a range of resources assigned to the host. | |
int | tisci_cmd_get_resource_range_from_shost (const struct device *dev, uint32_t dev_id, uint8_t subtype, uint8_t s_host, uint16_t *range_start, uint16_t *range_num) |
Get a range of resources assigned to a specified host. | |
int | tisci_cmd_proc_request (const struct device *dev, uint8_t proc_id) |
Command to request a physical processor control. | |
int | tisci_cmd_proc_release (const struct device *dev, uint8_t proc_id) |
Command to release a physical processor control. | |
int | tisci_cmd_proc_handover (const struct device *dev, uint8_t proc_id, uint8_t host_id) |
Command to handover a physical processor control to a host in the processor's access control list. | |
int | tisci_cmd_set_proc_boot_cfg (const struct device *dev, uint8_t proc_id, uint64_t bootvector, uint32_t config_flags_set, uint32_t config_flags_clear) |
Command to set the processor boot configuration flags. | |
int | tisci_cmd_set_proc_boot_ctrl (const struct device *dev, uint8_t proc_id, uint32_t control_flags_set, uint32_t control_flags_clear) |
Command to set the processor boot control flags. | |
int | tisci_cmd_proc_auth_boot_image (const struct device *dev, uint64_t *image_addr, uint32_t *image_size) |
Command to authenticate and load the image, then set the processor configuration flags. | |
int | tisci_cmd_get_proc_boot_status (const struct device *dev, uint8_t proc_id, uint64_t *bv, uint32_t *cfg_flags, uint32_t *ctrl_flags, uint32_t *sts_flags) |
Command to get the processor boot status. | |
int | tisci_proc_wait_boot_status_no_wait (const struct device *dev, uint8_t proc_id, uint8_t num_wait_iterations, uint8_t num_match_iterations, uint8_t delay_per_iteration_us, uint8_t delay_before_iterations_us, uint32_t status_flags_1_set_all_wait, uint32_t status_flags_1_set_any_wait, uint32_t status_flags_1_clr_all_wait, uint32_t status_flags_1_clr_any_wait) |
Helper function to wait for a processor boot status without requesting or waiting for a response. | |
int | tisci_cmd_proc_shutdown_no_wait (const struct device *dev, uint8_t proc_id) |
Command to shutdown a core without requesting or waiting for a response. | |
int | cmd_set_board_config_using_msg (const struct device *dev, uint16_t msg_type, uint64_t addr, uint32_t size) |
Set board configuration using a specified message type. | |
int | tisci_cmd_ring_config (const struct device *dev, 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) |
Configure a RA ring. | |
int | tisci_cmd_sys_reset (const struct device *dev) |
Request a system reset. | |
int | tisci_cmd_query_msmc (const struct device *dev, uint64_t *msmc_start, uint64_t *msmc_end) |
Query the available MSMC memory range. | |
int | tisci_cmd_set_fwl_region (const struct device *dev, const struct tisci_msg_fwl_region *region) |
Configure a firewall region. | |
int | tisci_cmd_get_fwl_region (const struct device *dev, struct tisci_msg_fwl_region *region) |
Get firewall region configuration. | |
int | tisci_cmd_change_fwl_owner (const struct device *dev, struct tisci_msg_fwl_owner *owner) |
Change firewall region owner. | |
int | tisci_cmd_rm_udmap_tx_ch_cfg (const struct device *dev, const struct tisci_msg_rm_udmap_tx_ch_cfg *params) |
Configure a UDMAP transmit channel. | |
int | tisci_cmd_rm_udmap_rx_ch_cfg (const struct device *dev, const struct tisci_msg_rm_udmap_rx_ch_cfg *params) |
Configure a UDMAP receive channel. | |
int | tisci_cmd_rm_psil_pair (const struct device *dev, uint32_t nav_id, uint32_t src_thread, uint32_t dst_thread) |
Pair PSI-L source thread to destination thread. | |
int | tisci_cmd_rm_psil_unpair (const struct device *dev, uint32_t nav_id, uint32_t src_thread, uint32_t dst_thread) |
Unpair PSI-L source thread from destination thread. | |
int | tisci_cmd_rm_irq_set (const struct device *dev, struct tisci_irq_set_req *req) |
Set a Navigator Subsystem IRQ. | |
int | tisci_cmd_rm_irq_release (const struct device *dev, struct tisci_irq_release_req *req) |
Release a Navigator Subsystem IRQ. |
Public APIs for the TISCI driver.
#define MAILBOX_MBOX_SIZE 60 |
#define TISCI_MSG_VALUE_RM_DST_HOST_IRQ_VALID (1u << 1u) |
#define TISCI_MSG_VALUE_RM_DST_ID_VALID (1u << 0u) |
#define TISCI_MSG_VALUE_RM_GLOBAL_EVENT_VALID (1u << 4u) |
#define TISCI_MSG_VALUE_RM_IA_ID_VALID (1u << 2u) |
#define TISCI_MSG_VALUE_RM_UDMAP_CH_EXTENDED_CH_TYPE_VALID BIT(16) |
#define TISCI_MSG_VALUE_RM_UDMAP_CH_RX_FLOWID_CNT_VALID BIT(10) |
#define TISCI_MSG_VALUE_RM_UDMAP_CH_RX_FLOWID_START_VALID BIT(9) |
#define TISCI_MSG_VALUE_RM_UDMAP_CH_RX_IGNORE_LONG_VALID BIT(12) |
#define TISCI_MSG_VALUE_RM_UDMAP_CH_RX_IGNORE_SHORT_VALID BIT(11) |
#define TISCI_MSG_VALUE_RM_UDMAP_CH_TX_CREDIT_COUNT_VALID BIT(12) |
#define TISCI_MSG_VALUE_RM_UDMAP_CH_TX_FDEPTH_VALID BIT(13) |
#define TISCI_MSG_VALUE_RM_UDMAP_CH_TX_FILT_EINFO_VALID BIT(9) |
#define TISCI_MSG_VALUE_RM_UDMAP_CH_TX_FILT_PSWORDS_VALID BIT(10) |
#define TISCI_MSG_VALUE_RM_UDMAP_CH_TX_SUPR_TDPKT_VALID BIT(11) |
#define TISCI_MSG_VALUE_RM_UDMAP_CH_TX_TDTYPE_VALID BIT(15) |
#define TISCI_MSG_VALUE_RM_VINT_STATUS_BIT_INDEX_VALID (1u << 5u) |
#define TISCI_MSG_VALUE_RM_VINT_VALID (1u << 3u) |
int cmd_set_board_config_using_msg | ( | const struct device * | dev, |
uint16_t | msg_type, | ||
uint64_t | addr, | ||
uint32_t | size ) |
Set board configuration using a specified message type.
Sends a board configuration message to the TI SCI firmware with configuration data from a specified memory location.
dev | Pointer to the TI SCI device |
msg_type | TISCI message type for board configuration |
addr | Physical address of board configuration data |
size | Size of board configuration data in bytes |
int tisci_cmd_change_fwl_owner | ( | const struct device * | dev, |
struct tisci_msg_fwl_owner * | owner ) |
Change firewall region owner.
Changes the ownership of a firewall region and retrieves updated ownership information.
dev | Pointer to the TI SCI device |
owner | Pointer to firewall owner configuration. On input: contains fwl_id, region, and owner_index On output: contains updated ownership information |
int tisci_cmd_clk_get_freq | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | clk_id, | ||
uint64_t * | freq ) |
Get the current frequency of a clock.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
freq | Pointer to store the current frequency in Hz |
int tisci_cmd_clk_get_match_freq | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | clk_id, | ||
uint64_t | min_freq, | ||
uint64_t | target_freq, | ||
uint64_t | max_freq, | ||
uint64_t * | match_freq ) |
Get a matching frequency for a clock.
Finds a frequency that matches the requested range for a clock.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
min_freq | Minimum allowable frequency in Hz |
target_freq | Target clock frequency in Hz |
max_freq | Maximum allowable frequency in Hz |
match_freq | Pointer to store the matched frequency in Hz |
int tisci_cmd_clk_get_num_parents | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | clk_id, | ||
uint8_t * | num_parents ) |
Get the number of parent clocks for a clock.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
num_parents | Pointer to store the number of parent clocks |
int tisci_cmd_clk_get_parent | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | clk_id, | ||
uint8_t * | parent_id ) |
Get the parent clock for a clock.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
parent_id | Pointer to store the identifier of the parent clock |
int tisci_cmd_clk_is_auto | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | clk_id, | ||
bool * | req_state ) |
Check if the clock is being auto-managed.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
req_state | Pointer to store whether the clock is auto-managed |
int tisci_cmd_clk_is_off | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | clk_id, | ||
bool * | req_state, | ||
bool * | curr_state ) |
Check if the clock is OFF.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
req_state | Pointer to store whether the clock is managed and disabled |
curr_state | Pointer to store whether the clock is NOT ready for operation |
int tisci_cmd_clk_is_on | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | clk_id, | ||
bool * | req_state, | ||
bool * | curr_state ) |
Check if the clock is ON.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
req_state | Pointer to store whether the clock is managed and enabled |
curr_state | Pointer to store whether the clock is ready for operation |
int tisci_cmd_clk_set_freq | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | clk_id, | ||
uint64_t | min_freq, | ||
uint64_t | target_freq, | ||
uint64_t | max_freq ) |
Set a frequency for a clock.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
min_freq | Minimum allowable frequency in Hz |
target_freq | Target clock frequency in Hz |
max_freq | Maximum allowable frequency in Hz |
int tisci_cmd_clk_set_parent | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | clk_id, | ||
uint8_t | parent_id ) |
Set the parent clock for a clock.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
parent_id | Identifier of the parent clock to set |
Get the context loss counter for a device.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
count | Pointer to store the context loss counter |
Check if the device is requested to be idle.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
r_state | Pointer to store the result (true if requested to be idle) |
int tisci_cmd_dev_is_on | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
bool * | r_state, | ||
bool * | curr_state ) |
Check if the device is requested to be ON.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
r_state | Pointer to store the result (true if requested to be ON) |
curr_state | Pointer to store the result (true if currently ON and active) |
int tisci_cmd_dev_is_stop | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
bool * | r_state, | ||
bool * | curr_state ) |
Check if the device is requested to be stopped.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
r_state | Pointer to store the result (true if requested to be stopped) |
curr_state | Pointer to store the result (true if currently stopped) |
Check if the device is currently transitioning.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
curr_state | Pointer to store the result (true if currently transitioning) |
Check if a device ID is valid.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
int tisci_cmd_get_clock | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | clk_id, | ||
bool | needs_ssc, | ||
bool | can_change_freq, | ||
bool | enable_input_term ) |
Get control of a clock from TI SCI.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
needs_ssc | 'true' if Spread Spectrum clock is desired, else 'false' |
can_change_freq | 'true' if frequency change is desired, else 'false' |
enable_input_term | 'true' if input termination is desired, else 'false' |
int tisci_cmd_get_clock_state | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | clk_id, | ||
uint8_t * | programmed_state, | ||
uint8_t * | current_state ) |
Get the state of a clock.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
programmed_state | Pointer to store the requested state of the clock |
current_state | Pointer to store the current state of the clock |
Request exclusive access to a device managed by TISCI.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
int tisci_cmd_get_device_resets | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint32_t * | reset_state ) |
Get reset state for a device managed by TISCI.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
reset_state | Pointer to store the reset state |
int tisci_cmd_get_fwl_region | ( | const struct device * | dev, |
struct tisci_msg_fwl_region * | region ) |
Get firewall region configuration.
Retrieves the configuration of a firewall region including permissions, addresses, and control settings.
dev | Pointer to the TI SCI device |
region | Pointer to store the firewall region configuration. The fwl_id, region, and n_permission_regs fields must be set before calling this function. |
int tisci_cmd_get_proc_boot_status | ( | const struct device * | dev, |
uint8_t | proc_id, | ||
uint64_t * | bv, | ||
uint32_t * | cfg_flags, | ||
uint32_t * | ctrl_flags, | ||
uint32_t * | sts_flags ) |
Command to get the processor boot status.
dev | Pointer to the TI SCI device |
proc_id | Processor ID this request is for |
bv | Pointer to store the boot vector |
cfg_flags | Pointer to store the configuration flags |
ctrl_flags | Pointer to store the control flags |
sts_flags | Pointer to store the status flags |
int tisci_cmd_get_resource_range | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | subtype, | ||
uint16_t * | range_start, | ||
uint16_t * | range_num ) |
Get a range of resources assigned to the host.
dev | Pointer to the TI SCI device |
dev_id | TISCI device ID |
subtype | Resource assignment subtype being requested |
range_start | Pointer to store the start index of the resource range |
range_num | Pointer to store the number of resources in the range |
int tisci_cmd_get_resource_range_from_shost | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | subtype, | ||
uint8_t | s_host, | ||
uint16_t * | range_start, | ||
uint16_t * | range_num ) |
Get a range of resources assigned to a specified host.
dev | Pointer to the TI SCI device |
dev_id | TISCI device ID |
subtype | Resource assignment subtype being requested |
s_host | Host processor ID to which the resources are allocated |
range_start | Pointer to store the start index of the resource range |
range_num | Pointer to store the number of resources in the range |
int tisci_cmd_get_revision | ( | const struct device * | dev, |
struct tisci_version_info * | ver ) |
Get the revision information of the TI SCI firmware.
Queries the TI SCI firmware for its version and revision information. The retrieved information is stored in the provided ver
structure.
dev | Pointer to the TI SCI device |
ver | Pointer to a structure where the firmware version information will be stored |
Idle a clock that is under control of TI SCI.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
Command to idle a device managed by TISCI.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
int tisci_cmd_proc_auth_boot_image | ( | const struct device * | dev, |
uint64_t * | image_addr, | ||
uint32_t * | image_size ) |
Command to authenticate and load the image, then set the processor configuration flags.
dev | Pointer to the TI SCI device |
image_addr | Pointer to the memory address of the payload image and certificate |
image_size | Pointer to the size of the image after authentication |
Command to handover a physical processor control to a host in the processor's access control list.
dev | Pointer to the TI SCI device |
proc_id | Processor ID this request is for |
host_id | Host ID to get the control of the processor |
Command to release a physical processor control.
dev | Pointer to the TI SCI device |
proc_id | Processor ID this request is for |
Command to request a physical processor control.
dev | Pointer to the TI SCI device |
proc_id | Processor ID this request is for |
Command to shutdown a core without requesting or waiting for a response.
dev | Pointer to the TI SCI device |
proc_id | Processor ID this request is for |
Release a clock from control back to TI SCI.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
Command to release a device managed by TISCI.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
Query the available MSMC memory range.
Queries the TI SCI firmware for the currently available MSMC (Multi-Standard Shared Memory Controller) memory range.
dev | Pointer to the TI SCI device |
msmc_start | Pointer to store the MSMC start address |
msmc_end | Pointer to store the MSMC end address |
int tisci_cmd_ring_config | ( | const struct device * | dev, |
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 ) |
Configure a RA ring.
dev | Pointer to the TI SCI device |
valid_params | Bitfield defining validity of ring configuration parameters |
nav_id | Device ID of Navigator Subsystem from which the ring is allocated |
index | Ring index |
addr_lo | The ring base address low 32 bits |
addr_hi | The ring base address high 32 bits |
count | Number of ring elements |
mode | The mode of the ring |
size | The ring element size |
order_id | Specifies the ring's bus order ID |
int tisci_cmd_rm_irq_release | ( | const struct device * | dev, |
struct tisci_irq_release_req * | req ) |
Release a Navigator Subsystem IRQ.
Releases an interrupt route in the Navigator Subsystem using the provided request structure.
dev | Pointer to the TI SCI device |
req | Pointer to the IRQ release request structure |
int tisci_cmd_rm_irq_set | ( | const struct device * | dev, |
struct tisci_irq_set_req * | req ) |
Set a Navigator Subsystem IRQ.
Sets up an interrupt route in the Navigator Subsystem using the provided request structure.
dev | Pointer to the TI SCI device |
req | Pointer to the IRQ set request structure |
int tisci_cmd_rm_psil_pair | ( | const struct device * | dev, |
uint32_t | nav_id, | ||
uint32_t | src_thread, | ||
uint32_t | dst_thread ) |
Pair PSI-L source thread to destination thread.
Pairs a PSI-L source thread to a destination thread in the Navigator Subsystem.
dev | Pointer to the TI SCI device |
nav_id | Navigator Subsystem device ID |
src_thread | Source thread ID |
dst_thread | Destination thread ID |
int tisci_cmd_rm_psil_unpair | ( | const struct device * | dev, |
uint32_t | nav_id, | ||
uint32_t | src_thread, | ||
uint32_t | dst_thread ) |
Unpair PSI-L source thread from destination thread.
Unpairs a PSI-L source thread from a destination thread in the Navigator Subsystem.
dev | Pointer to the TI SCI device |
nav_id | Navigator Subsystem device ID |
src_thread | Source thread ID |
dst_thread | Destination thread ID |
int tisci_cmd_rm_udmap_rx_ch_cfg | ( | const struct device * | dev, |
const struct tisci_msg_rm_udmap_rx_ch_cfg * | params ) |
Configure a UDMAP receive channel.
Configures the non-real-time registers of a Navigator Subsystem UDMAP receive channel.
dev | Pointer to the TI SCI device |
params | Pointer to the receive channel configuration parameters |
int tisci_cmd_rm_udmap_tx_ch_cfg | ( | const struct device * | dev, |
const struct tisci_msg_rm_udmap_tx_ch_cfg * | params ) |
Configure a UDMAP transmit channel.
Configures the non-real-time registers of a Navigator Subsystem UDMAP transmit channel.
dev | Pointer to the TI SCI device |
params | Pointer to the transmit channel configuration parameters |
int tisci_cmd_set_device_resets | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint32_t | reset_state ) |
Set resets for a device managed by TISCI.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
reset_state | Device-specific reset bit field |
int tisci_cmd_set_fwl_region | ( | const struct device * | dev, |
const struct tisci_msg_fwl_region * | region ) |
Configure a firewall region.
Sets up a firewall region with the specified configuration parameters including permissions, addresses, and control settings.
dev | Pointer to the TI SCI device |
region | Pointer to the firewall region configuration parameters |
int tisci_cmd_set_proc_boot_cfg | ( | const struct device * | dev, |
uint8_t | proc_id, | ||
uint64_t | bootvector, | ||
uint32_t | config_flags_set, | ||
uint32_t | config_flags_clear ) |
Command to set the processor boot configuration flags.
dev | Pointer to the TI SCI device |
proc_id | Processor ID this request is for |
bootvector | Boot vector address |
config_flags_set | Configuration flags to be set |
config_flags_clear | Configuration flags to be cleared |
int tisci_cmd_set_proc_boot_ctrl | ( | const struct device * | dev, |
uint8_t | proc_id, | ||
uint32_t | control_flags_set, | ||
uint32_t | control_flags_clear ) |
Command to set the processor boot control flags.
dev | Pointer to the TI SCI device |
proc_id | Processor ID this request is for |
control_flags_set | Control flags to be set |
control_flags_clear | Control flags to be cleared |
int tisci_cmd_sys_reset | ( | const struct device * | dev | ) |
Request a system reset.
Commands the TI SCI firmware to perform a system reset.
dev | Pointer to the TI SCI device |
int tisci_get_device_state | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint32_t * | clcnt, | ||
uint32_t * | resets, | ||
uint8_t * | p_state, | ||
uint8_t * | c_state ) |
Get the state of a device.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clcnt | Pointer to store the Context Loss Count |
resets | Pointer to store the reset count |
p_state | Pointer to store the programmed state |
c_state | Pointer to store the current state |
int tisci_get_resource_range | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | subtype, | ||
uint8_t | s_host, | ||
uint16_t * | range_start, | ||
uint16_t * | range_num ) |
Get a range of resources assigned to a host.
dev | Pointer to the TI SCI device |
dev_id | TISCI device ID |
subtype | Resource assignment subtype being requested |
s_host | Host processor ID to which the resources are allocated |
range_start | Pointer to store the start index of the resource range |
range_num | Pointer to store the number of resources in the range |
int tisci_proc_wait_boot_status_no_wait | ( | const struct device * | dev, |
uint8_t | proc_id, | ||
uint8_t | num_wait_iterations, | ||
uint8_t | num_match_iterations, | ||
uint8_t | delay_per_iteration_us, | ||
uint8_t | delay_before_iterations_us, | ||
uint32_t | status_flags_1_set_all_wait, | ||
uint32_t | status_flags_1_set_any_wait, | ||
uint32_t | status_flags_1_clr_all_wait, | ||
uint32_t | status_flags_1_clr_any_wait ) |
Helper function to wait for a processor boot status without requesting or waiting for a response.
dev | Pointer to the TI SCI device |
proc_id | Processor ID this request is for |
num_wait_iterations | Total number of iterations to check before timeout |
num_match_iterations | Number of consecutive matches required to confirm status |
delay_per_iteration_us | Delay in microseconds between each status check |
delay_before_iterations_us | Delay in microseconds before the first status check |
status_flags_1_set_all_wait | Flags that must all be set to 1 |
status_flags_1_set_any_wait | Flags where at least one must be set to 1 |
status_flags_1_clr_all_wait | Flags that must all be cleared to 0 |
status_flags_1_clr_any_wait | Flags where at least one must be cleared to 0 |
int tisci_set_clock_state | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint8_t | clk_id, | ||
uint32_t | flags, | ||
uint8_t | state ) |
Set the state of a clock.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
clk_id | Clock identifier for the device for this request |
flags | Header flags as needed |
state | State to request for the clock |
int tisci_set_device_state | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint32_t | flags, | ||
uint8_t | state ) |
Set the state of a device.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
flags | Flags to set for the device |
state | State to move the device to:
|
int tisci_set_device_state_no_wait | ( | const struct device * | dev, |
uint32_t | dev_id, | ||
uint32_t | flags, | ||
uint8_t | state ) |
Set the state of a device without waiting for a response.
dev | Pointer to the TI SCI device |
dev_id | Device identifier for this request |
flags | Flags to set for the device |
state | State to move the device to:
|