Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
605c919
board/pluto: add PlutoSDR board support
mhennerich Mar 25, 2026
5705cc0
board/m2k: add ADALM2000 board support
mhennerich Mar 25, 2026
0749d50
board/microblaze/common: add shared microblaze/NIOS2 board files
mhennerich Mar 25, 2026
7d79ec5
package: add IIO ecosystem packages
mhennerich Mar 25, 2026
ee13fe4
package/fru-tools: add FMC FRU tools
mhennerich Mar 25, 2026
84de02d
package: add PlutoSDR/JESD204B utility packages
mhennerich Mar 25, 2026
fcefccb
package/python-pygccxml: add Python GCC-XML bindings
mhennerich Mar 25, 2026
c1f5df6
br2-external: add Config.in and external.mk for ADI packages
mhennerich Mar 25, 2026
4d8c522
configs: add ADI platform defconfigs
mhennerich Mar 25, 2026
2d63a73
patches/buildroot: add patches for upstream buildroot modifications
mhennerich Mar 25, 2026
486f852
ci: add CI configuration and build scripts
mhennerich Mar 25, 2026
ef9b1ff
board/pluto: fix post-build.sh for br2-external compatibility
mhennerich Mar 25, 2026
486dd8a
package/libm2k: bump to v0.9.0
mhennerich Mar 25, 2026
c9f4e4f
package/jesd204b_status: bump to v0.2
mhennerich Mar 25, 2026
d3503ca
patches/buildroot: update libiio to tip of libiio-v0 branch
mhennerich Mar 25, 2026
ab3998a
configs: replace deprecated Linaro toolchain with ARM ARM
mhennerich Mar 25, 2026
ad98f1e
add top-level Makefile to clone and build buildroot
mhennerich Mar 25, 2026
7555db2
patches/buildroot: add missing Config.in.host source for host-dropbear
mhennerich Mar 25, 2026
bc33d7a
ci/Containerfile: default to node24
gastmaier Jun 22, 2026
2b0b252
ci/Containerfile: add zlib-devel
gastmaier Jun 22, 2026
324f6a7
.github/build: set umask
gastmaier Jun 23, 2026
c45b6e3
package/libm2k: use raised cmake version sha
gastmaier Jun 29, 2026
d6c165b
board: move m2k/microblaze/pluto under board/adi/
mhennerich Jun 29, 2026
d3e4328
package/fru-tools: bump to v0.9.0
mhennerich Jun 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 19 additions & 12 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,45 +16,52 @@ jobs:
runs-on: ${{ vars.RUNNER != '' && fromJSON(vars.RUNNER) || 'ubuntu-latest' }}

strategy:
fail-fast: false
matrix:
defconfig:
- adi_sc598_ezkit_defconfig
flavor:
- debug
- bootstrap
include:
- defconfig: adi_sc598_ezkit_defconfig
flavor: debug
- defconfig: adi_sc598_ezkit_defconfig
flavor: bootstrap
- defconfig: zynq_pluto_defconfig
- defconfig: zynq_m2k_defconfig
- defconfig: microblaze_adi_rootfs_defconfig

steps:
- name: Checkout br2-external
uses: actions/checkout@v6
with:
submodules: recursive

- name: Build image for ${{ matrix.defconfig }} with ${{ matrix.flavor }} configuration
- name: Build image for ${{ matrix.defconfig }}${{ matrix.flavor && format(' with {0} configuration', matrix.flavor) || '' }}
run: |
cd buildroot
umask 022
Comment thread
pamolloy marked this conversation as resolved.
make distclean
make BR2_EXTERNAL="${PWD}/.." ${{ matrix.defconfig }}
support/kconfig/merge_config.sh .config \
../configs/buildroot.fragment \
../configs/${{ matrix.flavor }}.fragment
if [ -n "${{ matrix.flavor }}" ]; then
support/kconfig/merge_config.sh .config \
../configs/buildroot.fragment \
../configs/${{ matrix.flavor }}.fragment
fi
make -j$(nproc)

- name: Upload Buildroot images for ${{ matrix.defconfig }} with ${{ matrix.flavor }} configuration
uses: actions/upload-artifact@v6
with:
name: images-${{ matrix.flavor }}-${{ matrix.defconfig }}
name: images-${{ matrix.flavor || 'default' }}-${{ matrix.defconfig }}
path: buildroot/output/images

- name: Archive output images directory
if: ${{ github.event_name == 'release' }}
run: |
tar -cJvf images-${{ matrix.flavor }}-${{ matrix.defconfig }}-${{ github.event.release.tag_name }}.tar.xz \
tar -cJvf images-${{ matrix.flavor || 'default' }}-${{ matrix.defconfig }}-${{ github.event.release.tag_name }}.tar.xz \
buildroot/output/images/

- name: Upload release archive to release
uses: svenstaro/upload-release-action@v2
if: ${{ github.event_name == 'release' }}
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: images-${{ matrix.flavor }}-${{ matrix.defconfig }}-${{ github.event.release.tag_name }}.tar.xz
file: images-${{ matrix.flavor || 'default' }}-${{ matrix.defconfig }}-${{ github.event.release.tag_name }}.tar.xz
tag: ${{ github.ref }}
26 changes: 26 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
language: c

branches:
except:
- adi-2019.02.2 # current rebased versions of master; change this when updating kernel ver

os: linux

notifications:
email:
on_success: change
on_failure: always

matrix:
include:
- env: BUILD_TYPE=ensure_defconfigs_uptodate
VIVADO_ARCH=zynq
VIVADO_DEFCONFIGS="zynq_m2k zynq_pluto zynq_sidekiqz2"
VIVADO_VERSIONS="2018_3 2019_1"
- env: BUILD_TYPE=ensure_defconfigs_uptodate
VIVADO_ARCH=microblaze
VIVADO_DEFCONFIGS="microblaze_adi microblaze_adi_rootfs"
VIVADO_VERSIONS="2018_3 2019_1"

script:
- ./ci/run-build.sh
23 changes: 23 additions & 0 deletions Config.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
menu "ADI packages"

menu "Hardware handling"
source "$BR2_EXTERNAL_ADI_PATH/package/libad9361-iio/Config.in"
source "$BR2_EXTERNAL_ADI_PATH/package/libm2k/Config.in"
source "$BR2_EXTERNAL_ADI_PATH/package/libini/Config.in"
endmenu

menu "Tools and utilities"
source "$BR2_EXTERNAL_ADI_PATH/package/fru-tools/Config.in"
source "$BR2_EXTERNAL_ADI_PATH/package/poll_sysfs/Config.in"
source "$BR2_EXTERNAL_ADI_PATH/package/ad936x_ref_cal/Config.in"
endmenu

menu "JESD204B"
source "$BR2_EXTERNAL_ADI_PATH/package/jesd204b_status/Config.in"
endmenu

menu "Python modules"
source "$BR2_EXTERNAL_ADI_PATH/package/python-pygccxml/Config.in"
endmenu

endmenu
39 changes: 39 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
BUILDROOT_VERSION ?= adi-2026.02-y

@pamolloy pamolloy Jun 26, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The top level custom ADI Makefile and patch files mimic Yocto and does not follow mainline Buildroot. This is a custom implementation that also does not follow the standard upstream approach which is already followed by ADSP.

BUILDROOT_URL ?= https://github.com/analogdevicesinc/buildroot.git
BUILDROOT_DIR ?= $(CURDIR)/buildroot

BR2_EXTERNAL := $(CURDIR)
BUILDROOT_PATCHES := $(sort $(wildcard $(CURDIR)/patches/buildroot/*.patch))

# Targets handled locally, not forwarded to buildroot
buildroot: ## Clone and patch buildroot
@if [ ! -d $(BUILDROOT_DIR)/.git ]; then \
echo "Cloning buildroot $(BUILDROOT_VERSION)..."; \
git clone --depth 1 --branch $(BUILDROOT_VERSION) \
$(BUILDROOT_URL) $(BUILDROOT_DIR); \
fi
$(MAKE) buildroot-patch

buildroot-patch: ## Apply patches to buildroot
@for p in $(BUILDROOT_PATCHES); do \
if git -C $(BUILDROOT_DIR) apply --check "$$p" 2>/dev/null; then \
echo "Applying $$(basename $$p)..."; \
git -C $(BUILDROOT_DIR) apply "$$p" || exit 1; \
else \
echo "Skipping $$(basename $$p) (already applied or conflicts)"; \
fi; \
done

buildroot-clean: ## Remove the buildroot directory
rm -rf $(BUILDROOT_DIR)

# Everything else is forwarded to buildroot
.DEFAULT_GOAL := help

# This is the forwarding rule: any target not defined above
# gets passed through to buildroot's Makefile
.DEFAULT:
@test -d $(BUILDROOT_DIR) || { echo "Run 'make buildroot' first"; exit 1; }
$(MAKE) -C $(BUILDROOT_DIR) BR2_EXTERNAL="$(BR2_EXTERNAL)" $(MAKECMDGOALS)

.PHONY: buildroot buildroot-patch buildroot-clean
36 changes: 36 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
trigger:
- main
- master
- staging/*
- adi-20*

pr:
- main
- master
- adi-20*

pool:
vmImage: 'ubuntu-latest'

stages:
- stage: Build
jobs:
- job: microblaze_rootfs_build_test
steps:
- checkout: self
fetchDepth: 1
clean: true
- script: |
#!/bin/bash
make microblaze_adi_rootfs_vivado_2019_1_defconfig
make -j"$(nproc)"
displayName: "Build rootfs for microblaze"
- task: CopyFiles@2
inputs:
sourceFolder: '$(Agent.BuildDirectory)/s/output/images'
contents: '$(Agent.BuildDirectory)/s/output/images/rootfs.cpio.gz'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Build.ArtifactStagingDirectory)'
artifactName: 'mb_rootfs'
18 changes: 18 additions & 0 deletions board/adi/m2k/S16xadc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/sh
#
# Unbind XADC
#
case "$1" in
start)
#echo f8007100.adc > /sys/bus/platform/drivers/xadc/unbind
;;
stop)
;;
restart|reload)
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac

exit $?
38 changes: 38 additions & 0 deletions board/adi/m2k/S21misc
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/bin/sh
#
# Keep the main clock in powerdown until used
#

source /etc/device_config

handle_calibration_files() {
if [[ -s /mnt/jffs2/${CALIBFILENAME} ]]; then
cp /mnt/jffs2/${CALIBFILENAME} /opt/${CALIBFILENAME}
elif [[ -s /mnt/jffs2/${CALIBFILENAME_FACTORY} ]]; then
cp /mnt/jffs2/${CALIBFILENAME_FACTORY} /opt/${CALIBFILENAME}
fi

if [[ -s /mnt/jffs2/${CALIBFILENAME_TEMP_LUT} ]]; then
cp /mnt/jffs2/${CALIBFILENAME_TEMP_LUT} /opt/${CALIBFILENAME_TEMP_LUT}
fi
}

case "$1" in
start)
# Restore saved password and Dropbear keys
[[ -d /mnt/jffs2/etc ]] && cd /mnt/jffs2/etc && md5sum -s -c password.md5 && cp passwd shadow group /etc
[[ -d /mnt/jffs2/etc/dropbear ]] && cd /mnt/jffs2/etc/dropbear && md5sum -s -c keys.md5 && cp dropbear* /etc/dropbear/
[[ -d /mnt/jffs2/root/.ssh ]] && cd /mnt/jffs2/root/.ssh && md5sum -s -c keys.md5 && mkdir /root/.ssh && cp authorized_keys /root/.ssh
iio_attr -q -d m2k-fabric clk_powerdown 1
handle_calibration_files
;;
stop)
;;
restart|reload)
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac

exit $?
Loading