STRUCT SAMSUNG_PIN_BANK_DATA(9)
π 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 theCONregister to configure a pin as EINT.CONregister, 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_offsetandeint_pend_offsetare ExynosAuto-specific, andeint_fltcon_offsetis 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
- 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