STRUCT TI_SCI_MSG_REQ_GET_CLOCK_FREQ(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ti_sci_msg_req_get_clock_freq β€” Kernel API Manual ✨

okay bestie, welcome to the Kernel API Manual, and today's main character is struct ti_sci_msg_req_get_clock_freq πŸŽ€ (the header truncates it to struct ti_sc...t_clock_freq(9) which, honestly, is giving "name too long for the group chat" energy 😭).


✨ NAME ✨

struct ti_sci_msg_req_get_clock_freq β€” the request you send when you literally just want to know what the clock frequency is πŸ•πŸ’–


🌸 SYNOPSIS 🌸

struct ti_sci_msg_req_get_clock_freq {
    struct ti_sci_msg_hdr hdr;
    u32 dev_id;
    u8 clk_id;
    u32 clk_id_32;
 };

no cap, that's the whole struct. four fields. she's compact and she knows it 🫢


πŸ¦‹ Members πŸ¦‹

  • hdr β€” the generic header πŸŽ€ your standard-issue envelope, every TISCI message has one.
  • dev_id β€” the device identifier this request is for. which device are we asking about, bestie πŸ‘€
  • clk_id β€” the clock identifier for the device, for this request. but β€” plot twist β€” set it to 255 if the clock ID is greater than or equal to 255 πŸ’€ (yes, 255 is the "overflow parking" value, keep reading).
  • clk_id_32 β€” the clock identifier, but the big one. this field only matters if clk_id was set to 255 🌈 so if your clock ID is huge, it goes here instead. iykyk.

πŸ’œ NOTE πŸ’œ

ngl, this is the important part, so pay attention 🧚

normally, clock frequency management is automatically done by the TISCI entity. like, it handles itself, main character energy, no input needed from you πŸ’… but in some cases, clock frequencies are configured by the host β€” and that's when you show up.

the request type is TI_SCI_MSG_GET_CLOCK_FREQ, and it gets responded to with the clock frequency that the clock is currently at ⭐ so you ask, and the answer comes back as "here's what the frequency is right now". periodt.


πŸ”₯ SEE ALSO πŸ”₯

all the siblings, cousins, and extended family β€” go say hi πŸ‘‘

  • Kernel file ./drivers/firmware/ti_sci.h
  • struct ti_sci_msg_hdr(9)
  • struct ti_sci_msg_resp_version(9)
  • struct ti_sci_msg_req_reboot(9)
  • struct ti_sci_msg_resp_query_fw_caps(9)
  • struct ti_sci_msg_req_set_device_state(9)
  • struct ti_sci_msg_req_get_device_state(9)
  • struct ti_sci_msg_resp_get_device_state(9)
  • struct ti_sci_msg_req_set_device_resets(9)
  • struct ti_sci_msg_req_set_clock_state(9)
  • struct ti_sci_msg_req_get_clock_state(9)
  • struct ti_sci_msg_resp_get_clock_state(9)
  • struct ti_sci_msg_req_set_clock_parent(9)
  • struct ti_sci_msg_req_get_clock_parent(9)
  • struct ti_sci_msg_resp_get_clock_parent(9)
  • struct ti_sci_msg_req_get_clock_num_parents(9)
  • struct ti_sci_msg_resp_get_clock_num_parents(9)
  • struct ti_sci_msg_req_query_clock_freq(9)
  • struct ti_sci_msg_resp_query_clock_freq(9)
  • struct ti_sci_msg_req_set_clock_freq(9)
  • struct ti_sci_msg_resp_get_clock_freq(9)
  • struct ti_sci_msg_req_prepare_sleep(9)
  • struct ti_sci_msg_req_set_io_isolation(9)
  • struct ti_sci_msg_resp_lpm_wake_reason(9)
  • struct ti_sci_msg_req_lpm_set_device_constraint(9)
  • struct ti_sci_msg_req_lpm_set_latency_constraint(9)
  • struct ti_sci_msg_req_get_resource_range(9)
  • struct ti_sci_msg_resp_get_resource_range(9)
  • struct ti_sci_msg_req_manage_irq(9)
  • struct ti_sci_msg_rm_ring_cfg_req(9)
  • struct ti_sci_msg_psil_pair(9)
  • struct ti_sci_msg_psil_unpair(9)
  • struct ti_sci_msg_udmap_rx_flow_cfg(9)
  • struct rm_ti_sci_msg_udmap_rx_flow_opt_cfg(9)
  • struct ti_sci_msg_rm_udmap_tx_ch_cfg_req(9)
  • struct ti_sci_msg_rm_udmap_rx_ch_cfg_req(9)
  • struct ti_sci_msg_rm_udmap_flow_cfg_req(9)
  • struct ti_sci_msg_req_proc_request(9)
  • struct ti_sci_msg_req_proc_release(9)
  • struct ti_sci_msg_req_proc_handover(9)
  • struct ti_sci_msg_req_set_config(9)
  • struct ti_sci_msg_req_set_ctrl(9)
  • struct ti_sci_msg_req_get_status(9)
  • struct ti_sci_msg_resp_get_status(9)

🫢 that's it, that's the page. all forty-plus SEE ALSOs made it, not one skipped, we ate and left no crumbs πŸ’…

✨ okay bye bestie ✨ this lil page lives in ./drivers/firmware, dated October 2026, and it's filed under the Kernel API Manual β€” header said struct ti_sc...t_clock_freq(9) top and bottom, and yeah, we said it three times, iconic behavior honestly πŸ’–πŸŽ€

πŸ“¦ where this page comes from