* [Buildroot] [PATCH v2 0/2] Generate ADI ADSP boot streams
@ 2025-09-03 13:50 Philip Molloy
2025-09-03 13:50 ` [Buildroot] [PATCH v2 1/2] package/adsp-ldr: new package Philip Molloy
2025-09-03 13:50 ` [Buildroot] [PATCH v2 2/2] boot/uboot: add ADSP LDR binary format Philip Molloy
0 siblings, 2 replies; 6+ messages in thread
From: Philip Molloy @ 2025-09-03 13:50 UTC (permalink / raw)
To: buildroot; +Cc: Michael Hennerich, Philip Molloy, Thomas Petazzoni
From: Philip Molloy <philip.molloy@analog.com>
adsp-ldr is a command-line tool that generates boot streams for ADI ADSP
processors. It is required to boot U-Boot on ADSP processors. This series is
the first step in adding support for the SC598 EZ-KIT evaluation board, and
eventually other boards.
Successful pipeline for this series:
https://gitlab.com/pamolloy/buildroot/-/pipelines/2019460089
Branch containing this series:
git clone -b staging/philip/adsp-ldr https://github.com/analogdevicesinc/buildroot.git
The entire series adding support for the SC598 EZ-KIT evaluation board:
git clone -b staging/philip/support-sc5xx-eval-boards https://github.com/analogdevicesinc/buildroot.git
---
Changes v1 -> v2:
- Bump to adsp-ldr from v1.0.0 to v1.0.1
- Replace autotools with meson
- The version is generated using git describe and added to a custom source
archive using meson dist. Since Github doesn't support modifying source
archives use the custom archive added to the Github release
- Remove GPL source code and add dependency on libusb
- Remove _SUBDIR
- Squash PATCH 4/4 modifying DEVELOPERS
- Move Config.in to Config.in.host
- Add host-adsp-ldr as a dependency to U-Boot when
BR2_TARGET_UBOOT_FORMAT_ADSP_LDR is enabled
- Add comment explaining $(TARGET_CROSS)ldr installation
Philip Molloy (2):
package/adsp-ldr: new package
boot/uboot: add ADSP LDR binary format
DEVELOPERS | 3 +++
boot/uboot/Config.in | 4 ++++
boot/uboot/uboot.mk | 8 ++++++++
package/Config.in.host | 1 +
package/adsp-ldr/Config.in.host | 8 ++++++++
package/adsp-ldr/adsp-ldr.hash | 3 +++
package/adsp-ldr/adsp-ldr.mk | 21 +++++++++++++++++++++
7 files changed, 48 insertions(+)
create mode 100644 package/adsp-ldr/Config.in.host
create mode 100644 package/adsp-ldr/adsp-ldr.hash
create mode 100644 package/adsp-ldr/adsp-ldr.mk
--
2.50.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 1/2] package/adsp-ldr: new package
2025-09-03 13:50 [Buildroot] [PATCH v2 0/2] Generate ADI ADSP boot streams Philip Molloy
@ 2025-09-03 13:50 ` Philip Molloy
2025-09-03 19:30 ` Thomas Petazzoni via buildroot
2025-09-03 13:50 ` [Buildroot] [PATCH v2 2/2] boot/uboot: add ADSP LDR binary format Philip Molloy
1 sibling, 1 reply; 6+ messages in thread
From: Philip Molloy @ 2025-09-03 13:50 UTC (permalink / raw)
To: buildroot
Cc: Michael Hennerich, Philip Molloy, Thomas Petazzoni, Eric Le Bihan,
Philip Molloy
From: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
---
DEVELOPERS | 3 +++
package/Config.in.host | 1 +
package/adsp-ldr/Config.in.host | 8 ++++++++
package/adsp-ldr/adsp-ldr.hash | 3 +++
package/adsp-ldr/adsp-ldr.mk | 21 +++++++++++++++++++++
5 files changed, 36 insertions(+)
create mode 100644 package/adsp-ldr/Config.in.host
create mode 100644 package/adsp-ldr/adsp-ldr.hash
create mode 100644 package/adsp-ldr/adsp-ldr.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index a7bb3bd834..792f230e4c 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2742,6 +2742,9 @@ F: package/psplash/
F: package/sispmctl/
F: package/zsh/
+N: Philip Molloy <philip@philipmolloy.com>
+F: package/adsp-ldr/
+
N: Philipp Richter <richterphilipp.pops@gmail.com>
F: package/libtorrent-rasterbar/
diff --git a/package/Config.in.host b/package/Config.in.host
index b0f7529a13..7ead116aa1 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -1,6 +1,7 @@
menu "Host utilities"
source "package/abootimg/Config.in.host"
+ source "package/adsp-ldr/Config.in.host"
source "package/aespipe/Config.in.host"
source "package/agent-proxy/Config.in.host"
source "package/amlogic-boot-fip/Config.in.host"
diff --git a/package/adsp-ldr/Config.in.host b/package/adsp-ldr/Config.in.host
new file mode 100644
index 0000000000..4776440eea
--- /dev/null
+++ b/package/adsp-ldr/Config.in.host
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_HOST_ADSP_LDR
+ bool "host adsp-ldr"
+ help
+ adsp-ldr is a tool that generates boot streams to be
+ loaded and executed by the boot ROM of Analog Devices
+ ADSP-SCXXX SoCs
+
+ https://github.com/analogdevicesinc/adsp-ldr
diff --git a/package/adsp-ldr/adsp-ldr.hash b/package/adsp-ldr/adsp-ldr.hash
new file mode 100644
index 0000000000..459b48cf09
--- /dev/null
+++ b/package/adsp-ldr/adsp-ldr.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 a1b1b5700b75e47bae7f656cd61f8c635f5d3c82a90e20dfe594e0a3315e4eef LICENSE
+sha256 0f240aa5aad9300d8f4bc7ffd9cc1c53e01dfd6120de4f20f60d4d4176d99c10 adsp-ldr-v1.0.1.tar.xz
diff --git a/package/adsp-ldr/adsp-ldr.mk b/package/adsp-ldr/adsp-ldr.mk
new file mode 100644
index 0000000000..d6e7aa2969
--- /dev/null
+++ b/package/adsp-ldr/adsp-ldr.mk
@@ -0,0 +1,21 @@
+################################################################################
+#
+# adsp-ldr
+#
+################################################################################
+
+ADSP_LDR_VERSION = 1.0.1
+ADSP_LDR_SOURCE = adsp-ldr-v$(ADSP_LDR_VERSION).tar.xz
+ADSP_LDR_SITE = https://github.com/analogdevicesinc/adsp-ldr/releases/download/v$(ADSP_LDR_VERSION)
+ADSP_LDR_LICENSE = BSD-3-Clause
+ADSP_LDR_LICENSE_FILES = LICENSE
+HOST_ADSP_LDR_DEPENDENCIES = host-libusb
+
+define HOST_ADSP_LDR_INSTALL_CMDS
+ # The U-Boot Makefile expects ldr to be installed as part of the toolchain
+ # shipped with the CrossCore Embedded Studio SDK
+ $(INSTALL) -m 755 -D $(@D)/buildroot-build/ldr \
+ $(TARGET_CROSS)ldr
+endef
+
+$(eval $(host-meson-package))
--
2.50.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 2/2] boot/uboot: add ADSP LDR binary format
2025-09-03 13:50 [Buildroot] [PATCH v2 0/2] Generate ADI ADSP boot streams Philip Molloy
2025-09-03 13:50 ` [Buildroot] [PATCH v2 1/2] package/adsp-ldr: new package Philip Molloy
@ 2025-09-03 13:50 ` Philip Molloy
2025-09-03 19:32 ` Thomas Petazzoni via buildroot
1 sibling, 1 reply; 6+ messages in thread
From: Philip Molloy @ 2025-09-03 13:50 UTC (permalink / raw)
To: buildroot; +Cc: Michael Hennerich, Philip Molloy, Thomas Petazzoni
From: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
---
boot/uboot/Config.in | 4 ++++
boot/uboot/uboot.mk | 8 ++++++++
2 files changed, 12 insertions(+)
diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
index a2301b7747..813a29828d 100644
--- a/boot/uboot/Config.in
+++ b/boot/uboot/Config.in
@@ -479,6 +479,10 @@ config BR2_TARGET_UBOOT_FORMAT_QSPI_BIN
file for flashing by combining the spl/boot.bin and
u-boot.itb files into a unified binary.
+config BR2_TARGET_UBOOT_FORMAT_ADSP_LDR
+ bool "u-boot.ldr"
+ depends on BR2_arm || BR2_aarch64
+
config BR2_TARGET_UBOOT_FORMAT_STM32
bool "u-boot.stm32"
depends on BR2_arm
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index 2796b0a310..844984c9e6 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -144,6 +144,10 @@ UBOOT_MAKE_TARGET += u-boot.stm32
endif
endif
+ifeq ($(BR2_TARGET_UBOOT_FORMAT_ADSP_LDR),y)
+UBOOT_BINS += u-boot.ldr
+endif
+
ifeq ($(BR2_TARGET_UBOOT_INITIAL_ENV),y)
UBOOT_MAKE_TARGET += u-boot-initial-env
define UBOOT_INSTALL_UBOOT_INITIAL_ENV
@@ -257,6 +261,10 @@ UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/$(notdir $(ROCKCHIP_RKBIN_TEE_FILENAME))
endif
endif
+ifeq ($(BR2_TARGET_UBOOT_FORMAT_ADSP_LDR),y)
+UBOOT_DEPENDENCIES += host-adsp-ldr
+endif
+
ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)
UBOOT_DEPENDENCIES += host-dtc
UBOOT_MAKE_OPTS += DTC=$(HOST_DIR)/bin/dtc
--
2.50.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH v2 1/2] package/adsp-ldr: new package
2025-09-03 13:50 ` [Buildroot] [PATCH v2 1/2] package/adsp-ldr: new package Philip Molloy
@ 2025-09-03 19:30 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-09-03 19:30 UTC (permalink / raw)
To: Philip Molloy; +Cc: buildroot, Michael Hennerich, Philip Molloy, Eric Le Bihan
Hello Philip,
Thanks for this new iteration! This looks a LOT nicer! I actually only
have one comment below.
On Wed, 03 Sep 2025 13:50:09 +0000
Philip Molloy <philip@philipmolloy.com> wrote:
> +define HOST_ADSP_LDR_INSTALL_CMDS
> + # The U-Boot Makefile expects ldr to be installed as part of the toolchain
> + # shipped with the CrossCore Embedded Studio SDK
I asked to have a comment here, so I appreciate the fact that you added
one. But nobody knows what CrossCore Embedded Studio SDK is. And
actually the reason is not really that. It is "just" that U-Boot
expects the ldr tool to be prefixed with the $(CROSS_COMPILE) value.
From the U-Boot Makefile:
Makefile:LDR = $(CROSS_COMPILE)ldr
So, the comment should be just:
# The U-Boot Makefile expects ldr to be prefixed by $(CROSS_COMPILE),
# hence the rename to $(TARGET_CROSS)ldr
I guess this can be fixed when applying.
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH v2 2/2] boot/uboot: add ADSP LDR binary format
2025-09-03 13:50 ` [Buildroot] [PATCH v2 2/2] boot/uboot: add ADSP LDR binary format Philip Molloy
@ 2025-09-03 19:32 ` Thomas Petazzoni via buildroot
2025-09-08 11:51 ` Philip Molloy
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-09-03 19:32 UTC (permalink / raw)
To: Philip Molloy; +Cc: buildroot, Michael Hennerich, Philip Molloy
Hello Philip,
Thanks for this v2, we're getting there!
On Wed, 03 Sep 2025 13:50:19 +0000
Philip Molloy <philip@philipmolloy.com> wrote:
> From: Philip Molloy <philip.molloy@analog.com>
>
> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
> ---
> boot/uboot/Config.in | 4 ++++
> boot/uboot/uboot.mk | 8 ++++++++
> 2 files changed, 12 insertions(+)
>
> diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
> index a2301b7747..813a29828d 100644
> --- a/boot/uboot/Config.in
> +++ b/boot/uboot/Config.in
> @@ -479,6 +479,10 @@ config BR2_TARGET_UBOOT_FORMAT_QSPI_BIN
> file for flashing by combining the spl/boot.bin and
> u-boot.itb files into a unified binary.
>
> +config BR2_TARGET_UBOOT_FORMAT_ADSP_LDR
> + bool "u-boot.ldr"
> + depends on BR2_arm || BR2_aarch64
A little help text here would be nice, indicating on which platforms
this is relevant.
> +ifeq ($(BR2_TARGET_UBOOT_FORMAT_ADSP_LDR),y)
> +UBOOT_BINS += u-boot.ldr
> +endif
> +
> ifeq ($(BR2_TARGET_UBOOT_INITIAL_ENV),y)
> UBOOT_MAKE_TARGET += u-boot-initial-env
> define UBOOT_INSTALL_UBOOT_INITIAL_ENV
> @@ -257,6 +261,10 @@ UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/$(notdir $(ROCKCHIP_RKBIN_TEE_FILENAME))
> endif
> endif
>
> +ifeq ($(BR2_TARGET_UBOOT_FORMAT_ADSP_LDR),y)
> +UBOOT_DEPENDENCIES += host-adsp-ldr
> +endif
These two should be factored into one condition.
Like we have:
ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND),y)
UBOOT_BINS += u-boot.nand
UBOOT_MAKE_TARGET += u-boot.sb
UBOOT_DEPENDENCIES += host-elftosb host-openssl
endif
Just do:
ifeq ($(BR2_TARGET_UBOOT_FORMAT_ADSP_LDR),y)
UBOOT_BINS += u-boot.ldr
UBOOT_DEPENDENCIES += host-adsp-ldr
endif
Thanks a lot!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH v2 2/2] boot/uboot: add ADSP LDR binary format
2025-09-03 19:32 ` Thomas Petazzoni via buildroot
@ 2025-09-08 11:51 ` Philip Molloy
0 siblings, 0 replies; 6+ messages in thread
From: Philip Molloy @ 2025-09-08 11:51 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: buildroot, Michael Hennerich, Philip Molloy
On Wednesday, September 3rd, 2025 at 9:32 PM, Thomas Petazzoni via buildroot <buildroot@buildroot.org> wrote:
> Hello Philip,
>
> Thanks for this v2, we're getting there!
Thanks again for the super speedy review. Especially with a bunch of changes between v1 and v2. Applied everything and will send v3 shortly.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-09-08 11:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-03 13:50 [Buildroot] [PATCH v2 0/2] Generate ADI ADSP boot streams Philip Molloy
2025-09-03 13:50 ` [Buildroot] [PATCH v2 1/2] package/adsp-ldr: new package Philip Molloy
2025-09-03 19:30 ` Thomas Petazzoni via buildroot
2025-09-03 13:50 ` [Buildroot] [PATCH v2 2/2] boot/uboot: add ADSP LDR binary format Philip Molloy
2025-09-03 19:32 ` Thomas Petazzoni via buildroot
2025-09-08 11:51 ` Philip Molloy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox