Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/4] Generate ADI ADSP boot streams
@ 2025-08-18 14:22 Philip Molloy
  2025-08-18 14:22 ` [Buildroot] [PATCH 1/4] package/adsp-ldr: new package Philip Molloy
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Philip Molloy @ 2025-08-18 14:22 UTC (permalink / raw)
  To: buildroot; +Cc: Philip Molloy, Michael Hennerich, Philip Molloy

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/1989414592

Branch containing this series:

https://github.com/analogdevicesinc/buildroot/commits/staging/philip/adsp-ldr/

The entire series adding support for the SC598 EZ-KIT evaluation board:

https://github.com/analogdevicesinc/buildroot/commits/staging/philip/support-sc5xx-eval-boards/

Philip Molloy (4):
  package/adsp-ldr: new package
  boot/uboot: depend on adsp-ldr if needed
  boot/uboot: add ADSP LDR binary format
  DEVELOPERS: add Philip Molloy for adsp-ldr

 DEVELOPERS                     |  3 +++
 boot/uboot/Config.in           | 12 ++++++++++++
 boot/uboot/uboot.mk            |  8 ++++++++
 package/Config.in              |  1 +
 package/adsp-ldr/Config.in     |  9 +++++++++
 package/adsp-ldr/adsp-ldr.hash |  3 +++
 package/adsp-ldr/adsp-ldr.mk   | 19 +++++++++++++++++++
 7 files changed, 55 insertions(+)
 create mode 100644 package/adsp-ldr/Config.in
 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] 7+ messages in thread

* [Buildroot] [PATCH 1/4] package/adsp-ldr: new package
  2025-08-18 14:22 [Buildroot] [PATCH 0/4] Generate ADI ADSP boot streams Philip Molloy
@ 2025-08-18 14:22 ` Philip Molloy
  2025-08-18 16:31   ` Thomas Petazzoni via buildroot
  2025-08-18 14:22 ` [Buildroot] [PATCH 2/4] boot/uboot: depend on adsp-ldr if needed Philip Molloy
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Philip Molloy @ 2025-08-18 14:22 UTC (permalink / raw)
  To: buildroot
  Cc: Philip Molloy, Michael Hennerich, Philip Molloy, Thomas Petazzoni

From: Philip Molloy <philip.molloy@analog.com>

Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Philip Molloy <philip@philipmolloy.com>
---
 package/Config.in              |  1 +
 package/adsp-ldr/Config.in     |  9 +++++++++
 package/adsp-ldr/adsp-ldr.hash |  3 +++
 package/adsp-ldr/adsp-ldr.mk   | 19 +++++++++++++++++++
 4 files changed, 32 insertions(+)
 create mode 100644 package/adsp-ldr/Config.in
 create mode 100644 package/adsp-ldr/adsp-ldr.hash
 create mode 100644 package/adsp-ldr/adsp-ldr.mk

diff --git a/package/Config.in b/package/Config.in
index 579b5ffc87..63aee051e9 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -470,6 +470,7 @@ endmenu
 	source "package/acpica/Config.in"
 	source "package/acpid/Config.in"
 	source "package/acpitool/Config.in"
+	source "package/adsp-ldr/Config.in"
 	source "package/aer-inject/Config.in"
 	source "package/altera-stapl/Config.in"
 	source "package/am335x-pru-package/Config.in"
diff --git a/package/adsp-ldr/Config.in b/package/adsp-ldr/Config.in
new file mode 100644
index 0000000000..a1806df576
--- /dev/null
+++ b/package/adsp-ldr/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_ADSP_LDR
+	bool "adsp-ldr"
+	depends on BR2_arm || BR2_aarch64
+	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..f437beb90e
--- /dev/null
+++ b/package/adsp-ldr/adsp-ldr.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  a1b1b5700b75e47bae7f656cd61f8c635f5d3c82a90e20dfe594e0a3315e4eef  LICENSE
+sha256  a08c28204bfcf18b5ff956b01893b5ea1beb6836f97c94dbfac8ef8f07c91a9c  adsp-ldr-1.0.0.tar.gz
diff --git a/package/adsp-ldr/adsp-ldr.mk b/package/adsp-ldr/adsp-ldr.mk
new file mode 100644
index 0000000000..9fdf3c3c4e
--- /dev/null
+++ b/package/adsp-ldr/adsp-ldr.mk
@@ -0,0 +1,19 @@
+################################################################################
+#
+# adsp-ldr
+#
+################################################################################
+
+ADSP_LDR_VERSION = 1.0.0
+ADSP_LDR_SITE = $(call github,analogdevicesinc,adsp-ldr,v$(ADSP_LDR_VERSION))
+ADSP_LDR_LICENSE = GPL-3.0
+ADSP_LDR_LICENSE_FILES = LICENSE
+
+ADSP_LDR_SUBDIR = src/ldr
+
+define HOST_ADSP_LDR_INSTALL_CMDS
+	$(INSTALL) -m 755 -D $(@D)/src/ldr/ldr \
+		$(TARGET_CROSS)ldr
+endef
+
+$(eval $(host-autotools-package))
-- 
2.50.1


_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 2/4] boot/uboot: depend on adsp-ldr if needed
  2025-08-18 14:22 [Buildroot] [PATCH 0/4] Generate ADI ADSP boot streams Philip Molloy
  2025-08-18 14:22 ` [Buildroot] [PATCH 1/4] package/adsp-ldr: new package Philip Molloy
@ 2025-08-18 14:22 ` Philip Molloy
  2025-08-18 16:32   ` Thomas Petazzoni via buildroot
  2025-08-18 14:22 ` [Buildroot] [PATCH 3/4] boot/uboot: add ADSP LDR binary format Philip Molloy
  2025-08-18 14:22 ` [Buildroot] [PATCH 4/4] DEVELOPERS: add Philip Molloy for adsp-ldr Philip Molloy
  3 siblings, 1 reply; 7+ messages in thread
From: Philip Molloy @ 2025-08-18 14:22 UTC (permalink / raw)
  To: buildroot; +Cc: Philip Molloy, Michael Hennerich, Philip Molloy

From: Philip Molloy <philip.molloy@analog.com>

Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Philip Molloy <philip@philipmolloy.com>
---
 boot/uboot/Config.in | 8 ++++++++
 boot/uboot/uboot.mk  | 4 ++++
 2 files changed, 12 insertions(+)

diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
index a2301b7747..f29f2173fa 100644
--- a/boot/uboot/Config.in
+++ b/boot/uboot/Config.in
@@ -332,6 +332,14 @@ config BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN
 	  This option makes sure that the needed binary blobs are copied
 	  into the U-Boot source directory.
 
+config BR2_TARGET_UBOOT_NEEDS_ADSP_LDR
+	bool "U-Boot needs adsp-ldr"
+	depends on BR2_PACKAGE_ADSP_LDR
+	help
+	  For ADSP-SCXXX Analog Devices SoCs U-Boot binaries must be
+	  correctly formatted so that they can be loaded and executed by
+	  the boot ROM
+
 config BR2_TARGET_UBOOT_USE_BINMAN
 	bool "U-Boot use binman"
 	select BR2_TARGET_UBOOT_NEEDS_PYTHON3
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index 2796b0a310..cc7714c324 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -257,6 +257,10 @@ UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/$(notdir $(ROCKCHIP_RKBIN_TEE_FILENAME))
 endif
 endif
 
+ifeq ($(BR2_TARGET_UBOOT_NEEDS_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] 7+ messages in thread

* [Buildroot] [PATCH 3/4] boot/uboot: add ADSP LDR binary format
  2025-08-18 14:22 [Buildroot] [PATCH 0/4] Generate ADI ADSP boot streams Philip Molloy
  2025-08-18 14:22 ` [Buildroot] [PATCH 1/4] package/adsp-ldr: new package Philip Molloy
  2025-08-18 14:22 ` [Buildroot] [PATCH 2/4] boot/uboot: depend on adsp-ldr if needed Philip Molloy
@ 2025-08-18 14:22 ` Philip Molloy
  2025-08-18 14:22 ` [Buildroot] [PATCH 4/4] DEVELOPERS: add Philip Molloy for adsp-ldr Philip Molloy
  3 siblings, 0 replies; 7+ messages in thread
From: Philip Molloy @ 2025-08-18 14:22 UTC (permalink / raw)
  To: buildroot; +Cc: Philip Molloy, Michael Hennerich, Philip Molloy

From: Philip Molloy <philip.molloy@analog.com>

Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Philip Molloy <philip@philipmolloy.com>
---
 boot/uboot/Config.in | 4 ++++
 boot/uboot/uboot.mk  | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
index f29f2173fa..f388be5d64 100644
--- a/boot/uboot/Config.in
+++ b/boot/uboot/Config.in
@@ -487,6 +487,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 cc7714c324..eea76edaf9 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
-- 
2.50.1


_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 4/4] DEVELOPERS: add Philip Molloy for adsp-ldr
  2025-08-18 14:22 [Buildroot] [PATCH 0/4] Generate ADI ADSP boot streams Philip Molloy
                   ` (2 preceding siblings ...)
  2025-08-18 14:22 ` [Buildroot] [PATCH 3/4] boot/uboot: add ADSP LDR binary format Philip Molloy
@ 2025-08-18 14:22 ` Philip Molloy
  3 siblings, 0 replies; 7+ messages in thread
From: Philip Molloy @ 2025-08-18 14:22 UTC (permalink / raw)
  To: buildroot; +Cc: Philip Molloy, Michael Hennerich, Philip Molloy

Signed-off-by: Philip Molloy <philip@philipmolloy.com>
---
 DEVELOPERS | 3 +++
 1 file changed, 3 insertions(+)

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/
 
-- 
2.50.1


_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH 1/4] package/adsp-ldr: new package
  2025-08-18 14:22 ` [Buildroot] [PATCH 1/4] package/adsp-ldr: new package Philip Molloy
@ 2025-08-18 16:31   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-08-18 16:31 UTC (permalink / raw)
  To: Philip Molloy; +Cc: buildroot, Philip Molloy, Michael Hennerich

Hello Philip,

Thanks for this contribution! See below some feedback.

On Mon, 18 Aug 2025 14:22:30 +0000
Philip Molloy <philip@philipmolloy.com> wrote:

> From: Philip Molloy <philip.molloy@analog.com>
> 
> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
> Signed-off-by: Philip Molloy <philip@philipmolloy.com>
> ---
>  package/Config.in              |  1 +
>  package/adsp-ldr/Config.in     |  9 +++++++++
>  package/adsp-ldr/adsp-ldr.hash |  3 +++
>  package/adsp-ldr/adsp-ldr.mk   | 19 +++++++++++++++++++
>  4 files changed, 32 insertions(+)

I see in PATCH 4/4 you add an entry in the DEVELOPERS file for this
package. You should squash PATCH 4/4 into this patch, so that the
addition in DEVELOPERS comes in the patch adding the package.


> diff --git a/package/Config.in b/package/Config.in
> index 579b5ffc87..63aee051e9 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -470,6 +470,7 @@ endmenu
>  	source "package/acpica/Config.in"
>  	source "package/acpid/Config.in"
>  	source "package/acpitool/Config.in"
> +	source "package/adsp-ldr/Config.in"

This will not be needed (see below).

> diff --git a/package/adsp-ldr/Config.in b/package/adsp-ldr/Config.in
> new file mode 100644
> index 0000000000..a1806df576
> --- /dev/null
> +++ b/package/adsp-ldr/Config.in
> @@ -0,0 +1,9 @@
> +config BR2_PACKAGE_ADSP_LDR
> +	bool "adsp-ldr"
> +	depends on BR2_arm || BR2_aarch64

This file is not relevant: your package is a host only package. In
fact, if you enable this option and try to build, you should get a
failure as your .mk file does not create a target variant of this
package (which is correct).

> diff --git a/package/adsp-ldr/adsp-ldr.mk b/package/adsp-ldr/adsp-ldr.mk
> new file mode 100644
> index 0000000000..9fdf3c3c4e
> --- /dev/null
> +++ b/package/adsp-ldr/adsp-ldr.mk
> @@ -0,0 +1,19 @@
> +################################################################################
> +#
> +# adsp-ldr
> +#
> +################################################################################
> +
> +ADSP_LDR_VERSION = 1.0.0
> +ADSP_LDR_SITE = $(call github,analogdevicesinc,adsp-ldr,v$(ADSP_LDR_VERSION))
> +ADSP_LDR_LICENSE = GPL-3.0
> +ADSP_LDR_LICENSE_FILES = LICENSE

Are you sure that this license file is correct? Indeed, all source
files seem to have a BSD-3-Clause license, for example:
https://github.com/analogdevicesinc/adsp-ldr/blob/main/src/ldr/lfd.c.

> +ADSP_LDR_SUBDIR = src/ldr
> +
> +define HOST_ADSP_LDR_INSTALL_CMDS
> +	$(INSTALL) -m 755 -D $(@D)/src/ldr/ldr \
> +		$(TARGET_CROSS)ldr

Why do you install it with a $(TARGET_CROSS) prefix?

Also, you seem to be the author of this repo. Why is the ldr code
burried in src/ldr, with not much outside of this folder? It would make
a lot more sense to have the code directly at the project root, and
avoid having to pass ADSP_LDR_SUBDIR = src/ldr.

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] 7+ messages in thread

* Re: [Buildroot] [PATCH 2/4] boot/uboot: depend on adsp-ldr if needed
  2025-08-18 14:22 ` [Buildroot] [PATCH 2/4] boot/uboot: depend on adsp-ldr if needed Philip Molloy
@ 2025-08-18 16:32   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-08-18 16:32 UTC (permalink / raw)
  To: Philip Molloy; +Cc: buildroot, Philip Molloy, Michael Hennerich

Hello Philip,

On Mon, 18 Aug 2025 14:22:39 +0000
Philip Molloy <philip@philipmolloy.com> wrote:

> From: Philip Molloy <philip.molloy@analog.com>
> 
> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
> Signed-off-by: Philip Molloy <philip@philipmolloy.com>

Considering your PATCH 3/4, I don't think this patch is needed. Indeed,
PATCH 3/4 can simply add host-adsp-ldr in the dependencies of U-Boot
when BR2_TARGET_UBOOT_FORMAT_ADSP_LDR=y.

Best regards,

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] 7+ messages in thread

end of thread, other threads:[~2025-08-18 16:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-18 14:22 [Buildroot] [PATCH 0/4] Generate ADI ADSP boot streams Philip Molloy
2025-08-18 14:22 ` [Buildroot] [PATCH 1/4] package/adsp-ldr: new package Philip Molloy
2025-08-18 16:31   ` Thomas Petazzoni via buildroot
2025-08-18 14:22 ` [Buildroot] [PATCH 2/4] boot/uboot: depend on adsp-ldr if needed Philip Molloy
2025-08-18 16:32   ` Thomas Petazzoni via buildroot
2025-08-18 14:22 ` [Buildroot] [PATCH 3/4] boot/uboot: add ADSP LDR binary format Philip Molloy
2025-08-18 14:22 ` [Buildroot] [PATCH 4/4] DEVELOPERS: add Philip Molloy for adsp-ldr Philip Molloy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox