STRUCT DENALI_CHIP_SEL(9)
β¨ NAME β¨
struct denali_chip_sel β per-CS data of Denali NAND
okay so real talk, this little struct is straight out of the Kernel API Manual (that's section 9 bestie, the kernel interfaces girlies) and it's literally the vibe-holder for one chip select on a Denali NAND controller. per-CS. periodt. π¦
πΈ SYNOPSIS πΈ
struct denali_chip_sel {
int bank;
u32 hwhr2_and_we_2_re;
u32 tcwaw_and_addr_2_data;
u32 re_2_we;
u32 acc_clks;
u32 rdwr_en_lo_cnt;
u32 rdwr_en_hi_cnt;
u32 cs_setup_cnt;
u32 re_2_re;
};
no cap, that's the whole glow-up. nine fields, all doing their own little thing π
π Members π
bankβ the bank id of the controller that this CS is hooked up to π«Άhwhr2_and_we_2_reβ the value of timing registerHWHR2_AND_WE_2_REβ¨tcwaw_and_addr_2_dataβ the value of timing registerTCWAW_AND_ADDR_2_DATAβ¨re_2_weβ the value of timing registerRE_2_WEβ¨acc_clksβ the value of timing registerACC_CLKSβ¨rdwr_en_lo_cntβ the value of timing registerRDWR_EN_LO_CNTβ¨rdwr_en_hi_cntβ the value of timing registerRDWR_EN_HI_CNTβ¨cs_setup_cntβ the value of timing registerCS_SETUP_CNTβ¨re_2_reβ the value of timing registerRE_2_REβ¨
like, yes, it's a lot of timing registers, but every single one is a real field and every single one mirrors a real register name, so don't come for me π just copy them exactly, iykyk
π SEE ALSO π
stroll on over to the kernel file ./drivers/mtd/nand/raw/denali.h β and also go say hi to struct denali_chip(9) and struct denali_controller(9) because they're literally family π
that's the whole page bestie, sourced from ./drivers/mtd/nand/raw, dated October 2026, and yes it's struct denali_chip_sel(9) β mwah, bye π§π
π¦ 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