Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [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