|
Zephyr API Documentation 4.3.0-rc1
A Scalable Open Source RTOS
|
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:
|