* [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