STRUCT ALTERNATE_FUNCTIONS(9)
β¨ NAME β¨
struct alternate_functions β honestly bestie, the original leaves this one blank, so we're just vibing with the struct name and no tagline. Iconic minimalist behavior, we respect it π
πΈ SYNOPSIS πΈ
struct alternate_functions {
unsigned pin_number;
s8 gpiosel_bit;
s8 alt_bit1;
s8 alt_bit2;
u8 alta_val;
u8 altb_val;
u8 altc_val;
};
π Members π
pin_numberβ the pin number, literally just which pin we're talking about π«Άgpiosel_bitβ the control bit living inside theGPIOSELregister,alt_bit1β the first AlternateFunction bit, aka one of the two bits that do the selecting of which alternate function you get β¨alt_bit2β the second AlternateFunction bit, the other half of the duo doing that same selecting π«alta_valβ the value you write intoalternatfuncto select the altA functionaltb_valβ the value you write intoalternatfuncto select altB functionaltc_valβ the value you write intoalternatfuncto select altC function
π¦ Description π¦
okay so here's the tea β β these 3 following fields are necessary due to none coherency on how to select the altA, altB and altC function between the ABx500 SOC family when using the alternatfunc register. no cap, that's the whole reason they exist. the ABx500 family lowkey doesn't agree with itself on this one, so the struct has to carry all three values around π
π₯ SEE ALSO π₯
Kernel file ./drivers/pinctrl/nomadik/pinctrl-abx500.h struct abx500_function(9), struct abx500_pingroup(9), struct abx500_gpio_irq_cluster(9), struct abx500_pinrange(9), struct abx500_pinctrl_soc_data(9)
and that's the whole page, bestie π§π this one came from ./drivers/pinctrl/nomadik, dated October 2026 β go forth and select your alternate functions, mwah ππ
π¦ 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