STRUCT SAMSUNG_PIN_BANK_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct samsung_pin_bank_data β€” NAME ✨

okay so bestie, welcome to the Kernel API Manual 🫢 β€” this page is all about struct samsung_pin_bank_data, and it literally represents a controller pin-bank (init data). that's the whole vibe. init data. not the live one, the blueprint one. iykyk πŸ’œ


πŸ“œ SYNOPSIS 🌸

struct samsung_pin_bank_data {
    const struct samsung_pin_bank_type *type;
    u32 pctl_offset;
    u8 pctl_res_idx;
    u8 nr_pins;
    u8 eint_func;
    enum eint_type  eint_type;
    u32 eint_mask;
    u32 eint_offset;
    u32 eint_num;
    u32 eint_con_offset;
    u32 eint_mask_offset;
    u32 eint_pend_offset;
    u32 eint_fltcon_offset;
    const char      *name;
 };

periodt. that's the entire struct, copied exactly, no notes πŸ’…


πŸŽ€ Members πŸ‘‘

okay so this is the part where each field gets its moment, main character energy only:

  • type β€” the type of the bank (register offsets and bitfield widths). it's giving "how do i read the registers" energy ✨
  • pctl_offset β€” the starting offset of the pin-bank registers. like, where the registers begin. starting point. slay πŸ¦‹
  • pctl_res_idx β€” the index of the base address for pin-bank registers. index. base address. yeah πŸ’–
  • nr_pins β€” number of pins included in this bank. literally just how many pins live here πŸ”₯
  • eint_func β€” the function to set in the CON register to configure a pin as EINT. CON register, capital letters, respect it πŸ’€
  • eint_type β€” the type of the external interrupt supported by the bank. highkey important 😭
  • eint_mask β€” bit mask of pins which support the EINT function. bit masks are so iconic honestly 🌈
  • eint_offset β€” SoC-specific EINT register or interrupt offset of the bank. SoC-specific. remember that ⭐
  • eint_num β€” total number of eint pins. total! not partial! πŸ’…
  • eint_con_offset β€” ExynosAuto SoC-specific EINT control register offset of the bank. ExynosAuto, specifically, no cap πŸ“
  • eint_mask_offset β€” ExynosAuto SoC-specific EINT mask register offset of the bank. again: ExynosAuto. specifically. 🧚
  • eint_pend_offset β€” ExynosAuto SoC-specific EINT pend register offset of the bank. pend register. ExynosAuto. you got this πŸ’œ
  • eint_fltcon_offset β€” GS101 SoC-specific EINT filter config register offset. and this one's GS101, not ExynosAuto β€” different SoC, don't mix them up bestie πŸ™ˆ
  • name β€” the name to be prefixed for each pin in this pin bank. prefix. every pin. all of them. πŸŽ€
lowkey a warning even though the original didn't say it dramatically: eint_con_offset, eint_mask_offset and eint_pend_offset are ExynosAuto-specific, and eint_fltcon_offset is GS101-specific. keep the SoCs straight and you'll be fine 🫢

πŸ” SEE ALSO 🌟

kernel file ./drivers/pinctrl/samsung/pinctrl-samsung.h, plus the whole friend group:

  • enum pincfg_type(9)
  • enum eint_type(9)
  • struct samsung_pin_bank_type(9)
  • struct samsung_pin_bank(9)
  • struct samsung_retention_data(9)
  • struct samsung_pin_ctrl(9)
  • struct samsung_pinctrl_drv_data(9)
  • struct samsung_pinctrl_of_match_data(9)
  • struct samsung_pin_group(9)
  • struct samsung_pmx_func(9)

go read them. they ate. πŸ’…βœ¨


alright that's the page! this little gem lives in ./drivers/pinctrl/samsung, dated October 2026, and it's titled struct samsu...in_bank_data(9) if you're being all formal about it. mwah, go configure some pins bestie πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from