Zephyr API Documentation 4.2.0-rc3
A Scalable Open Source RTOS
 4.2.0-rc3
tisci.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025, Texas Instruments
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12
13#ifndef INCLUDE_ZEPHYR_DRIVERS_TISCI_H_
14#define INCLUDE_ZEPHYR_DRIVERS_TISCI_H_
15
16#include <zephyr/device.h>
17
18#define MAILBOX_MBOX_SIZE 60
19
36
63
89
98#define TISCI_MSG_VALUE_RM_UDMAP_CH_TX_FILT_EINFO_VALID BIT(9)
99#define TISCI_MSG_VALUE_RM_UDMAP_CH_TX_FILT_PSWORDS_VALID BIT(10)
100#define TISCI_MSG_VALUE_RM_UDMAP_CH_TX_SUPR_TDPKT_VALID BIT(11)
101#define TISCI_MSG_VALUE_RM_UDMAP_CH_TX_CREDIT_COUNT_VALID BIT(12)
102#define TISCI_MSG_VALUE_RM_UDMAP_CH_TX_FDEPTH_VALID BIT(13)
103#define TISCI_MSG_VALUE_RM_UDMAP_CH_TX_TDTYPE_VALID BIT(15)
104#define TISCI_MSG_VALUE_RM_UDMAP_CH_EXTENDED_CH_TYPE_VALID BIT(16)
124};
125
134#define TISCI_MSG_VALUE_RM_UDMAP_CH_RX_FLOWID_START_VALID BIT(9)
135#define TISCI_MSG_VALUE_RM_UDMAP_CH_RX_FLOWID_CNT_VALID BIT(10)
136#define TISCI_MSG_VALUE_RM_UDMAP_CH_RX_IGNORE_SHORT_VALID BIT(11)
137#define TISCI_MSG_VALUE_RM_UDMAP_CH_RX_IGNORE_LONG_VALID BIT(12)
154};
155
156#define TISCI_MSG_VALUE_RM_DST_ID_VALID (1u << 0u)
157#define TISCI_MSG_VALUE_RM_DST_HOST_IRQ_VALID (1u << 1u)
158#define TISCI_MSG_VALUE_RM_IA_ID_VALID (1u << 2u)
159#define TISCI_MSG_VALUE_RM_VINT_VALID (1u << 3u)
160#define TISCI_MSG_VALUE_RM_GLOBAL_EVENT_VALID (1u << 4u)
161#define TISCI_MSG_VALUE_RM_VINT_STATUS_BIT_INDEX_VALID (1u << 5u)
162
199
223
236
237/* Version/Revision Functions */
238
250int tisci_cmd_get_revision(const struct device *dev, struct tisci_version_info *ver);
251
252/* Clock Management Functions */
253
265int tisci_cmd_get_clock_state(const struct device *dev, uint32_t dev_id, uint8_t clk_id,
266 uint8_t *programmed_state, uint8_t *current_state);
267
279int tisci_set_clock_state(const struct device *dev, uint32_t dev_id, uint8_t clk_id, uint32_t flags,
280 uint8_t state);
281
293int tisci_cmd_clk_is_on(const struct device *dev, uint32_t dev_id, uint8_t clk_id, bool *req_state,
294 bool *curr_state);
295
307int tisci_cmd_clk_is_off(const struct device *dev, uint32_t dev_id, uint8_t clk_id, bool *req_state,
308 bool *curr_state);
309
320int tisci_cmd_clk_is_auto(const struct device *dev, uint32_t dev_id, uint8_t clk_id,
321 bool *req_state);
322
333int tisci_cmd_clk_get_freq(const struct device *dev, uint32_t dev_id, uint8_t clk_id,
334 uint64_t *freq);
335
348int tisci_cmd_clk_set_freq(const struct device *dev, uint32_t dev_id, uint8_t clk_id,
349 uint64_t min_freq, uint64_t target_freq, uint64_t max_freq);
350
366int tisci_cmd_clk_get_match_freq(const struct device *dev, uint32_t dev_id, uint8_t clk_id,
367 uint64_t min_freq, uint64_t target_freq, uint64_t max_freq,
368 uint64_t *match_freq);
369
380int tisci_cmd_clk_set_parent(const struct device *dev, uint32_t dev_id, uint8_t clk_id,
381 uint8_t parent_id);
382
393int tisci_cmd_clk_get_parent(const struct device *dev, uint32_t dev_id, uint8_t clk_id,
394 uint8_t *parent_id);
395
406int tisci_cmd_clk_get_num_parents(const struct device *dev, uint32_t dev_id, uint8_t clk_id,
407 uint8_t *num_parents);
408
421int tisci_cmd_get_clock(const struct device *dev, uint32_t dev_id, uint8_t clk_id, bool needs_ssc,
422 bool can_change_freq, bool enable_input_term);
423
433int tisci_cmd_idle_clock(const struct device *dev, uint32_t dev_id, uint8_t clk_id);
434
444int tisci_cmd_put_clock(const struct device *dev, uint32_t dev_id, uint8_t clk_id);
445
446/* Device Management Functions */
447
462int tisci_set_device_state(const struct device *dev, uint32_t dev_id, uint32_t flags,
463 uint8_t state);
464
480 uint8_t state);
481
494int tisci_get_device_state(const struct device *dev, uint32_t dev_id, uint32_t *clcnt,
495 uint32_t *resets, uint8_t *p_state, uint8_t *c_state);
496
505int tisci_cmd_get_device(const struct device *dev, uint32_t dev_id);
506int tisci_cmd_get_device_exclusive(const struct device *dev, uint32_t dev_id);
507
516int tisci_cmd_idle_device(const struct device *dev, uint32_t dev_id);
517int tisci_cmd_idle_device_exclusive(const struct device *dev, uint32_t dev_id);
518
527int tisci_cmd_put_device(const struct device *dev, uint32_t dev_id);
528
537int tisci_cmd_dev_is_valid(const struct device *dev, uint32_t dev_id);
538
548int tisci_cmd_dev_get_clcnt(const struct device *dev, uint32_t dev_id, uint32_t *count);
549
559int tisci_cmd_dev_is_idle(const struct device *dev, uint32_t dev_id, bool *r_state);
560
571int tisci_cmd_dev_is_stop(const struct device *dev, uint32_t dev_id, bool *r_state,
572 bool *curr_state);
573
584int tisci_cmd_dev_is_on(const struct device *dev, uint32_t dev_id, bool *r_state, bool *curr_state);
585
595int tisci_cmd_dev_is_trans(const struct device *dev, uint32_t dev_id, bool *curr_state);
596
606int tisci_cmd_set_device_resets(const struct device *dev, uint32_t dev_id, uint32_t reset_state);
607
617int tisci_cmd_get_device_resets(const struct device *dev, uint32_t dev_id, uint32_t *reset_state);
618
619/* Resource Management Functions */
620
633int tisci_get_resource_range(const struct device *dev, uint32_t dev_id, uint8_t subtype,
634 uint8_t s_host, uint16_t *range_start, uint16_t *range_num);
635
647int tisci_cmd_get_resource_range(const struct device *dev, uint32_t dev_id, uint8_t subtype,
648 uint16_t *range_start, uint16_t *range_num);
649
663 uint8_t subtype, uint8_t s_host, uint16_t *range_start,
664 uint16_t *range_num);
665
666/* Processor Management Functions */
667
676int tisci_cmd_proc_request(const struct device *dev, uint8_t proc_id);
677
686int tisci_cmd_proc_release(const struct device *dev, uint8_t proc_id);
687
698int tisci_cmd_proc_handover(const struct device *dev, uint8_t proc_id, uint8_t host_id);
699
711int tisci_cmd_set_proc_boot_cfg(const struct device *dev, uint8_t proc_id, uint64_t bootvector,
712 uint32_t config_flags_set, uint32_t config_flags_clear);
713
724int tisci_cmd_set_proc_boot_ctrl(const struct device *dev, uint8_t proc_id,
725 uint32_t control_flags_set, uint32_t control_flags_clear);
726
736int tisci_cmd_proc_auth_boot_image(const struct device *dev, uint64_t *image_addr,
737 uint32_t *image_size);
738
751int tisci_cmd_get_proc_boot_status(const struct device *dev, uint8_t proc_id, uint64_t *bv,
752 uint32_t *cfg_flags, uint32_t *ctrl_flags, uint32_t *sts_flags);
753
772 uint8_t num_wait_iterations, uint8_t num_match_iterations,
773 uint8_t delay_per_iteration_us,
774 uint8_t delay_before_iterations_us,
775 uint32_t status_flags_1_set_all_wait,
776 uint32_t status_flags_1_set_any_wait,
777 uint32_t status_flags_1_clr_all_wait,
778 uint32_t status_flags_1_clr_any_wait);
779
788int tisci_cmd_proc_shutdown_no_wait(const struct device *dev, uint8_t proc_id);
789
790/* Board Configuration Functions */
791
805int cmd_set_board_config_using_msg(const struct device *dev, uint16_t msg_type, uint64_t addr,
806 uint32_t size);
807
808/* Ring Configuration Function */
809
826int tisci_cmd_ring_config(const struct device *dev, uint32_t valid_params, uint16_t nav_id,
827 uint16_t index, uint32_t addr_lo, uint32_t addr_hi, uint32_t count,
828 uint8_t mode, uint8_t size, uint8_t order_id);
829
830/* System Control Functions */
831
841int tisci_cmd_sys_reset(const struct device *dev);
842
843/* Memory Management Functions */
844
857int tisci_cmd_query_msmc(const struct device *dev, uint64_t *msmc_start, uint64_t *msmc_end);
858
859/* Firewall Management Functions */
860
872int tisci_cmd_set_fwl_region(const struct device *dev, const struct tisci_msg_fwl_region *region);
873
874/* INCLUDE_ZEPHYR_DRIVERS_TISCI_H_ */
875
876/* Firewall Management Functions */
877/* ... previous firewall functions ... */
878
892int tisci_cmd_get_fwl_region(const struct device *dev, struct tisci_msg_fwl_region *region);
893
894/* INCLUDE_ZEPHYR_DRIVERS_TISCI_H_ */
895
896/* Firewall Management Functions */
897/* ... previous firewall functions ... */
898
912int tisci_cmd_get_fwl_region(const struct device *dev, struct tisci_msg_fwl_region *region);
913
914/* Firewall Management Functions */
915/* ... previous firewall functions ... */
916
930int tisci_cmd_get_fwl_region(const struct device *dev, struct tisci_msg_fwl_region *region);
931
932/* Firewall Management Functions */
933/* ... previous firewall functions ... */
934
948int tisci_cmd_change_fwl_owner(const struct device *dev, struct tisci_msg_fwl_owner *owner);
949
950/* UDMAP Management Functions */
951
964 const struct tisci_msg_rm_udmap_tx_ch_cfg *params);
965
978 const struct tisci_msg_rm_udmap_rx_ch_cfg *params);
979
980/* PSI-L Management Functions */
981
995int tisci_cmd_rm_psil_pair(const struct device *dev, uint32_t nav_id, uint32_t src_thread,
996 uint32_t dst_thread);
997
1011int tisci_cmd_rm_psil_unpair(const struct device *dev, uint32_t nav_id, uint32_t src_thread,
1012 uint32_t dst_thread);
1013
1024int tisci_cmd_rm_irq_set(const struct device *dev, struct tisci_irq_set_req *req);
1025
1036int tisci_cmd_rm_irq_release(const struct device *dev, struct tisci_irq_release_req *req);
1037#endif
flags
Definition parser.h:97
state
Definition parser_state.h:29
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT64_TYPE__ uint64_t
Definition stdint.h:91
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
Runtime device structure (in ROM) per driver instance.
Definition device.h:510
Request to release interrupt peripheral resources.
Definition tisci.h:224
uint8_t secondary_host
Definition tisci.h:234
uint32_t valid_params
Definition tisci.h:225
uint16_t global_event
Definition tisci.h:232
uint16_t dst_host_irq
Definition tisci.h:229
uint16_t vint
Definition tisci.h:231
uint16_t ia_id
Definition tisci.h:230
uint16_t src_index
Definition tisci.h:227
uint16_t src_id
Definition tisci.h:226
uint16_t dst_id
Definition tisci.h:228
uint8_t vint_status_bit_index
Definition tisci.h:233
Request to set up an interrupt route.
Definition tisci.h:187
uint16_t dst_host_irq
Definition tisci.h:192
uint16_t src_index
Definition tisci.h:190
uint16_t dst_id
Definition tisci.h:191
uint16_t ia_id
Definition tisci.h:193
uint16_t vint
Definition tisci.h:194
uint8_t vint_status_bit_index
Definition tisci.h:196
uint16_t global_event
Definition tisci.h:195
uint32_t valid_params
Definition tisci.h:188
uint8_t secondary_host
Definition tisci.h:197
uint16_t src_id
Definition tisci.h:189
Request and Response for firewall owner change.
Definition tisci.h:82
uint8_t owner_index
Definition tisci.h:85
uint16_t owner_permission_bits
Definition tisci.h:87
uint16_t fwl_id
Definition tisci.h:83
uint8_t owner_privid
Definition tisci.h:86
uint16_t region
Definition tisci.h:84
Definition tisci.h:54
uint16_t region
Definition tisci.h:56
uint64_t start_address
Definition tisci.h:60
uint32_t permissions[3]
Definition tisci.h:59
uint32_t control
Definition tisci.h:58
uint64_t end_address
Definition tisci.h:61
uint32_t n_permission_regs
Definition tisci.h:57
uint16_t fwl_id
Definition tisci.h:55
Configures a Navigator Subsystem UDMAP receive channel.
Definition tisci.h:132
uint8_t rx_priority
Definition tisci.h:142
uint16_t index
Definition tisci.h:139
uint8_t rx_sched_priority
Definition tisci.h:145
uint8_t rx_qos
Definition tisci.h:143
uint16_t rxcq_qnum
Definition tisci.h:141
uint8_t rx_burst_size
Definition tisci.h:153
uint16_t nav_id
Definition tisci.h:138
uint8_t rx_atype
Definition tisci.h:149
uint32_t valid_params
Definition tisci.h:133
uint8_t rx_ignore_long
Definition tisci.h:152
uint8_t rx_orderid
Definition tisci.h:144
uint8_t rx_ignore_short
Definition tisci.h:151
uint16_t flowid_start
Definition tisci.h:146
uint16_t flowid_cnt
Definition tisci.h:147
uint8_t rx_pause_on_err
Definition tisci.h:148
uint16_t rx_fetch_size
Definition tisci.h:140
uint8_t rx_chan_type
Definition tisci.h:150
Configures a Navigator Subsystem UDMAP transmit channel.
Definition tisci.h:96
uint8_t tx_sched_priority
Definition tisci.h:120
uint8_t tx_chan_type
Definition tisci.h:111
uint8_t extended_ch_type
Definition tisci.h:123
uint16_t nav_id
Definition tisci.h:105
uint8_t tx_atype
Definition tisci.h:110
uint8_t tx_burst_size
Definition tisci.h:121
uint16_t txcq_qnum
Definition tisci.h:115
uint8_t tx_credit_count
Definition tisci.h:114
uint8_t tx_filt_einfo
Definition tisci.h:108
uint8_t tx_supr_tdpkt
Definition tisci.h:112
uint8_t tx_tdtype
Definition tisci.h:122
uint16_t index
Definition tisci.h:106
uint8_t tx_filt_pswords
Definition tisci.h:109
uint32_t valid_params
Definition tisci.h:97
uint8_t tx_pause_on_err
Definition tisci.h:107
uint16_t fdepth
Definition tisci.h:119
uint8_t tx_orderid
Definition tisci.h:118
uint8_t tx_priority
Definition tisci.h:116
uint8_t tx_qos
Definition tisci.h:117
uint16_t tx_fetch_size
Definition tisci.h:113
version information structure
Definition tisci.h:30
char firmware_description[32]
Definition tisci.h:34
uint16_t firmware_revision
Definition tisci.h:33
uint8_t abi_major
Definition tisci.h:31
uint8_t abi_minor
Definition tisci.h:32
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_query_msmc(const struct device *dev, uint64_t *msmc_start, uint64_t *msmc_end)
Query the available MSMC memory range.
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_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_rm_irq_set(const struct device *dev, struct tisci_irq_set_req *req)
Set a Navigator Subsystem IRQ.
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_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_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_set_fwl_region(const struct device *dev, const struct tisci_msg_fwl_region *region)
Configure a firewall region.
int tisci_cmd_proc_release(const struct device *dev, uint8_t proc_id)
Command to release a physical processor control.
int tisci_cmd_proc_request(const struct device *dev, uint8_t proc_id)
Command to request a physical processor control.
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_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_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_cmd_get_device(const struct device *dev, uint32_t dev_id)
Request exclusive access to a device managed by TISCI.
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_dev_is_valid(const struct device *dev, uint32_t dev_id)
Check if a device ID is valid.
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_put_device(const struct device *dev, uint32_t dev_id)
Command to release a device managed by TISCI.
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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 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_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_sys_reset(const struct device *dev)
Request a system reset.
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_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_idle_device_exclusive(const struct device *dev, uint32_t dev_id)
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_get_fwl_region(const struct device *dev, struct tisci_msg_fwl_region *region)
Get firewall region configuration.
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_device(const struct device *dev, uint32_t dev_id)
Command to idle a device managed by TISCI.
int tisci_cmd_rm_irq_release(const struct device *dev, struct tisci_irq_release_req *req)
Release a Navigator Subsystem IRQ.
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_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_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_exclusive(const struct device *dev, uint32_t dev_id)
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_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_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_revision(const struct device *dev, struct tisci_version_info *ver)
Get the revision information of the TI SCI firmware.
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_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_change_fwl_owner(const struct device *dev, struct tisci_msg_fwl_owner *owner)
Change firewall region owner.