STRUCT NMK_PINCTRL_SOC_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct nmk_pinctrl_soc_data(9) πŸ¦‹

okay so bestie, this is a Kernel API Manual page and it's literally all about struct nmk_pinctrl_soc_data β€” the Nomadik pin controller per-SoC configuration struct. yes, the whole page. it's giving "one struct, so much lore" and honestly? we stan a focused queen. πŸ’…


✨ NAME ✨

struct nmk_pinctrl_soc_data β€” the Nomadik pin controller per-SoC configuration. that's it, that's the vibe. πŸŽ€


🌸 SYNOPSIS 🌸

here's the whole struct, character for character, no cap β€” do not touch a single semicolon:

struct nmk_pinctrl_soc_data {
    const struct pinctrl_pin_desc *pins;
    unsigned int npins;
    const struct nmk_function *functions;
    unsigned int nfunctions;
    const struct nmk_pingroup *groups;
    unsigned int ngroups;
    const struct prcm_gpiocr_altcx_pin_desc *altcx_pins;
    unsigned int npins_altcx;
    const u16 *prcm_gpiocr_registers;
 };

look at her. nine fields. immaculate. 🫢


πŸ’– Members πŸ’–

okay now the main character energy β€” every single member, explained:

  • pins β€” an array describing all the pins the pin controller affects. and listen, this part is important: all pins which are also GPIOs must be listed first within the array, and they have to be numbered identically to the GPIO controller's numbering. no exceptions, no vibes-based reordering, fr fr. πŸ™ˆ
  • npins β€” the number of entries in pins. the headcount. the pins attendance sheet. ✨
  • functions β€” the functions supported on this SoC. this SoC's whole personality, basically. πŸ’œ
  • nfunctions β€” the number of entries in functions. math, but make it necessary. πŸ”₯
  • groups β€” an array describing all pin groups the pin SoC supports. squad goals, but hardware. πŸ‘‘
  • ngroups β€” the number of entries in groups. bestie, count your group chat members. 🧚
  • altcx_pins β€” the pins that support Other alternate-C function on this SoC. yes, "Other" is capitalised in the original, we are respecting the proper noun. πŸ¦‹
  • npins_altcx β€” the number of Other alternate-C pins. again: count. πŸ”’
  • prcm_gpiocr_registers β€” the array of PRCM GPIOCR registers on this SoC. the one with the long name that ate and left no crumbs. πŸ’€

🌈 SEE ALSO 🌈

go read these next, iykyk:

  • Kernel file ./include/linux/gpio/gpio-nomadik.h enum prcm_gpiocr_reg_index(9)
  • enum prcm_gpiocr_altcx_index(9)
  • struct prcm_gpiocr_altcx(9)
  • struct prcm_gpiocr_altcx_pin_desc(9)
  • struct nmk_function(9)
  • struct nmk_pingroup(9)

literally a whole reading list. take notes. ⭐


πŸŽ€ tiny reminder that this page lives in ./include/linux/gpio β€” don't go looking for it in the wrong directory and then @ me about it. πŸŽ€

and that's the page!! tysm for coming to my TED talk, mwah πŸ’–

β€” with love, from ./include/linux/gpio, dated October 2026, on behalf of struct nmk_pinctrl_soc_data(9). slay, periodt, and go configure some pins. πŸ“βœ¨

πŸ“¦ where this page comes from