STRUCT RZV2H_PLL_LIMITS(9)
β¨ struct rzv2h_pll_limits(9) β¨
okay so bestie, welcome to the Kernel API Manual page for struct rzv2h_pll_limits β aka the lil' rulebook that says what numbers a PLL is actually allowed to do π
it's literally the PLL parameter constraints struct, and honestly? iconic.
πΈ SYNOPSIS πΈ
here's the whole thing verbatim, do not touch, do not breathe on it:
struct rzv2h_pll_limits {
u32 input_fref;
struct {
u32 min;
u32 max;
} fout;
struct {
u32 min;
u32 max;
} fvco;
struct {
u16 min;
u16 max;
} m;
struct {
u8 min;
u8 max;
} p;
struct {
u8 min;
u8 max;
} s;
struct {
s16 min;
s16 max;
} k;
};
like look at those nested structs. the way that they're all min/max pairsβ¦ it's giving boundaries, it's giving self-respect π
π¦ Members π¦
okay so here's the cast of characters, one by one:
input_frefβ the reference input frequency going into the PLL, measured in Hz. and here's the plot twist: if you set it to0, it just defaults to24MHz. queen behavior honestly β¨foutβ the output frequency range, in MHz. yes MHz, not Hz, keep up bestie πfout.minβ the minimum output frequency you're allowed to ask forfout.maxβ the maximum output frequency you're allowed to ask for
fvcoβ the PLL oscillation frequency range, also in MHzfvco.minβ minimum allowed VCO frequencyfvco.maxβ maximum allowed VCO frequency
mβ the main-divider rangem.minβ minimum main-divider valuem.maxβ maximum main-divider value
pβ the pre-divider rangep.minβ minimum pre-divider valuep.maxβ maximum pre-divider value
sβ the divider ranges.minβ minimum divider values.maxβ maximum divider value
kβ the delta-sigma modulator range, and ngl the key detail here: it's signed πk.minβ minimum delta-sigma valuek.maxβ maximum delta-sigma value
π Description π
so what is this thing for? literally just: this structure defines the minimum and maximum allowed values for the various parameters you use to configure a PLL. that's it, that's the whole vibe.
the point of these limits is to keep the PLL operating inside valid and stable ranges β so like, no sending it off into chaos territory π₯ the constraints are the vibe check, and the PLL must pass it.
bestie please respect the min/max values. that's not a suggestion, that's the whole stable-operation situation π
π SEE ALSO π
go read these next, they're in the group chat too:
- Kernel file
./include/linux/clk/renesas.hstructrzv2h_pll_pars(9) struct rzv2h_pll_div_pars(9)
that's the whole page, no cap π«Ά this came straight out of the source file at ./include/linux/clk, dated October 2026, and it's filed under struct rzv2h_pll_limits(9) β slay, go configure your PLL responsibly π
π¦ 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