From fe4be6073faffc6a9101700ddf93dd9b02ffa1e5 Mon Sep 17 00:00:00 2001 From: Mahammed Sadik Shaik Date: Tue, 14 Apr 2026 17:14:48 +0530 Subject: [PATCH 1/2] conf: include grahviz extension Include graphviz extension for generating flow diagrams and add graphviz output format as SVG. Include the graphviz package to Dockerfile Signed-off-by: Mahammed Sadik Shaik --- conf.py | 4 ++++ docker/Dockerfile | 1 + 2 files changed, 5 insertions(+) diff --git a/conf.py b/conf.py index 180aca691..4270352f0 100644 --- a/conf.py +++ b/conf.py @@ -39,6 +39,7 @@ 'sphinx.ext.todo', 'sphinx.ext.mathjax', 'sphinx.ext.ifconfig', + 'sphinx.ext.graphviz', 'sphinx_rtd_theme', 'sphinx_tabs.tabs', 'sphinx_copybutton' @@ -253,6 +254,9 @@ # Suppress warnings about excluded documents because every device gets a different toc tree suppress_warnings = ['toc.excluded'] +# Render graphviz diagrams as SVG so that hyperlinks in diagrams are clickable +graphviz_output_format = 'svg' + # -- Tag file loader ------------------------------------------------------ FAMILY = os.environ.get("DEVFAMILY", "") diff --git a/docker/Dockerfile b/docker/Dockerfile index 7edba1ec2..28fd1101c 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -8,6 +8,7 @@ RUN apk add --no-cache \ diffutils \ dumb-init \ git \ + graphviz \ make \ py3-pip \ ripgrep \ From 30542b340b3d47a964bae1810479dfc7c76de22e Mon Sep 17 00:00:00 2001 From: Mahammed Sadik Shaik Date: Tue, 14 Apr 2026 17:17:14 +0530 Subject: [PATCH 2/2] fix(buildroot): add architecture for buildroot Add a architecture diagram for buildroot build system using graphviz. Signed-off-by: Mahammed Sadik Shaik --- source/buildroot/Overview.rst | 409 +++++++++++++++++++++++++++++++++- 1 file changed, 408 insertions(+), 1 deletion(-) diff --git a/source/buildroot/Overview.rst b/source/buildroot/Overview.rst index 5e338b301..5586e44a6 100644 --- a/source/buildroot/Overview.rst +++ b/source/buildroot/Overview.rst @@ -8,7 +8,414 @@ cross-compiled toolchains, root filesystems, Linux kernels, and bootloaders. Buildroot is highly customizable, allowing developers to tailor their Linux environment to meet the specific needs of their embedded projects. -Buildroot official Git repository is hosted at `Gitlab/Buildroot `__. + +************************************** +Buildroot Architecture for TI Devices +************************************** + +The diagram below shows the Buildroot-based Linux embedded software distribution main components for TI devices. + +The open-source Linux\ :sup:`®` distribution, based on the Buildroot build system, running on the Arm\ :sup:`®` Cortex\ :sup:`®`\-A processors, includes: + +- **TI BSP Components** — the Texas Instruments Board Support Package, comprising: + + - The boot chain based on **TF-A** (Trusted Firmware-A) and **U-Boot**. + - The secure monitor based on **TF-A** and **OP-TEE**, running on the Arm\ :sup:`®` + Cortex\ :sup:`®`\-A in secure mode. + - The **OP-TEE** secure OS running on the Arm\ :sup:`®` Cortex\ :sup:`®`\-A in secure mode, + providing a Trusted Execution Environment (TEE) for Trusted Applications. + - The **Linux Kernel** and **TI Kernel Drivers** running on the Arm\ :sup:`®` + Cortex\ :sup:`®`\-A in non-secure mode, along with board-specific **Device Trees**. + - The **TI Linux Firmware** providing co-processor firmwares + (not applicable for AM62Lx-EVM). + +- **Buildroot Build System** — consisting of: + + - **Buildroot Core**: the upstream Buildroot framework that drives the entire build. + - **Buildroot External-TI**: the TI-specific external tree + (`buildroot-external-TI `__) + that adds TI board configurations, packages, and patches without modifying upstream Buildroot. + +- **Applications** — the user-space software layer built on top of the BSP, including + GUI applications, custom applications, Trusted Applications running under OP-TEE, + and middleware and libraries. + +- **Build Artifacts** — the outputs produced by the Buildroot build system: an SD card + image, individual boot artifacts, and a root filesystem. + +.. note:: + + Each component in the diagram below is a **clickable hyperlink** that navigates + directly to the corresponding source repository or documentation. + +.. container:: buildroot-arch-diagram + + .. graphviz:: + :caption: Buildroot-based Linux Architecture for TI Devices + + digraph buildroot_architecture { + rankdir=TB; + graph [splines=ortho, nodesep=0.7, ranksep=0.9, + fontname="Arial", pad=0.7, bgcolor="white"]; + node [fontname="Arial", fontsize=7, margin=0]; + edge [fontname="Arial", fontsize=13, penwidth=2.5, + arrowsize=1.5]; + + subgraph cluster_outer { + label="Buildroot-based Linux(R) Embedded Software for TI Devices"; + style="filled,bold"; + fillcolor="#F0F4FF"; + color="#1A237E"; + penwidth=5; + fontsize=26; + fontcolor="#1A237E"; + fontname="Arial Bold"; + + legend [ + shape=none, + label=< + + + + + + + + + + + + + + + + + + + + +
+ + Legend + +
+ + + + Applications Layer + +
+ + + + Buildroot Build System + +
+ + + + TI BSP Components + +
+ + + + Build Artifacts + +
+ > + ]; + + apps [ + shape=none, + label=< + + + + + + + + + + + + +
+ + ① Applications + +
+ + GUI Applications + + + + Custom Applications + +
+ + Trusted Applications + + + + Middleware and Libraries + +
+ > + ]; + + buildroot [ + shape=none, + label=< + + + + + + + + +
+ + ② Buildroot Build System + +
+ + Buildroot + + + + Buildroot External-TI + +
+ > + ]; + + artifacts [ + shape=none, + label=< + + + + + + + + + + + + + +
+ + Build Artifacts + +
+ + SD Card Image + +
+ + Boot Artifacts + +
+ + Root Filesystem + +
+ > + ]; + + tibsp [ + shape=none, + label=< + + + + + + + + + + + + + + + + + + + + + +
+ + ③ TI BSP Components + +
+ + Firmware and Security Components + +
+ + TF-A + + + + OP-TEE + + + + TI Linux Firmware +
+ + (N/A for AM62Lx-EVM) + +
+
+ + U-Boot + +
+ + Linux Kernel Components + +
+ + TI Linux Kernel + + + + TI Kernel Drivers + + + + Device Tree + +
+ > + ]; + } + + // Invisible anchor node for right column row 3 + anc_top [style=invis, width=0, height=0, label=""]; + + // Row 1: apps (left) | legend (right) + { rank=same; apps; legend; } + // Row 2: buildroot (left) | artifacts (right) + { rank=same; buildroot; artifacts; } + // Row 3: tibsp (left) | anchor (right) + { rank=same; tibsp; anc_top; } + + // Invisible vertical edges (control top-to-bottom order in each column) + apps -> buildroot [style=invis, weight=100]; + buildroot -> tibsp [style=invis, weight=100]; + legend -> artifacts [style=invis, weight=100]; + artifacts -> anc_top [style=invis, weight=100]; + + // Invisible horizontal edges (force left-to-right order within each row) + apps -> legend [style=invis, weight=1]; + buildroot -> artifacts [style=invis, weight=1]; + tibsp -> anc_top [style=invis, weight=1]; + + // Data-flow edges (constraint=false so they don't affect layout) + apps -> buildroot [ + color="#2E7D32", + penwidth=3.0, + arrowsize=1.5, + fontcolor="#2E7D32", + fontsize=13, + fontname="Arial Bold", + constraint=false + ]; + + tibsp -> buildroot [ + color="#4527A0", + penwidth=3.0, + arrowsize=1.5, + fontcolor="#4527A0", + fontsize=13, + fontname="Arial Bold", + constraint=false + ]; + + buildroot -> artifacts [ + color="#E65100", + penwidth=3.5, + arrowsize=1.8, + label=" Output ", + fontcolor="#E65100", + fontsize=13, + fontname="Arial Bold", + style=bold, + constraint=false + ]; + } ************************* Key Features of Buildroot