Supported Hardware

OrchestraOS hardware support is provided by the meta-orchestraos-bsp layer. The layer currently provides machine configurations for the following targets:

Supported hardware targets

Name

MACHINE

CPU

Link

Picture

EIG-M (Edge IoT Gateway M)

eigm

NXP i.MX8M Plus

https://cthings.co/products/edge-iot-gateways

EIG-M

EIG-M-DIN (Edge IoT Gateway M DIN Rail Version)

eigmdin

NXP i.MX8M Plus

https://cthings.co/products/edge-iot-gateways

EIG-M-DIN

EIG-MA (Edge IoT Gateway MA)

eigma

NXP i.MX8M Quad

https://cthings.co/hardware/asusiot

EIG-MA

EIG-XS (Edge IoT Gateway XS)

eigxs

NXP i.MX93

https://cthings.co/products/edge-iot-gateways

EIG-XS

The machine configuration files are stored under layers/meta-orchestraos-bsp/conf/machine. Hardware-specific kernel, bootloader, firmware, and signing integration live in the same meta-orchestraos-bsp layer.

Platform Integration Details

Kernel And Bootloader Sources

All four EIG machine configurations explicitly select linux-fslc-imx as the preferred virtual kernel provider. They retain the NXP BSP selection for other platform components. The common kernel recipe applies machine-specific Compulab or ASUS support on top of the selected community kernel revision. U-Boot remains u-boot-imx 2024.04 with vendor sources and board patches.

EIG platform sources

MACHINE

Kernel provider and board support

Bootloader source / branch

eigm

linux-fslc-imx; Compulab patches and eigm_def_config.

Compulab u-boot-compulab_v2024.04-2.2.0.

eigmdin

linux-fslc-imx; shared EIG-M integration and DIN device tree.

Compulab u-boot-compulab_v2024.04-2.2.0.

eigma

linux-fslc-imx; ASUS patches and eigma_def_config.

ASUS yocto-5.0-imx_8m.

eigxs

linux-fslc-imx; Compulab patches and eigxs_def_config.

Compulab u-boot-compulab_v2024.04.

The EIG BSP selects Linux 6.6.157. Use the selected BSP revision and image inventory to identify the exact source revision and applied board patches.

Board Firmware and Memory Variants

EIG-M and EIG-M-DIN include Ethernet PHY/RGMII timing fixes in both kernel and U-Boot integration. EIG-M-DIN adds NXP 88W8997 Wi-Fi/Bluetooth firmware. EIGXS includes the Sona Wi-Fi firmware and board-specific wireless module, SIMCom modem configuration, and Ethos-U firmware. These selections describe software enablement; a peripheral must also be fitted and enabled by the board configuration.

The EIG-M family supplies U-Boot configurations sd-d1, sd-d2, sd-d4, and sd-d8. Use the configuration matching the gateway’s memory when choosing UUU scripts. RAUC bootloader variants use corresponding normalized names such as sd_d2 and sd_d4; the EIG-M system-info handler selects the variant from detected memory size.

Secure Boot Type

Secure-boot signing is enabled through machine features. The supported BSP machines append both imx-boot-signature and linux-imx-signature to MACHINE_FEATURES. Those features select signed bootloader and signed kernel artifacts during the build.

Secure boot family

MACHINE

SoC family

Secure boot type

Signing features

eigm

i.MX8M Plus

HAB4

imx-boot-signature, linux-imx-signature

eigmdin

i.MX8M Plus

HAB4

imx-boot-signature, linux-imx-signature

eigma

i.MX8M Quad

HAB4

imx-boot-signature, linux-imx-signature

eigxs

i.MX93

AHAB

imx-boot-signature, linux-imx-signature

The HAB4/AHAB selection follows the NXP SoC family. i.MX8M-family targets use HAB4, while i.MX93 targets use AHAB. For key generation and signing-data layout, see Signing Keys Generation.

Device Tree Selection

Each machine defines a KERNEL_DEVICETREE_BASENAME and installs the device trees needed by that machine. The common eig.inc include derives KERNEL_DEVICETREE_DEFAULT from:

${KERNEL_DEVICETREE_BASENAME}${KERNEL_DEVICETREE_SUFFIX}

For most machines, the suffix is empty and the base device tree is selected. The EIG-M machine also supports add-on-module based selection through MACHINE_FEATURES:

EIG-M device-tree suffix selection

MACHINE_FEATURES

KERNEL_DEVICETREE_SUFFIX

Selected default device tree

m2tpm-module-present

-m2tpm

compulab/iot-gate-imx8plus-m2tpm.dtb

usbdev-module-present

-usbdev

compulab/iot-gate-imx8plus-usbdev.dtb

neither feature present

empty

compulab/iot-gate-imx8plus.dtb

If both EIG-M module features are present, m2tpm-module-present takes priority because it is checked first in eigm.conf.

Other machines currently use fixed default device trees:

Fixed default device trees

MACHINE

Default device tree

eigmdin

compulab/iotdin-imx8p.dtb

eigma

freescale/imx8mq-pe100a.dtb

eigxs

compulab/iot-link.dtb