Developer Docs

Prerequisites

Hardware, kernel, and bootloader requirements for GraphLab Boot integration.


Supported kernel versions

KernelStatusNotes
6.6.x (Toradex linux-toradex 6.6-2.2.x)Fully supportedCurrent validated integration
5.15.x / 6.1.xNot validated in this repoRequires dedicated bring-up
< 5.15Not supportedMissing 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

InterfaceSupportedNotes
Primary display pathYesDefined by board/device-tree overlay
Additional interfaces / dual displayProject-specificRequires 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

RegionAddressSizePurpose
Interop shared region0x83FF000064 KBLicense payload and status handoff
RPMsg region0x55000000 - 0x550FFFFF1 MBVring + resource table communication
Framebuffer carveout0xBE00000016 MBM7-to-Linux framebuffer handover
M7 reserved DDR0x8000000016 MBM7 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

RequirementHow to verify
i.MX8M SoC with Cortex-M7Check SoC datasheet
Kernel 6.6.x with DRM/KMS (validated stack)uname -r + zcat /proc/config.gz | grep DRM
U-Boot SPL with FAT supportfatls <dev>:<part> in U-Boot
Reserved memory in device treeCheck /proc/device-tree/reserved-memory/
DRM connector reports connectedfor f in /sys/class/drm/card0-*/status; do echo "$f: $(cat "$f")"; done