diff --git a/.github/workflows/test-build-msdk.yml b/.github/workflows/test-build-msdk.yml new file mode 100644 index 00000000..3a15a3a6 --- /dev/null +++ b/.github/workflows/test-build-msdk.yml @@ -0,0 +1,52 @@ +name: Wolfboot Reusable Build Workflow for Analog Devices MSDK + +on: + + workflow_call: + inputs: + arch: + required: true + type: string + config-file: + required: true + type: string + make-args: + required: false + type: string + +jobs: + + build: + runs-on: ubuntu-latest + container: + image: ghcr.io/wolfssl/wolfboot-ci-arm:v1.3 + timeout-minutes: 30 + + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - uses: actions/checkout@main + with: + repository: analogdevicesinc/msdk + path: msdk + + - name: Trust workspace + run: git config --global --add safe.directory "$GITHUB_WORKSPACE" + + - name: make distclean + run: | + make distclean + + - name: Select config + run: | + cp ${{inputs.config-file}} .config + + - name: Build tools + run: | + make -C tools/keytools && make -C tools/bin-assemble + + - name: Build wolfboot + run: | + make MSDK_DIR="$GITHUB_WORKSPACE/msdk" ${{inputs.make-args}} V=1 diff --git a/.github/workflows/test-configs.yml b/.github/workflows/test-configs.yml index b43138f4..d1f00e82 100644 --- a/.github/workflows/test-configs.yml +++ b/.github/workflows/test-configs.yml @@ -329,6 +329,20 @@ jobs: arch: arm config-file: ./config/examples/nxp-s32k148.config + max32666_test: + uses: ./.github/workflows/test-build.yml + with: + arch: arm + config-file: ./config/examples/max32666.config + + # TPU build pulls in the Analog Devices MSDK for hardware SHA256 acceleration + max32666_tpu_test: + uses: ./.github/workflows/test-build-msdk.yml + with: + arch: arm + config-file: ./config/examples/max32666.config + make-args: MAX3266X_TPU=1 + microchip_mpfs250_test: uses: ./.github/workflows/test-build-riscv.yml with: diff --git a/config/examples/max32666.config b/config/examples/max32666.config index 681f1eb3..392a16c1 100644 --- a/config/examples/max32666.config +++ b/config/examples/max32666.config @@ -9,11 +9,19 @@ RAM_CODE?=1 NVM_FLASH_WRITEONCE?=1 NO_MPU?=1 DEBUG_UART?=1 +MAX32666_FTHR2?=0 MAX3266X_TPU?=0 MAX3266X_OLD?=0 MSDK_DIR?=$(PWD)/../msdk WOLFBOOT_SECTOR_SIZE?=0x2000 + WOLFBOOT_PARTITION_SIZE?=0x40000 WOLFBOOT_PARTITION_BOOT_ADDRESS?=0x10008000 WOLFBOOT_PARTITION_UPDATE_ADDRESS?=0x10048000 WOLFBOOT_PARTITION_SWAP_ADDRESS?=0x10088000 + +# Alternative configuration for debugging +#WOLFBOOT_PARTITION_SIZE?=0x40000 +#WOLFBOOT_PARTITION_BOOT_ADDRESS?=0x10010000 +#WOLFBOOT_PARTITION_UPDATE_ADDRESS?=0x10050000 +#WOLFBOOT_PARTITION_SWAP_ADDRESS?=0x10090000