STRUCT SCI_CLK(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct sci_clk(9) β€” the Kernel API Manual, bestie edition πŸŽ€

okay so welcome to the Kernel API Manual page for struct sci_clk β€” literally the TI SCI clock representation and she is that girl ✨. This struct is the whole personality of a single clock in the TI SCI world, and we're gonna go through every single field together, no skips, no cap πŸ’–.


🌸 NAME 🌸

struct sci_clk β€” TI SCI clock representation πŸ•°οΈπŸ‘‘


✨ SYNOPSIS ✨

struct sci_clk {
    struct clk_hw hw;
    u16 dev_id;
    u32 clk_id;
    u32 num_parents;
    struct sci_clk_provider *provider;
    u8 flags;
    struct list_head node;
    unsigned long cached_req;
    unsigned long cached_res;
    int parent_id;
    unsigned long rate;
 };

like… look at her. eleven fields, all iconic, all load-bearing πŸ’…


πŸ¦‹ Members πŸ¦‹

group-chat rundown of every field, in order, because we do not skip 🫢

  • hw β€” the hardware clock cookie for the common clock framework πŸͺ like yes, this is the handshake with the CCF, main character energy fr.
  • dev_id β€” the device index πŸ”’ which device are we even talking about, bestie.
  • clk_id β€” the clock index ⏰ the specific clock inside that device, iykyk.
  • num_parents β€” how many parents this clock has πŸ‘©β€πŸ‘©β€πŸ‘§ a whole family tree situation, and this field is keeping count.
  • provider β€” the master clock provider πŸ‘‘ the boss, the one who runs the whole operation, struct sci_clk_provider *.
  • flags β€” flags for the clock 🚩 lil u8 of extra info, tiny but mighty.
  • node β€” the link for handling clocks probed via DT πŸ”— Device Tree found this clock and this is how we keep track of it in the list, slay.
  • cached_req β€” cached requested freq for determine rate calls πŸ’Ύ the asked-for rate, remembered so we don't have to bother anyone twice, lowkey efficient.
  • cached_res β€” cached result freq for determine rate calls πŸ“Š the actual answer rate we got back, also remembered. caching queen behavior honestly.
  • parent_id β€” parent index for this clock 🧬 which parent we're rolling with, as an int.
  • rate β€” clock rate ⚑ the rate itself, an unsigned long, the whole point of the whole struct ngl.

🌈 SEE ALSO 🌈


ngl if you made it to the end of this list you're genuinely built different 🫢 go be a clock girlie πŸ’œ

and that's the page!! courtesy of ./drivers/clk/keystone, version dated October 2026, filed under struct sci_clk(9) β€” mwah, love u, go read the kernel πŸ’‹πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from