include/linux/fsl_ifc.h
Source file repositories/reference/linux-study-clean/include/linux/fsl_ifc.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/fsl_ifc.h- Extension
.h- Size
- 25063 bytes
- Lines
- 904
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/compiler.hlinux/types.hlinux/io.hlinux/of_platform.hlinux/interrupt.h
Detected Declarations
struct fsl_ifc_nandstruct fsl_ifc_norstruct fsl_ifc_gpcmstruct fsl_ifc_globalstruct fsl_ifc_runtimestruct fsl_ifc_ctrlenum ifc_nand_fir_opcodesfunction ifc_in32function ifc_in16function ifc_in8function ifc_out32function ifc_out16function ifc_out8
Annotated Snippet
struct fsl_ifc_nand {
__be32 ncfgr;
u32 res1[0x4];
__be32 nand_fcr0;
__be32 nand_fcr1;
u32 res2[0x8];
__be32 row0;
u32 res3;
__be32 col0;
u32 res4;
__be32 row1;
u32 res5;
__be32 col1;
u32 res6;
__be32 row2;
u32 res7;
__be32 col2;
u32 res8;
__be32 row3;
u32 res9;
__be32 col3;
u32 res10[0x24];
__be32 nand_fbcr;
u32 res11;
__be32 nand_fir0;
__be32 nand_fir1;
__be32 nand_fir2;
u32 res12[0x10];
__be32 nand_csel;
u32 res13;
__be32 nandseq_strt;
u32 res14;
__be32 nand_evter_stat;
u32 res15;
__be32 pgrdcmpl_evt_stat;
u32 res16[0x2];
__be32 nand_evter_en;
u32 res17[0x2];
__be32 nand_evter_intr_en;
__be32 nand_vol_addr_stat;
u32 res18;
__be32 nand_erattr0;
__be32 nand_erattr1;
u32 res19[0x10];
__be32 nand_fsr;
u32 res20;
__be32 nand_eccstat[8];
u32 res21[0x1c];
__be32 nanndcr;
u32 res22[0x2];
__be32 nand_autoboot_trgr;
u32 res23;
__be32 nand_mdr;
u32 res24[0x1C];
__be32 nand_dll_lowcfg0;
__be32 nand_dll_lowcfg1;
u32 res25;
__be32 nand_dll_lowstat;
u32 res26[0x3c];
};
/*
* IFC controller NOR Machine registers
*/
struct fsl_ifc_nor {
__be32 nor_evter_stat;
u32 res1[0x2];
__be32 nor_evter_en;
u32 res2[0x2];
__be32 nor_evter_intr_en;
u32 res3[0x2];
__be32 nor_erattr0;
__be32 nor_erattr1;
__be32 nor_erattr2;
u32 res4[0x4];
__be32 norcr;
u32 res5[0xEF];
};
/*
* IFC controller GPCM Machine registers
*/
struct fsl_ifc_gpcm {
__be32 gpcm_evter_stat;
u32 res1[0x2];
__be32 gpcm_evter_en;
u32 res2[0x2];
__be32 gpcm_evter_intr_en;
u32 res3[0x2];
__be32 gpcm_erattr0;
Annotation
- Immediate include surface: `linux/compiler.h`, `linux/types.h`, `linux/io.h`, `linux/of_platform.h`, `linux/interrupt.h`.
- Detected declarations: `struct fsl_ifc_nand`, `struct fsl_ifc_nor`, `struct fsl_ifc_gpcm`, `struct fsl_ifc_global`, `struct fsl_ifc_runtime`, `struct fsl_ifc_ctrl`, `enum ifc_nand_fir_opcodes`, `function ifc_in32`, `function ifc_in16`, `function ifc_in8`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.