Prerequisites
Hardware, kernel, and bootloader requirements for GraphLab Boot integration.
Supported kernel versions
| Kernel | Status | Notes |
| 6.6.x (Toradex linux-toradex 6.6-2.2.x) | Fully supported | Current validated integration |
| 5.15.x / 6.1.x | Not validated in this repo | Requires dedicated bring-up |
| < 5.15 | Not supported | Missing required DRM features |
DRM/KMS requirements
- Kernel must have
CONFIG_DRM=y and the appropriate display driver enabled
- The DRM driver must support atomic modesetting (
CONFIG_DRM_ATOMIC=y)
Display interface constraints
| Interface | Supported | Notes |
| Primary display path | Yes | Defined by board/device-tree overlay |
| Additional interfaces / dual display | Project-specific | Requires overlay + BSP validation |
Bootloader expectations
- U-Boot SPL must support loading files from the boot FAT partition (device index is image-specific)
- SPL must load
initstub.bin before jumping to the main U-Boot or kernel
- No U-Boot splash screen should be configured (it would reset the display)
- The bootloader must not reinitialize the display controller after the M7 has started
Memory region requirements
| Region | Address | Size | Purpose |
| Interop shared region | 0x83FF0000 | 64 KB | License payload and status handoff |
| RPMsg region | 0x55000000 - 0x550FFFFF | 1 MB | Vring + resource table communication |
| Framebuffer carveout | 0xBE000000 | 16 MB | M7-to-Linux framebuffer handover |
| M7 reserved DDR | 0x80000000 | 16 MB | M7 firmware/runtime reserved memory |
These regions must be reserved in the device tree to prevent Linux from using them.
Unsupported scenarios
- SoCs without a Cortex-M core (no early display capability)
- Kernels without DRM/KMS support (legacy fbdev-only configurations)
- Display pipelines that require full re-initialization on Linux boot (some eDP panels)
Checklist
| Requirement | How to verify |
| ☐ | i.MX8M SoC with Cortex-M7 | Check SoC datasheet |
| ☐ | Kernel 6.6.x with DRM/KMS (validated stack) | uname -r + zcat /proc/config.gz | grep DRM |
| ☐ | U-Boot SPL with FAT support | fatls <dev>:<part> in U-Boot |
| ☐ | Reserved memory in device tree | Check /proc/device-tree/reserved-memory/ |
| ☐ | DRM connector reports connected | for f in /sys/class/drm/card0-*/status; do echo "$f: $(cat "$f")"; done |