STRUCT EMIF_DATA(9)
okay bestie, welcome to struct emif_data(9) from the Kernel API Manual β yes we are doing kernel structs today and it's giving main character energy π
β¨
β¨ NAME β¨
struct emif_data β per device static data for driver's use. That's the whole vibe: it's the static data each device keeps around for its driver. π«Ά
π¦ SYNOPSIS π¦
The struct itself is lowkey a whole mood:
struct emif_data {
u8 duplicate;
u8 temperature_level;
u8 lpmode;
struct list_head node;
void __iomem *base;
struct device *dev;
struct emif_regs
*regs_cache[EMIF_MAX_NUM_FREQUENCIES];
struct emif_regs *curr_regs;
struct emif_platform_data *plat_data;
struct dentry *debugfs_root;
struct device_node *np_ddr;
};
π Members π
okay so here's the member-by-member tea, no cap:
duplicateβ tells you whether the DDR devices attached to this EMIF instance are exactly same as that onEMIF1. In this case we can save some memory and processing. efficiency slay πtemperature_levelβ the maximum temperature of LPDDR2 devices attached to this EMIF, read from theMR4register. If there are two devices attached to this EMIF, this value is the maximum of the two temperature levels. hot girl summer but make it thermal data π‘οΈlpmodeβ the chosen low power mode. low power, high vibes β¨nodeβ node in the device list. linked-list realness πbaseβ base address of memory-mapped IO registers. where the registers live πdevβ device pointer. the classicstruct devicepointer moment π«Άregs_cacheβ an array ofstruct emif_regsthat stores calculated register values for different frequencies, to avoid re-calculating them on each DVFS transition. cache it and slay πcurr_regsβ the set of register values used in the last frequency change (i.e. corresponding to the frequency in effect at the moment). current era register values πplat_dataβ pointer to saved platform data. platform data, preserved and cute πdebugfs_rootβ dentry to the root folder for EMIF in debugfs. debugfs root folder energy π¦np_ddrβ pointer to ddr device tree node. device tree node bestie πΈ
π SEE ALSO π
go look at Kernel file ./drivers/memory/emif.c β that's the source of truth, iykyk ππ₯
made with love from the source/version ./drivers/memory, dated October 2026, for the struct emif_data(9) page β 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