# ezurio/meta-summit-som architecture

> Architecture diagram of the GitHub repository ezurio/meta-summit-som, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ezurio/meta-summit-som
- Repository: https://github.com/ezurio/meta-summit-som

## Overview

This repository is a Yocto/OpenEmbedded layer for Summit SOM devices, not a standalone application. Its main product workflow is to select a machine and distribution configuration, assemble an image with the layer’s board-support and package customizations, then boot and operate that image with optional secure boot and software updates. The tree also shows connectivity, remote-management, and USB hub-control capabilities. The README is empty and source excerpts are partial, so the graph groups these capabilities by their visible paths and avoids asserting unverified recipe wiring.

Main entry points: [`recipes-summit/images`](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-summit/images) (Image Recipes), [`recipes-bsp/linux`](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-bsp/linux) (Linux Board Support), [`recipes-packages/swupdate`](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-packages/swupdate) (Software Updates), [`conf/layer.conf`](https://github.com/ezurio/meta-summit-som/blob/scarthgap-summit-5.26.0.x/conf/layer.conf) (Layer Metadata)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_config["Platform Configuration"]
  node_layer["Layer Metadata<br/>[layer.conf]"]
  node_machine["Machine Config"]
  node_distro["Distro Variants"]
end

subgraph group_image["Image and Updates"]
  node_image_recipes["Image Recipes"]
  node_image_classes["Image Classes"]
  node_swupdate["Software Updates"]
  node_update_files["Update Descriptions"]
end

subgraph group_bsp["Board Support"]
  node_uboot["U-Boot Board Support"]
  node_kernel["Linux Board Support"]
  node_device_tree["Board Device Trees"]
  node_pac193x["Power Monitor Driver<br/>[pac193x.c]"]
end

subgraph group_services["Device Services"]
  node_network["Network Connectivity"]
  node_radio["Radio Package Group"]
  node_rcm["Remote Management"]
  node_initdata["System Initialization"]
  node_hub["USB Hub Control"]
end

node_user(("Device Integrator"))
node_usb_hub{{"USB Hub Device"}}
node_update_service{{"Update Service"}}

node_user -->|"selects target"| node_machine
node_user -->|"selects variant"| node_distro
node_layer -->|"provides recipes"| node_image_recipes
node_image_recipes -->|"image generation"| node_image_classes
node_image_recipes -.->|"includes update support"| node_swupdate
node_update_files -->|"describes update"| node_swupdate
node_uboot -->|"boots system"| node_kernel
node_kernel -->|"uses board description"| node_device_tree
node_kernel -->|"supports driver"| node_pac193x
node_network -->|"connectivity packages"| node_radio
node_initdata -.->|"configures services"| node_rcm
node_hub -->|"controls"| node_usb_hub
node_update_service -.->|"requests updates"| node_swupdate

click node_layer "https://github.com/ezurio/meta-summit-som/blob/scarthgap-summit-5.26.0.x/conf/layer.conf"
click node_machine "https://github.com/ezurio/meta-summit-som/blob/scarthgap-summit-5.26.0.x/conf/machine/imx8mp-summitsom.conf"
click node_distro "https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/conf/distro"
click node_image_recipes "https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-summit/images"
click node_image_classes "https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/classes-recipe"
click node_swupdate "https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-packages/swupdate"
click node_update_files "https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-summit/images/files"
click node_uboot "https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-bsp/u-boot-imx/files/imx8mp-summitsom/git"
click node_kernel "https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-bsp/linux"
click node_device_tree "https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-bsp/linux/linux-imx/config"
click node_pac193x "https://github.com/ezurio/meta-summit-som/blob/scarthgap-summit-5.26.0.x/recipes-bsp/kernel-module-pac193x/files/pac193x/pac193x.c"
click node_network "https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-connectivity"
click node_radio "https://github.com/ezurio/meta-summit-som/blob/scarthgap-summit-5.26.0.x/recipes-summit/packagegroups/packagegroup-radio-stack.bb"
click node_rcm "https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-summit/summit-rcm"
click node_initdata "https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-summit/summit-initdata"
click node_hub "https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-packages/hub-ctrl/files/libpt2"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_layer,node_machine,node_distro toneBlue
class node_image_recipes,node_image_classes,node_swupdate,node_update_files toneAmber
class node_uboot,node_kernel,node_device_tree,node_pac193x toneMint
class node_network,node_radio,node_rcm,node_initdata,node_hub toneRose
class node_user,node_usb_hub,node_update_service toneIndigo
```

## Components

### Platform Configuration

- [Layer Metadata](https://github.com/ezurio/meta-summit-som/blob/scarthgap-summit-5.26.0.x/conf/layer.conf): `conf/layer.conf`
- [Machine Config](https://github.com/ezurio/meta-summit-som/blob/scarthgap-summit-5.26.0.x/conf/machine/imx8mp-summitsom.conf): `conf/machine/imx8mp-summitsom.conf`
- [Distro Variants](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/conf/distro): `conf/distro`

### Image and Updates

- [Image Recipes](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-summit/images): `recipes-summit/images`
- [Image Classes](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/classes-recipe): `classes-recipe`
- [Software Updates](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-packages/swupdate): `recipes-packages/swupdate`
- [Update Descriptions](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-summit/images/files): `recipes-summit/images/files`

### Board Support

- [U-Boot Board Support](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-bsp/u-boot-imx/files/imx8mp-summitsom/git): `recipes-bsp/u-boot-imx/files/imx8mp-summitsom/git`
- [Linux Board Support](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-bsp/linux): `recipes-bsp/linux`
- [Board Device Trees](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-bsp/linux/linux-imx/config): `recipes-bsp/linux/linux-imx/config`
- [Power Monitor Driver](https://github.com/ezurio/meta-summit-som/blob/scarthgap-summit-5.26.0.x/recipes-bsp/kernel-module-pac193x/files/pac193x/pac193x.c): `recipes-bsp/kernel-module-pac193x/files/pac193x/pac193x.c`

### Device Services

- [Network Connectivity](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-connectivity): `recipes-connectivity`
- [Radio Package Group](https://github.com/ezurio/meta-summit-som/blob/scarthgap-summit-5.26.0.x/recipes-summit/packagegroups/packagegroup-radio-stack.bb): `recipes-summit/packagegroups/packagegroup-radio-stack.bb`
- [Remote Management](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-summit/summit-rcm): `recipes-summit/summit-rcm`
- [System Initialization](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-summit/summit-initdata): `recipes-summit/summit-initdata`
- [USB Hub Control](https://github.com/ezurio/meta-summit-som/tree/scarthgap-summit-5.26.0.x/recipes-packages/hub-ctrl/files/libpt2): `recipes-packages/hub-ctrl/files/libpt2`

### Other components

- **Device Integrator**
- **USB Hub Device**
- **Update Service**

## Connections

- Device Integrator → Machine Config: selects target
- Device Integrator → Distro Variants: selects variant
- Layer Metadata → Image Recipes: provides recipes
- Image Recipes → Image Classes: image generation
- Image Recipes → Software Updates: includes update support
- Update Descriptions → Software Updates: describes update
- U-Boot Board Support → Linux Board Support: boots system
- Linux Board Support → Board Device Trees: uses board description
- Linux Board Support → Power Monitor Driver: supports driver
- Network Connectivity → Radio Package Group: connectivity packages
- System Initialization → Remote Management: configures services
- USB Hub Control → USB Hub Device: controls
- Update Service → Software Updates: requests updates
