Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 0/4] Support Andes SPI_burn tool
@ 2024-09-04  5:16 Yu Chien Peter Lin via buildroot
  2024-09-04  5:16 ` [Buildroot] [PATCH v2 1/4] package: andes-spi-burn: new package Yu Chien Peter Lin via buildroot
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Yu Chien Peter Lin via buildroot @ 2024-09-04  5:16 UTC (permalink / raw)
  To: buildroot; +Cc: tim609, Yu Chien Peter Lin, ycliang, Thomas Petazzoni

This series adds support for Andes SPI_burn tool that can be used to
update flash memory for U-Boot and OpenSBI development.

Changes v1->v2:
- Add documentation in the readme.txt

Yu Chien Peter Lin (4):
  package: andes-spi-burn: new package
  configs/andes_ae350_45: Enable host-andes-spi-burn
  board/andes/ae350: uboot.config.fragment: Support loading U-Boot on
    RAM
  board/andes/ae350: readme.txt: Add SPI_burn tool instructions

 DEVELOPERS                                 |  1 +
 board/andes/ae350/readme.txt               | 39 ++++++++++++++++++++++
 board/andes/ae350/uboot.config.fragment    |  1 -
 configs/andes_ae350_45_defconfig           |  1 +
 package/Config.in.host                     |  1 +
 package/andes-spi-burn/Config.in.host      |  8 +++++
 package/andes-spi-burn/andes-spi-burn.hash |  2 ++
 package/andes-spi-burn/andes-spi-burn.mk   | 25 ++++++++++++++
 8 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 package/andes-spi-burn/Config.in.host
 create mode 100644 package/andes-spi-burn/andes-spi-burn.hash
 create mode 100644 package/andes-spi-burn/andes-spi-burn.mk

-- 
2.34.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 v2 1/4] package: andes-spi-burn: new package
  2024-09-04  5:16 [Buildroot] [PATCH v2 0/4] Support Andes SPI_burn tool Yu Chien Peter Lin via buildroot
@ 2024-09-04  5:16 ` Yu Chien Peter Lin via buildroot
  2024-09-05 20:41   ` Thomas Petazzoni via buildroot
  2024-09-04  5:16 ` [Buildroot] [PATCH v2 2/4] configs/andes_ae350_45: Enable host-andes-spi-burn Yu Chien Peter Lin via buildroot
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Yu Chien Peter Lin via buildroot @ 2024-09-04  5:16 UTC (permalink / raw)
  To: buildroot; +Cc: tim609, Yu Chien Peter Lin, ycliang, Thomas Petazzoni

Add a new package for Andes AE350 SPI_burn tool to program
flash memory.

Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
---
 DEVELOPERS                                 |  1 +
 package/Config.in.host                     |  1 +
 package/andes-spi-burn/Config.in.host      |  8 +++++++
 package/andes-spi-burn/andes-spi-burn.hash |  2 ++
 package/andes-spi-burn/andes-spi-burn.mk   | 25 ++++++++++++++++++++++
 5 files changed, 37 insertions(+)
 create mode 100644 package/andes-spi-burn/Config.in.host
 create mode 100644 package/andes-spi-burn/andes-spi-burn.hash
 create mode 100644 package/andes-spi-burn/andes-spi-burn.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 069965680b..aab5a6c05f 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2487,6 +2487,7 @@ N:	Yu Chien Peter Lin <peterlin@andestech.com>
 F:	board/andes
 F:	configs/andes_ae350_45_defconfig
 F:	package/kmon/
+F:	package/andes-spi-burn/
 
 N:	Olaf Rempel <razzor@kopf-tisch.de>
 F:	package/ctorrent/
diff --git a/package/Config.in.host b/package/Config.in.host
index e4fbee4f2a..191833d94d 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -4,6 +4,7 @@ menu "Host utilities"
 	source "package/aespipe/Config.in.host"
 	source "package/agent-proxy/Config.in.host"
 	source "package/amlogic-boot-fip/Config.in.host"
+	source "package/andes-spi-burn/Config.in.host"
 	source "package/android-tools/Config.in.host"
 	source "package/asn1c/Config.in.host"
 	source "package/babeltrace2/Config.in.host"
diff --git a/package/andes-spi-burn/Config.in.host b/package/andes-spi-burn/Config.in.host
new file mode 100644
index 0000000000..fed4f49f5d
--- /dev/null
+++ b/package/andes-spi-burn/Config.in.host
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_HOST_ANDES_SPI_BURN
+	bool "host andes-spi-burn"
+	depends on BR2_riscv
+	help
+		Andes Technology SPI_burn tool to program bootloader and
+		device-tree blob onto flash memory of AE350 platform.
+
+		https://github.com/andestech/Andes-Development-Kit
diff --git a/package/andes-spi-burn/andes-spi-burn.hash b/package/andes-spi-burn/andes-spi-burn.hash
new file mode 100644
index 0000000000..170f362646
--- /dev/null
+++ b/package/andes-spi-burn/andes-spi-burn.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256  6632bc0ddd0b6d07bd328758cd9132f48429d144079eb8011af60d95b0bdfd6b  flash.zip
diff --git a/package/andes-spi-burn/andes-spi-burn.mk b/package/andes-spi-burn/andes-spi-burn.mk
new file mode 100644
index 0000000000..2f7387ca2f
--- /dev/null
+++ b/package/andes-spi-burn/andes-spi-burn.mk
@@ -0,0 +1,25 @@
+################################################################################
+#
+# andes-spi-burn
+#
+################################################################################
+
+ANDES_SPI_BURN_VERSION = 5.3.0
+ANDES_SPI_BURN_SOURCE = flash.zip
+ANDES_SPI_BURN_SITE = https://github.com/andestech/Andes-Development-Kit/releases/download/ast-v5_3_0-release-windows
+ANDES_SPI_BURN_LICENSE = Apache-2.0
+
+define HOST_ANDES_SPI_BURN_EXTRACT_CMDS
+	$(UNZIP) -q $(HOST_ANDES_SPI_BURN_DL_DIR)/$(ANDES_SPI_BURN_SOURCE) -d $(@D)
+endef
+
+define HOST_ANDES_SPI_BURN_BUILD_CMDS
+	$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/flash/src-SPI_burn clean
+	$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/flash/src-SPI_burn --makefile=Makefile_SPIburn_linux
+endef
+
+define HOST_ANDES_SPI_BURN_INSTALL_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/flash/src-SPI_burn/SPI_burn $(HOST_DIR)/bin/SPI_burn
+endef
+
+$(eval $(host-generic-package))
-- 
2.34.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 v2 2/4] configs/andes_ae350_45: Enable host-andes-spi-burn
  2024-09-04  5:16 [Buildroot] [PATCH v2 0/4] Support Andes SPI_burn tool Yu Chien Peter Lin via buildroot
  2024-09-04  5:16 ` [Buildroot] [PATCH v2 1/4] package: andes-spi-burn: new package Yu Chien Peter Lin via buildroot
@ 2024-09-04  5:16 ` Yu Chien Peter Lin via buildroot
  2024-09-04  5:16 ` [Buildroot] [PATCH v2 3/4] board/andes/ae350: uboot.config.fragment: Support loading U-Boot on RAM Yu Chien Peter Lin via buildroot
  2024-09-04  5:16 ` [Buildroot] [PATCH v2 4/4] board/andes/ae350: readme.txt: Add SPI_burn tool instructions Yu Chien Peter Lin via buildroot
  3 siblings, 0 replies; 7+ messages in thread
From: Yu Chien Peter Lin via buildroot @ 2024-09-04  5:16 UTC (permalink / raw)
  To: buildroot; +Cc: tim609, Yu Chien Peter Lin, ycliang, Thomas Petazzoni

Enable Andes SPI_Burn tool for updating buildroot generated
bootloader and device-tree blob on flash memory.

Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
---
 configs/andes_ae350_45_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/andes_ae350_45_defconfig b/configs/andes_ae350_45_defconfig
index fd8b7db0e7..7b5a6f73c6 100644
--- a/configs/andes_ae350_45_defconfig
+++ b/configs/andes_ae350_45_defconfig
@@ -34,6 +34,7 @@ BR2_TARGET_UBOOT_NEEDS_OPENSBI=y
 BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
 BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb"
 BR2_TARGET_UBOOT_SPL=y
+BR2_PACKAGE_HOST_ANDES_SPI_BURN=y
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
 BR2_PACKAGE_HOST_GENIMAGE=y
 BR2_PACKAGE_HOST_MTOOLS=y
-- 
2.34.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 v2 3/4] board/andes/ae350: uboot.config.fragment: Support loading U-Boot on RAM
  2024-09-04  5:16 [Buildroot] [PATCH v2 0/4] Support Andes SPI_burn tool Yu Chien Peter Lin via buildroot
  2024-09-04  5:16 ` [Buildroot] [PATCH v2 1/4] package: andes-spi-burn: new package Yu Chien Peter Lin via buildroot
  2024-09-04  5:16 ` [Buildroot] [PATCH v2 2/4] configs/andes_ae350_45: Enable host-andes-spi-burn Yu Chien Peter Lin via buildroot
@ 2024-09-04  5:16 ` Yu Chien Peter Lin via buildroot
  2024-09-04  5:16 ` [Buildroot] [PATCH v2 4/4] board/andes/ae350: readme.txt: Add SPI_burn tool instructions Yu Chien Peter Lin via buildroot
  3 siblings, 0 replies; 7+ messages in thread
From: Yu Chien Peter Lin via buildroot @ 2024-09-04  5:16 UTC (permalink / raw)
  To: buildroot; +Cc: tim609, Yu Chien Peter Lin, ycliang, Thomas Petazzoni

Do not disable SPL RAM support so the u-boot.itb programmed on
flash memory can be used.

Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
---
 board/andes/ae350/uboot.config.fragment | 1 -
 1 file changed, 1 deletion(-)

diff --git a/board/andes/ae350/uboot.config.fragment b/board/andes/ae350/uboot.config.fragment
index fa38bbca3a..4497ed4c74 100644
--- a/board/andes/ae350/uboot.config.fragment
+++ b/board/andes/ae350/uboot.config.fragment
@@ -1,6 +1,5 @@
 CONFIG_SPL_FS_FAT=y
 CONFIG_SPL_MMC=y
-# CONFIG_SPL_RAM_SUPPORT is not set
 CONFIG_SPL_OPENSBI_LOAD_ADDR=0x0
 CONFIG_SPL_OPENSBI_SCRATCH_OPTIONS=0x0
 CONFIG_DISPLAY_CPUINFO=y
-- 
2.34.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 v2 4/4] board/andes/ae350: readme.txt: Add SPI_burn tool instructions
  2024-09-04  5:16 [Buildroot] [PATCH v2 0/4] Support Andes SPI_burn tool Yu Chien Peter Lin via buildroot
                   ` (2 preceding siblings ...)
  2024-09-04  5:16 ` [Buildroot] [PATCH v2 3/4] board/andes/ae350: uboot.config.fragment: Support loading U-Boot on RAM Yu Chien Peter Lin via buildroot
@ 2024-09-04  5:16 ` Yu Chien Peter Lin via buildroot
  2024-09-05 20:42   ` Thomas Petazzoni via buildroot
  3 siblings, 1 reply; 7+ messages in thread
From: Yu Chien Peter Lin via buildroot @ 2024-09-04  5:16 UTC (permalink / raw)
  To: buildroot; +Cc: tim609, Yu Chien Peter Lin, ycliang, Thomas Petazzoni

Add a section to document how to update bootloader on AE350
platforms with SPI_burn tool.

Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
---
 board/andes/ae350/readme.txt | 39 ++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/board/andes/ae350/readme.txt b/board/andes/ae350/readme.txt
index 4de4cb3894..8d276ceb4a 100644
--- a/board/andes/ae350/readme.txt
+++ b/board/andes/ae350/readme.txt
@@ -41,6 +41,45 @@ After building, you should obtain the following files:
   |-- u-boot-spl.bin
   `-- u-boot.itb
 
+How to update the bootloader and device-tree
+============================================
+
+To update the bootloader and device tree, make sure you have an
+ICEman connection set up as below:
+
+  Local Host                 Local/Remote Host
+ .-----------------.          .--------------.
+ | buildroot images|          |              |
+ |                 |         ICEman host <IP:PORT>
+ | .----------.    |          |  .--------.  |
+ | | SPI_burn |<---+--socket--+->| ICEman |  |
+ | '----------'    |          |  '--.-----'  |
+ '-----------------'          '-----|--------'
+                                    |
+                                    USB
+   .--------------.                 |
+   | target       |           .-----v-----.
+   | board        <----JTAG---| ICE       |
+   |              |           '-----------'
+   '--------------'
+
+The Andes SPI_burn tool will be located in output/host/bin. Use
+the following commands to update the bootloader and device tree:
+
+  $ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0x0     -i u-boot-spl.bin
+  $ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0x10000 -i u-boot.itb
+  $ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0xf0000 -i ae350_ax45mp.dtb
+
+Note that the --addr option specifies the offset starting from
+the flash base address 0x80000000 and set by U-Boot configurations.
+e.g.
+u-boot-spl.bin  : CONFIG_SPL_TEXT_BASE=0x80000000
+u-boot.itb      : CONFIG_SPL_LOAD_FIT_ADDRESS=0x80010000
+ae350_ax45mp.dtb: CONFIG_SYS_FDT_BASE=0x800f0000
+
+How to write the SD card
+========================
+
 Copy the sdcard.img to a SD card with "dd":
 
   $ sudo dd if=sdcard.img of=/dev/sdX bs=4096
-- 
2.34.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 v2 1/4] package: andes-spi-burn: new package
  2024-09-04  5:16 ` [Buildroot] [PATCH v2 1/4] package: andes-spi-burn: new package Yu Chien Peter Lin via buildroot
@ 2024-09-05 20:41   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-09-05 20:41 UTC (permalink / raw)
  To: Yu Chien Peter Lin via buildroot; +Cc: tim609, Yu Chien Peter Lin, ycliang

Hello Peter,

Thanks for this patch! See some comments below.

The commit title should be:

	package/andes-spi-burn: new package

On Wed, 4 Sep 2024 13:16:06 +0800
Yu Chien Peter Lin via buildroot <buildroot@buildroot.org> wrote:


> diff --git a/package/andes-spi-burn/Config.in.host b/package/andes-spi-burn/Config.in.host
> new file mode 100644
> index 0000000000..fed4f49f5d
> --- /dev/null
> +++ b/package/andes-spi-burn/Config.in.host
> @@ -0,0 +1,8 @@
> +config BR2_PACKAGE_HOST_ANDES_SPI_BURN
> +	bool "host andes-spi-burn"
> +	depends on BR2_riscv
> +	help
> +		Andes Technology SPI_burn tool to program bootloader and
> +		device-tree blob onto flash memory of AE350 platform.
> +
> +		https://github.com/andestech/Andes-Development-Kit

Indentation of the help text is one tab + 2 spaces. You can run "make
check-package" to get some coding style check.

> diff --git a/package/andes-spi-burn/andes-spi-burn.hash b/package/andes-spi-burn/andes-spi-burn.hash
> new file mode 100644
> index 0000000000..170f362646
> --- /dev/null
> +++ b/package/andes-spi-burn/andes-spi-burn.hash
> @@ -0,0 +1,2 @@
> +# Locally computed
> +sha256  6632bc0ddd0b6d07bd328758cd9132f48429d144079eb8011af60d95b0bdfd6b  flash.zip

No license file?

> diff --git a/package/andes-spi-burn/andes-spi-burn.mk b/package/andes-spi-burn/andes-spi-burn.mk
> new file mode 100644
> index 0000000000..2f7387ca2f
> --- /dev/null
> +++ b/package/andes-spi-burn/andes-spi-burn.mk
> @@ -0,0 +1,25 @@
> +################################################################################
> +#
> +# andes-spi-burn
> +#
> +################################################################################
> +
> +ANDES_SPI_BURN_VERSION = 5.3.0
> +ANDES_SPI_BURN_SOURCE = flash.zip

This will unfortunately not work, as the file name doesn't include a
version. So when you will update the package, there will already be a
flash.zip in $DL_DIR/andes-spi-burn/ and the new one will not be
re-downloaded. Therefore, you need to find a way to make sure that the
filename contains the version.

Alternatively, perhaps you could simply use a git clone instead, with
ANDES_SPI_BURN_SITE_METHOD = git.

Except I see your Git repo doesn't actually contain anything... This is
really not great.

> +ANDES_SPI_BURN_SITE = https://github.com/andestech/Andes-Development-Kit/releases/download/ast-v5_3_0-release-windows
> +ANDES_SPI_BURN_LICENSE = Apache-2.0

No license file?

> +
> +define HOST_ANDES_SPI_BURN_EXTRACT_CMDS
> +	$(UNZIP) -q $(HOST_ANDES_SPI_BURN_DL_DIR)/$(ANDES_SPI_BURN_SOURCE) -d $(@D)
> +endef
> +
> +define HOST_ANDES_SPI_BURN_BUILD_CMDS
> +	$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/flash/src-SPI_burn clean

No need to do the "clean" first. We never do it in Buildroot packages.

> +	$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/flash/src-SPI_burn --makefile=Makefile_SPIburn_linux
> +endef
> +
> +define HOST_ANDES_SPI_BURN_INSTALL_CMDS
> +	$(INSTALL) -D -m 0755 $(@D)/flash/src-SPI_burn/SPI_burn $(HOST_DIR)/bin/SPI_burn
> +endef
> +
> +$(eval $(host-generic-package))

The rest seems OK to me!

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 v2 4/4] board/andes/ae350: readme.txt: Add SPI_burn tool instructions
  2024-09-04  5:16 ` [Buildroot] [PATCH v2 4/4] board/andes/ae350: readme.txt: Add SPI_burn tool instructions Yu Chien Peter Lin via buildroot
@ 2024-09-05 20:42   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-09-05 20:42 UTC (permalink / raw)
  To: Yu Chien Peter Lin via buildroot; +Cc: tim609, Yu Chien Peter Lin, ycliang

Hello Peter,

On Wed, 4 Sep 2024 13:16:09 +0800
Yu Chien Peter Lin via buildroot <buildroot@buildroot.org> wrote:

> +How to update the bootloader and device-tree
> +============================================
> +
> +To update the bootloader and device tree, make sure you have an
> +ICEman connection set up as below:

What is ICEman? This probably should be explained, with a relevant link
or something.

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

end of thread, other threads:[~2024-09-05 20:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-04  5:16 [Buildroot] [PATCH v2 0/4] Support Andes SPI_burn tool Yu Chien Peter Lin via buildroot
2024-09-04  5:16 ` [Buildroot] [PATCH v2 1/4] package: andes-spi-burn: new package Yu Chien Peter Lin via buildroot
2024-09-05 20:41   ` Thomas Petazzoni via buildroot
2024-09-04  5:16 ` [Buildroot] [PATCH v2 2/4] configs/andes_ae350_45: Enable host-andes-spi-burn Yu Chien Peter Lin via buildroot
2024-09-04  5:16 ` [Buildroot] [PATCH v2 3/4] board/andes/ae350: uboot.config.fragment: Support loading U-Boot on RAM Yu Chien Peter Lin via buildroot
2024-09-04  5:16 ` [Buildroot] [PATCH v2 4/4] board/andes/ae350: readme.txt: Add SPI_burn tool instructions Yu Chien Peter Lin via buildroot
2024-09-05 20:42   ` Thomas Petazzoni via buildroot

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