| Hardware Drivers | Low-level peripheral drivers |
| Communication | Serial communication protocols (SPI, I2C, UART) |
| I2C Driver | Inter-Integrated Circuit (I2C) driver |
| API Functions | Function definitions for I2C driver |
| Data Structures | Structs used by the driver |
| Data Types | Enums used by the driver |
| Register Definitions | Register bitmasks and offsets |
| SPI Driver | Serial Peripheral Interface (SPI) driver |
| API Functions | Function definitions for SPI driver |
| Data Structures | Structs used by the driver |
| Data Types | Enums used by the driver |
| Register Definitions | Register bitmasks and offsets |
| SPI Flash Driver | Serial Peripheral Interface (SPI) Flash driver |
| API Functions | Function definitions for SPI Flash driver |
| Data Structures | Main Structs used by the SPI Flash driver |
| Data Types | Enums used by the driver |
| Flash Device Database | Database for supported flash device |
| Flash Capability Flags | Flash Capability and Handling Method |
| JEDEC Identifiers | Manufacturer ID + Memory Type + Capacity + Padding (0x00) |
| Supported Flash Device Info | Global List of Supported Flash Devices |
| Vendor Profiles | Pre-defined capability sets for supported Flash families |
| Register Definitions | Standard SPI Flash command definitions |
| UART Driver | Universal Asynchronous Receiver/Transmitter (UART) driver |
| API Functions | Function definitions for UART driver |
| Data Structures | Structs and Enums used by the driver |
| Data Types | Enums used by the driver |
| Input/Output | GPIO and Pin Control |
| GPIO Driver | General Purpose I/O (GPIO) driver |
| API Functions | Function definitions for GPIO driver |
| Data Structures | Structs and Enums used by the driver |
| Sensors | Sensor drivers (e.g., temperature, pressure) |
| Temperature Sensor Driver | Temperature Sensor driver |
| API Functions | Common Function definitions for Temperature Sensor driver |
| Data Structures | Structs used by the driver |
| Data Types | Enums used by the driver |
| Driver Configuration | Automatic hardware selection logic |
| Supported Devices | Supported Temperature Sensor devices |
| EMC1413 Temperature Sensor Driver | EMC1413 Temperature Sensor driver definitions |
| API Functions | Function definitions for EMC1413 driver |
| Driver Structure | This is the EMC1413 driver structure |
| Register Definitions | Register bitmasks and offsets |
| Timers & Clocks | RTC, PWM, and System Timer |
| Real Time Clock (RTC) Driver | Real Time Clock (RTC) driver |
| API Functions | Function definitions for RTC driver |
| Data Structures | Structs used by the driver |
| Data Types | Enums used by the driver |
| Driver Configuration | Automatic hardware selection logic |
| Supported Devices | Supported Real Time Clock (RTC) devices |
| API Functions | Function definitions for DS3231 driver |
| DS3231 RTC Driver | DS3231 Real Time Clock driver definitions |
| API Functions | Function definitions for DS3231 driver |
| Driver Structure | This is the DS3231 driver structure |
| Register Definitions | Register bitmasks and offsets |
| Driver Structure | This is the IMX708 driver structure |
| PCF8523 RTC Driver | PCF8523 Real Time Clock driver definitions |
| API Functions | Function definitions for PCF8523 driver |
| Driver Structure | This is the PCF8523 driver structure |
| Register Definitions | Register bitmasks and offsets |
| UserTimer Driver | Timer driver API definitions |
| API Functions | Function definitions for Timer driver |
| Data Structures | Structs used by the driver |
| Register Definitions | Register bitmasks and offsets |
| WatchDog Timer Driver | Watchdog driver API definitions |
| API Functions | Function definitions for Watchdog driver |
| Data Structures | Structs used by the driver |
| Data Types | Enums used by the driver |
| Vision | Vision drivers (e.g., camera, ...) |
| Camera Driver | Camera driver |
| API Functions | Function definitions for CAM driver |
| Data Structures | Structs used by the driver |
| Data Types | Enums used by the driver |
| Driver Configuration | Automatic hardware selection logic |
| Supported Devices | Supported Camera |
| IMX219 Camera Driver | IMX219 Camera driver definitions |
| API Functions | Function definitions for IMX219 driver |
| Driver Structure | This is the IMX219 driver structure |
| Register Definitions | Register bitmasks and offsets |
| IMX708 Camera Driver | IMX708 Camera driver definitions |
| API Functions | Function definitions for DS3231 driver |
| Driver Structure | This is the IMX708 driver structure |
| Register Definitions | Register bitmasks and offsets |
| System Core | Core functionality (Interrupts, startup, trap handler) |
| Clint Timer & IRQ Control | Clint & IRQ Handler |
| CLINT Driver | Core Local Interruptor (CLINT) driver |
| API Functions | Function definitions for CLINT driver |
| Data Structures | Structs and Enums used by the driver |
| Data Types | Enums used by the driver |
| IRQ Control | RISC-V CSR Interrupt Management (MIE/MSTATUS) |
| API Functions | Function definitions for IRQ driver |
| Data Structures | Structs and Enums used by the driver |
| Default ISR Stubs | Weak aliases for all PLIC interrupt sources |
| Interrupt Controller Driver | PLIC that control interrupt |
| PLIC Driver | Serial Peripheral Interface (PLIC) driver |
| API Functions | Function definitions for PLIC driver |
| Data Structures | Structs used by the driver |
| RISC-V Core Driver | RISC-V specific driver |
| API Functions | Function definitions for RISCV driver |
| Register Definitions | Register bitmasks and offsets |
| Trap Handlers | Trap Handler |
| API Functions | Function definitions for interrupt handler, exception |
| Assembly Context Helpers | Macros to abstract XLEN (32 vs 64-bit) for inline assembly |
| System Service | Logging |
| Debug Driver | Used to log/assert for debug purpose |
| Configuration & Macros | User Configuration and Logic Macros |
| Constants & Definitions | Register bitmasks, ANSI colors, and Debug Levels |