STRUCT CLK_PLL_DATA(9)
πΈ NAME πΈ
okay so this is the Kernel API Manual page for struct clk_pll_data, and the NAME line says struct clk_pll_data - pll data structure β literally the pll data structure bestie β¨.
β¨ SYNOPSIS β¨
struct clk_pll_data {
bool has_pllctrl;
u32 phy_pllm;
u32 phy_pll_ctl0;
void __iomem *pllm;
void __iomem *pllod;
void __iomem *pll_ctl0;
u32 pllm_lower_mask;
u32 pllm_upper_mask;
u32 pllm_upper_shift;
u32 plld_mask;
u32 clkod_mask;
u32 clkod_shift;
u32 postdiv;
};
π Members π
has_pllctrlβ if it's set to non zero, the lower6bits of the multiplier are in thepllmregister of the pll controller; otherwise it is inpll_ctrl0((bit 11-6)(yep, the original punctuation is giving((energy π β the bit range is11-6).phy_pllmβ physical address ofPLLMin the pll controller. Used whenhas_pllctrlis non zero. periodt.phy_pll_ctl0β physical address ofPLL ctrl0. This could be that ofMain PLLor any other PLLs in the device such asARM PLL,DDR PLLorPA PLLavailable onkeystone2. These PLLs are controlled by this register.Main PLLis controlled by a PLL controller. slay.pllmβ PLL register map address for multiplier bits.pllodβ PLL register map address for post divider bits.pll_ctl0β PLL controller map address.pllm_lower_maskβ multiplier lower mask.pllm_upper_maskβ multiplier upper mask.pllm_upper_shiftβ multiplier upper shift.plld_maskβ divider mask.clkod_maskβ output divider mask.clkod_shiftβ output divider shift.postdivβ fixed post divider.
π SEE ALSO π
okay these are the linked-up friends, all from the kernel file ./drivers/clk/keystone/pll.c:
struct clk_pll(9)_of_pll_clk_init(9)of_keystone_pll_clk_init(9)of_keystone_main_pll_clk_init(9)of_pll_div_clk_init(9)of_pll_mux_clk_init(9)
xoxo, this cutie is from ./drivers/clk/keystone, dated October 2026, and the page is struct clk_pll_data(9). bye bestie, stay slay π
π«Άπ
π¦ 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