STRUCT TI_SCI_MSG_REQ_SET_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

struct ti_sci_msg_req_set_config β€” Set Processor boot configuration ✨

okay bestie, welcome to the Kernel API Manual, and buckle up because this one is a whole struct about telling a processor how to boot πŸ’–


✨ SYNOPSIS ✨

struct ti_sci_msg_req_set_config {
    struct ti_sci_msg_hdr hdr;
    u8 processor_id;
    u32 bootvector_low;
    u32 bootvector_high;
    u32 config_flags_set;
    u32 config_flags_clear;
};

no cap, that's the whole shape of it πŸŽ€


πŸŽ€ MEMBERS πŸŽ€

  • hdr β€” Generic Header. literally the standard-issue header that everything in this family rolls with 🫢
  • processor_id β€” ID of processor being configured. like, which processor are we even talking to, bestie πŸ’…
  • bootvector_low β€” Lower 32 bit address (Little Endian) of boot vector. the bottom half of the address, endian girlie that it is 🌸
  • bootvector_high β€” Higher 32 bit address (Little Endian) of boot vector. and here's the top half to complete the vibe check ⭐
  • config_flags_set β€” Optional Processor specific Config Flags to set. Setting a bit here implies the corresponding mode will be set πŸ”₯ (yes, every bit is basically a "turn this mode on" button)
  • config_flags_clear β€” Optional Processor specific Config Flags to clear. Setting a bit here implies the corresponding mode will be cleared πŸ’€ (and every bit here is the "turn it off" button β€” yin and yang fr fr)

πŸ’– DESCRIPTION πŸ’–

Request type is TI_SCI_MSG_PROC_HANDOVER, response is a generic ACK/NACK message πŸ¦‹

so like, you send this request, and the universe (the firmware) replies with a plain little ACK or NACK. iconic, minimal, no drama πŸ‘‘


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/firmware/ti_sci.h β€” go read it, it's giving main character energy in a header file form πŸ’œ

  • 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_req_get_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_ctrl(9)
  • struct ti_sci_msg_req_get_status(9)
  • struct ti_sci_msg_resp_get_status(9)

okay that's the whole page, bestie, you ate that πŸ“ love u, go configure some processors responsibly πŸ’–

source: ./drivers/firmware Β· October 2026 Β· struct ti_sc...q_set_config(9) πŸ§šβ€β™€οΈβœ¨

πŸ“¦ where this page comes from