STRUCT SCI_CLK(9)
π 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 π© lilu8of 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 anint.rateβ clock rate β‘ the rate itself, anunsigned long, the whole point of the whole struct ngl.
π SEE ALSO π
- Kernel file
./drivers/clk/keystone/sci-clk.cβ go read the source, bestie, it eats ππ₯ struct sci_clk_provider(9)sci_clk_prepare(9)sci_clk_unprepare(9)sci_clk_is_prepared(9)sci_clk_recalc_rate(9)sci_clk_determine_rate(9)sci_clk_set_rate(9)sci_clk_get_parent(9)sci_clk_set_parent(9)_sci_clk_build(9)sci_clk_get(9)ti_sci_clk_probe(9)ti_sci_clk_remove(9)
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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms