From 40897a0568de6c8b6ed99f8f867fd33dfc0575dc Mon Sep 17 00:00:00 2001 From: dhruveshb-mecha Date: Wed, 21 Jan 2026 04:13:19 -0500 Subject: [PATCH 1/2] feat(ci): u-boot build --- .github/workflows/build.yml | 90 +++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000000..7855c81f1e0 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,90 @@ +name: Mecha U-Boot Build + +on: + push: + branches: [ "main", "master" ,"imx/lf_v2025.04"] + pull_request: + branches: [ "main", "master", "imx/lf_v2025.04"] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-24.04-arm + strategy: + matrix: + variant: [4gb, 8gb] + + steps: + - name: Checkout U-Boot + uses: actions/checkout@v4 + with: + path: u-boot + + - name: Install Dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + build-essential \ + gcc-aarch64-linux-gnu \ + libgnutls28-dev \ + bison \ + flex \ + libssl-dev \ + device-tree-compiler \ + python3-setuptools \ + swig \ + wget \ + git + + - name: Build U-Boot + working-directory: u-boot + run: | + export ARCH=arm64 + export CROSS_COMPILE=aarch64-linux-gnu- + make mecha-comet-imx8mp-${{ matrix.variant }}_defconfig + make -j$(nproc) + + - name: Build ARM Trusted Firmware (ATF) + run: | + git clone https://github.com/nxp-imx/imx-atf + cd imx-atf/ + make PLAT=imx8mp bl31 + cd .. + + - name: Download LPDDR4 Training Binaries + run: | + mkdir firmware-imx + cd firmware-imx + wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.26-d4c33ab.bin + chmod a+x firmware-imx-8.26-d4c33ab.bin + # Extract without interaction + ./firmware-imx-8.26-d4c33ab.bin --auto-accept + cd .. + + - name: Build Boot Image (imx-mkimage) + run: | + git clone https://github.com/nxp-imx/imx-mkimage + cd imx-mkimage/ + + # Copy files to iMX8M directory + cp ../u-boot/spl/u-boot-spl.bin iMX8M/ + cp ../u-boot/u-boot-nodtb.bin iMX8M/ + cp ../u-boot/arch/arm/dts/imx8mp-mecha-comet-${{ matrix.variant }}.dtb iMX8M/imx8mp-evk.dtb + cp ../u-boot/tools/mkimage iMX8M/mkimage_uboot + cp ../imx-atf/build/imx8mp/release/bl31.bin iMX8M/ + cp ../firmware-imx/firmware-imx-8.26-d4c33ab/firmware/ddr/synopsys/lpddr4_pmu_train_* iMX8M/ + + # Build + make SOC=iMX8MP flash_evk + cd .. + + - name: Prepare Artifacts + run: | + mkdir -p output/${{ matrix.variant }} + cp imx-mkimage/iMX8M/flash.bin output/${{ matrix.variant }}/flash.bin + + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: mecha-comet-uboot-${{ matrix.variant }} + path: output/${{ matrix.variant }}/flash.bin From bb2e9933fe7eb9221279667b9a100a5d88e1b8b0 Mon Sep 17 00:00:00 2001 From: dhruveshb-mecha Date: Wed, 21 Jan 2026 04:19:14 -0500 Subject: [PATCH 2/2] feat(ci): u-boot build --- .github/workflows/build.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7855c81f1e0..e88a7d15dc3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,6 @@ jobs: sudo apt-get update sudo apt-get install -y \ build-essential \ - gcc-aarch64-linux-gnu \ libgnutls28-dev \ bison \ flex \ @@ -34,13 +33,13 @@ jobs: python3-setuptools \ swig \ wget \ - git + git \ + efitools \ + uuid-dev - name: Build U-Boot working-directory: u-boot run: | - export ARCH=arm64 - export CROSS_COMPILE=aarch64-linux-gnu- make mecha-comet-imx8mp-${{ matrix.variant }}_defconfig make -j$(nproc)