Developer Docs

Advanced Topics

Multi-display, secure boot, watchdog behavior, and build system integration.


Secure Boot Compatibility

GraphLab Boot does not modify or participate in the platform secure boot chain. It operates on top of the standard boot flow provided by the BSP.

If secure boot (for example NXP High Assurance Boot) is enabled on the platform, all boot-stage binaries must still be signed according to the platform vendor's requirements. GraphLab Boot does not change this process.

  • Boot ROM verifies the signed SPL as usual
  • U-Boot SPL loads the remaining boot components normally
  • GraphLab components are loaded as part of the standard boot process
  • If a boot-stage binary is corrupted or fails verification, the system will not boot

GraphLab Boot does not implement its own secure boot mechanism and does not interfere with the platform's existing trust chain.

Watchdog reset behavior

When the hardware watchdog triggers a reset:

  1. The SoC performs a warm reset — all cores restart from their reset vectors
  2. The M7 firmware reinitializes the display and renders the splash (same as cold boot)
  3. The boot sequence proceeds normally through U-Boot → Kernel → Userspace
  4. The visual experience is identical to a cold boot — no prolonged blank screen

Important: The watchdog timeout must be long enough for the kernel to boot and start petting the watchdog from userspace. The default timeout of 30 seconds is sufficient for most configurations.

Industrial display timing

Industrial LVDS panels often require specific timing parameters that differ from standard consumer displays. GraphLab Boot handles this by:

  • Allowing custom timing tables in the M7 firmware configuration
  • Supporting non-standard resolutions and refresh rates
  • Coordinating the timing between M7 initialization and Linux DRM takeover

Interaction with Yocto / Torizon

Yocto integration

GraphLab Boot integrates into Yocto-based BSPs through the meta-graphlab layer.

The layer applies the minimal changes required to enable the GraphLab display handover pipeline:

  • U-Boot SPL adaptations
  • GraphLab DRM kernel module
  • Device tree additions for the GraphLab display node

Once the layer is added to bblayers.conf, no additional integration steps are required.

The integration is designed to work with standard Yocto BSP workflows and does not modify the overall build process.

Torizon

GraphLab Boot is compatible with Toradex BSPs used by Torizon-based systems.

Integration follows the same mechanism as Yocto-based systems by including the meta-graphlab layer in the build.

GraphLab Boot does not depend on the Torizon container runtime and operates at the BSP level.