Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead
@ 2024-12-30 22:46 kilian.zinnecker--- via buildroot
  2024-12-30 22:46 ` [Buildroot] [PATCH v5 1/2] package/xuantie-bins: new package kilian.zinnecker--- via buildroot
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: kilian.zinnecker--- via buildroot @ 2024-12-30 22:46 UTC (permalink / raw)
  To: buildroot; +Cc: Drew Fustini, Giulio Benetti, Kilian Zinnecker

From: Kilian Zinnecker <kilian.zinnecker@mail.de>

This patch series adds board support for the BeagleV-Ahead.

v4 -> v5:

  - Switched from custom to mainline kernel 6.12.7
  - Switched from custom to mainline OpenSBI 1.6
  - Adjusted custom uboot to load OpenSBI and binary blobs from sd card

v3 -> v4:

  - Improved descriptions in commit messages
  - Patch to alphabetize own DEVELOPERS entry
  - Fix in package/xuantie-bins/Config.in: Spaces -> tabs
  - Github helper and removal of superfluous variables in xuantie-bins.mk
  - Added patch to disable CLOCK_ALLOW_WRITE_DEBUGFS in custom kernel

v2 -> v3:

  - Added brief description what the xuantie bin binaries are for
  - Unrolled loop in XUANTIE_BINS_INSTALL_IMAGES_CMDS of
    package/xuantie-bins/xuantie-bins.mk
  - Added a second product page link to board's readme.txt
  - Added URL to the product page to git commit message
  - Dropped "_CUSTOM" from all "BR2_RISCV_ISA_*" in the board's
    defconfig
  - Add description to the board's readme.txt and defconfig  why GCC
    v13 is chosen
  - Added BR2_PACKAGE_HOST_DOSFSTOOLS to board's defconfig

v1 -> v2:

  - Added hash file for xuantie-bins package
  - Now uses uEnv.txt for actual boot commands
  - Removed extlinux.conf
  - Removed superflous comments inside config files

Kilian Zinnecker (2):
  package/xuantie-bins: new package
  configs/beaglev_ahead: new defconfig

 DEVELOPERS                                    |  3 +
 board/beaglev-ahead/genimage.cfg              | 42 +++++++++++
 board/beaglev-ahead/linux.fragment            |  2 +
 ...e-custom-BeagleV-Ahead-uboot-bootcmd.patch | 54 ++++++++++++++
 board/beaglev-ahead/post-image.sh             |  5 ++
 board/beaglev-ahead/readme.txt                | 73 +++++++++++++++++++
 board/beaglev-ahead/uEnv.txt                  |  3 +
 board/beaglev-ahead/uboot.fragment            |  2 +
 configs/beaglev_ahead_defconfig               | 40 ++++++++++
 package/Config.in                             |  1 +
 package/xuantie-bins/Config.in                |  8 ++
 package/xuantie-bins/xuantie-bins.hash        |  2 +
 package/xuantie-bins/xuantie-bins.mk          | 19 +++++
 13 files changed, 254 insertions(+)
 create mode 100644 board/beaglev-ahead/genimage.cfg
 create mode 100644 board/beaglev-ahead/linux.fragment
 create mode 100644 board/beaglev-ahead/patches/uboot/0001-Overwrite-custom-BeagleV-Ahead-uboot-bootcmd.patch
 create mode 100755 board/beaglev-ahead/post-image.sh
 create mode 100644 board/beaglev-ahead/readme.txt
 create mode 100644 board/beaglev-ahead/uEnv.txt
 create mode 100644 board/beaglev-ahead/uboot.fragment
 create mode 100644 configs/beaglev_ahead_defconfig
 create mode 100644 package/xuantie-bins/Config.in
 create mode 100644 package/xuantie-bins/xuantie-bins.hash
 create mode 100644 package/xuantie-bins/xuantie-bins.mk

-- 
2.47.1

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

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

* [Buildroot] [PATCH v5 1/2] package/xuantie-bins: new package
  2024-12-30 22:46 [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead kilian.zinnecker--- via buildroot
@ 2024-12-30 22:46 ` kilian.zinnecker--- via buildroot
  2024-12-30 22:46 ` [Buildroot] [PATCH v5 2/2] configs/beaglev_ahead: new defconfig kilian.zinnecker--- via buildroot
  2024-12-30 22:53 ` [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead Kilian Zinnecker via buildroot
  2 siblings, 0 replies; 10+ messages in thread
From: kilian.zinnecker--- via buildroot @ 2024-12-30 22:46 UTC (permalink / raw)
  To: buildroot; +Cc: Drew Fustini, Giulio Benetti, Kilian Zinnecker

From: Kilian Zinnecker <kilian.zinnecker@mail.de>

This patch adds a package for Xuantie binary blobs. The binary
blobs are needed for the BeagleV-Ahead's SoC (TH1520). They contain
an FPGA binary for power management and a binary for the audio
system.

Signed-off-by: Kilian Zinnecker <kilian.zinnecker@mail.de>
---
 DEVELOPERS                             |  1 +
 package/Config.in                      |  1 +
 package/xuantie-bins/Config.in         |  8 ++++++++
 package/xuantie-bins/xuantie-bins.hash |  2 ++
 package/xuantie-bins/xuantie-bins.mk   | 19 +++++++++++++++++++
 5 files changed, 31 insertions(+)
 create mode 100644 package/xuantie-bins/Config.in
 create mode 100644 package/xuantie-bins/xuantie-bins.hash
 create mode 100644 package/xuantie-bins/xuantie-bins.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 820a216735..6f7d20eb17 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2043,6 +2043,7 @@ F:	board/radxa/rock5b/
 F:	configs/avnet_rzboard_v2l_defconfig
 F:	configs/rock5b_defconfig
 F:	package/rockchip-rkbin/
+F:	package/xuantie-bins/
 
 N:	Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
 F:	package/wqy-zenhei/
diff --git a/package/Config.in b/package/Config.in
index 814101458d..d0159e2f01 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -664,6 +664,7 @@ endmenu
 	source "package/wipe/Config.in"
 	source "package/xorriso/Config.in"
 	source "package/xr819-xradio/Config.in"
+	source "package/xuantie-bins/Config.in"
 endmenu
 
 menu "Interpreter languages and scripting"
diff --git a/package/xuantie-bins/Config.in b/package/xuantie-bins/Config.in
new file mode 100644
index 0000000000..18f5df1453
--- /dev/null
+++ b/package/xuantie-bins/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_XUANTIE_BINS
+	bool "xuantie-bins"
+	depends on BR2_riscv
+	help
+	  This package provides binary blobs, needed for the
+	  BeagleV-Ahead's SoC (TH1520). They contain an FPGA binary
+	  (light_aon_fpga.bin) for power management and a binary for
+	  the audio system (light_c906_audio.bin).
diff --git a/package/xuantie-bins/xuantie-bins.hash b/package/xuantie-bins/xuantie-bins.hash
new file mode 100644
index 0000000000..51a5610154
--- /dev/null
+++ b/package/xuantie-bins/xuantie-bins.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256  ec0d3d7b0976de3288aa127d14bff9d5154a7d851d39593a1b7aa0ef9143f8ef  xuantie-bins-1.2.1.tar.gz
diff --git a/package/xuantie-bins/xuantie-bins.mk b/package/xuantie-bins/xuantie-bins.mk
new file mode 100644
index 0000000000..bccfc9587d
--- /dev/null
+++ b/package/xuantie-bins/xuantie-bins.mk
@@ -0,0 +1,19 @@
+################################################################################
+#
+# xuantie-bins
+#
+################################################################################
+
+XUANTIE_BINS_VERSION = 1.2.1
+XUANTIE_BINS_SITE = $(call github,beagleboard,xuantie-ubuntu,beaglev-$(XUANTIE_BINS_VERSION))
+XUANTIE_BINS_LICENSE = PROPRIETARY
+
+XUANTIE_BINS_INSTALL_IMAGES = YES
+XUANTIE_BINS_INSTALL_TARGET = NO
+
+define XUANTIE_BINS_INSTALL_IMAGES_CMDS
+	$(INSTALL) -D -m 0644 -t $(BINARIES_DIR) $(@D)/bins/light_aon_fpga.bin
+	$(INSTALL) -D -m 0644 -t $(BINARIES_DIR) $(@D)/bins/light_c906_audio.bin
+endef
+
+$(eval $(generic-package))
-- 
2.47.1

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

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

* [Buildroot] [PATCH v5 2/2] configs/beaglev_ahead: new defconfig
  2024-12-30 22:46 [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead kilian.zinnecker--- via buildroot
  2024-12-30 22:46 ` [Buildroot] [PATCH v5 1/2] package/xuantie-bins: new package kilian.zinnecker--- via buildroot
@ 2024-12-30 22:46 ` kilian.zinnecker--- via buildroot
  2024-12-30 22:53 ` [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead Kilian Zinnecker via buildroot
  2 siblings, 0 replies; 10+ messages in thread
From: kilian.zinnecker--- via buildroot @ 2024-12-30 22:46 UTC (permalink / raw)
  To: buildroot; +Cc: Drew Fustini, Giulio Benetti, Kilian Zinnecker

From: Kilian Zinnecker <kilian.zinnecker@mail.de>

This patch adds board support for the BeagleV-Ahead. It uses the 6.12.7
mainline kernel for the board's SoC.

The boot command for the custom uboot to boot the kernel could not
easily be changed. It seemed that a default boot command was persisent
and any change to it by normal means (e.g., uboot config parameters
like CONFIG_BOOT_COMMAND) did not have any effect. Hence a patch for
the custom u-boot is introduced for now, to insert the proper boot
command. Furthermore the location from which the custom uboot loads
OpenSBI and two necessary binary blobs is changed from the board's eMMC
to the sd card.

https://www.beagleboard.org/boards/beaglev-ahead
Signed-off-by: Kilian Zinnecker <kilian.zinnecker@mail.de>
---
 DEVELOPERS                                    |  2 +
 board/beaglev-ahead/genimage.cfg              | 42 +++++++++++
 board/beaglev-ahead/linux.fragment            |  2 +
 ...e-custom-BeagleV-Ahead-uboot-bootcmd.patch | 54 ++++++++++++++
 board/beaglev-ahead/post-image.sh             |  5 ++
 board/beaglev-ahead/readme.txt                | 70 +++++++++++++++++++
 board/beaglev-ahead/uEnv.txt                  |  3 +
 board/beaglev-ahead/uboot.fragment            |  2 +
 configs/beaglev_ahead_defconfig               | 40 +++++++++++
 9 files changed, 220 insertions(+)
 create mode 100644 board/beaglev-ahead/genimage.cfg
 create mode 100644 board/beaglev-ahead/linux.fragment
 create mode 100644 board/beaglev-ahead/patches/uboot/0001-Overwrite-custom-BeagleV-Ahead-uboot-bootcmd.patch
 create mode 100755 board/beaglev-ahead/post-image.sh
 create mode 100644 board/beaglev-ahead/readme.txt
 create mode 100644 board/beaglev-ahead/uEnv.txt
 create mode 100644 board/beaglev-ahead/uboot.fragment
 create mode 100644 configs/beaglev_ahead_defconfig

diff --git a/DEVELOPERS b/DEVELOPERS
index 6f7d20eb17..72dbc65963 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2039,8 +2039,10 @@ F:	package/libcamera/
 
 N:	Kilian Zinnecker <kilian.zinnecker@mail.de>
 F:	board/avnet/rzboard_v2l/
+F:	board/beaglev-ahead/
 F:	board/radxa/rock5b/
 F:	configs/avnet_rzboard_v2l_defconfig
+F:	configs/beaglev_ahead_defconfig
 F:	configs/rock5b_defconfig
 F:	package/rockchip-rkbin/
 F:	package/xuantie-bins/
diff --git a/board/beaglev-ahead/genimage.cfg b/board/beaglev-ahead/genimage.cfg
new file mode 100644
index 0000000000..f3045d1c87
--- /dev/null
+++ b/board/beaglev-ahead/genimage.cfg
@@ -0,0 +1,42 @@
+# SD card image for BeagleV-Ahead
+
+image boot.vfat {
+	vfat {
+		files = {
+			"fw_dynamic.bin",
+			"Image",
+			"light_aon_fpga.bin",
+			"light_c906_audio.bin",
+			"th1520-beaglev-ahead.dtb",
+		}
+
+		file uEnv.txt {
+			image = "uEnv.txt"
+		}
+	}
+	size = 48M
+}
+
+image sdcard.img {
+	hdimage {
+		partition-table-type = "gpt"
+		gpt-location = 2M
+	}
+
+	partition uboot {
+		in-partition-table = "false"
+		image = "u-boot-with-spl.bin"
+		offset = 0
+		holes = {"(440; 1048576)"}
+	}
+
+	partition boot {
+		bootable = "true"
+		image = "boot.vfat"
+	}
+
+	partition rootfs {
+		image = "rootfs.ext2"
+	}
+}
+
diff --git a/board/beaglev-ahead/linux.fragment b/board/beaglev-ahead/linux.fragment
new file mode 100644
index 0000000000..3ef280be25
--- /dev/null
+++ b/board/beaglev-ahead/linux.fragment
@@ -0,0 +1,2 @@
+CONFIG_GPIO_DWAPB=y
+CONFIG_PINCTRL_TH1520=y
diff --git a/board/beaglev-ahead/patches/uboot/0001-Overwrite-custom-BeagleV-Ahead-uboot-bootcmd.patch b/board/beaglev-ahead/patches/uboot/0001-Overwrite-custom-BeagleV-Ahead-uboot-bootcmd.patch
new file mode 100644
index 0000000000..345ff7c89b
--- /dev/null
+++ b/board/beaglev-ahead/patches/uboot/0001-Overwrite-custom-BeagleV-Ahead-uboot-bootcmd.patch
@@ -0,0 +1,54 @@
+From ec755de25f11914f1ec731999ce849cb9c837a62 Mon Sep 17 00:00:00 2001
+From: Kilian Zinnecker <kilian.zinnecker@mail.de>
+Date: Mon, 30 Dec 2024 22:21:15 +0100
+Subject: [PATCH 1/1] Overwrite custom BeagleV-Ahead uboot bootcmd
+
+This patch is a dirty hack: Trying to overwrite the bootcmd via the
+usual BOOT_COMMAND had no effect: Upon boot the bootcmd defaulted
+to some preset value and could not be changed easily. Therefore a
+hook is used to force the bootcmd to be overwritten.
+
+Furthermore, the location, from which uboot loads the necessary
+binary blobs for the TH1520 and the OpenSBI firmware, is fixed to
+the BeagleV-Ahead's eMMC inside the uboot code. This patch changes
+it to the sd card.
+
+Signed-off-by: Kilian Zinnecker <kilian.zinnecker@mail.de>
+---
+ board/thead/light-c910/light.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/board/thead/light-c910/light.c b/board/thead/light-c910/light.c
+index 8d5478e916..b245cd81a3 100644
+--- a/board/thead/light-c910/light.c
++++ b/board/thead/light-c910/light.c
+@@ -2259,12 +2259,12 @@ static void light_usb_boot_check(void)
+ 
+ static void do_firmware_load(void)
+ {
+-	printf("loading aon...\n");
+-	run_command("if test -e mmc 0:2 light_aon_fpga.bin; then load mmc 0:2 0x10000000 light_aon_fpga.bin; fi; cp.b 0x10000000 0xffffef8000 $filesize", 0);
+-	printf("loading audio...\n");
+-	run_command("if test -e mmc 0:2 light_c906_audio.bin; then load mmc 0:2 0x10000000 light_c906_audio.bin; fi; cp.b 0x10000000 0xffc0000000 $filesize", 0);
+-	printf("loading opensbi...\n");
+-	run_command("if test -e mmc 0:2 fw_dynamic.bin; then load mmc 0:2 0x0 fw_dynamic.bin; fi;", 0);
++	printf("loading aon from sd-card ...\n");
++	run_command("if test -e mmc 1:1 light_aon_fpga.bin; then load mmc 1:1 0x10000000 light_aon_fpga.bin; fi; cp.b 0x10000000 0xffffef8000 $filesize", 0);
++	printf("loading audio from sd-card ...\n");
++	run_command("if test -e mmc 1:1 light_c906_audio.bin; then load mmc 1:1 0x10000000 light_c906_audio.bin; fi; cp.b 0x10000000 0xffc0000000 $filesize", 0);
++	printf("loading opensbi from sd-card ...\n");
++	run_command("if test -e mmc 1:1 fw_dynamic.bin; then load mmc 1:1 0x0 fw_dynamic.bin; fi;", 0);
+ 	printf("bootslave..");
+ 	run_command("bootslave", 0);
+ }
+@@ -2282,6 +2282,7 @@ int board_late_init(void)
+ 	light_usb_boot_check();
+ 	do_firmware_load();
+ 	ap_peri_clk_disable();
++	run_command("load mmc 1:1 $ramdisk_addr_r uEnv.txt; env import -t $ramdisk_addr_r $filesize; run uenvcmd", 0);
+ 	return 0;
+ }
+ 
+-- 
+2.47.1
+
diff --git a/board/beaglev-ahead/post-image.sh b/board/beaglev-ahead/post-image.sh
new file mode 100755
index 0000000000..3a6e406435
--- /dev/null
+++ b/board/beaglev-ahead/post-image.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -e
+
+cp board/beaglev-ahead/uEnv.txt ${BINARIES_DIR}/
+support/scripts/genimage.sh -c board/beaglev-ahead/genimage.cfg
diff --git a/board/beaglev-ahead/readme.txt b/board/beaglev-ahead/readme.txt
new file mode 100644
index 0000000000..597328df5c
--- /dev/null
+++ b/board/beaglev-ahead/readme.txt
@@ -0,0 +1,70 @@
+BeagleV-Ahead
+==============
+https://www.beagleboard.org/boards/beaglev-ahead
+https://forum.beagleboard.org/c/beaglev/
+
+The BeagleV-Ahead features the TH1250 SoC, a quad-core riscv64 SoC.
+
+Build:
+======
+  $ make beaglev_ahead_defconfig
+  $ make
+
+Files created in output directory
+=================================
+
+output/images
+.
+├── boot.vfat
+├── fw_dynamic.bin
+├── fw_dynamic.elf
+├── fw_jump.bin
+├── fw_jump.elf
+├── fw_payload.bin
+├── fw_payload.elf
+├── Image
+├── light_aon_fpga.bin
+├── light_c906_audio.bin
+├── rootfs.ext2
+├── rootfs.ext4 -> rootfs.ext2
+├── rootfs.tar
+├── sdcard.img
+├── th1520-beaglev-ahead.dtb
+├── u-boot.bin
+├── u-boot-with-spl.bin
+└── uEnv.txt
+
+Creating bootable SD card:
+==========================
+
+Simply invoke (as root)
+
+sudo dd if=output/images/sdcard.img of=/dev/sdX && sync
+
+Where X is your SD card device.
+
+Booting:
+========
+
+SD card boot button:
+--------------------
+To let the board boot from SD card, keep the "SD button" pressed during power
+up / power cycle. The button is near the SD card slot.
+
+Serial console:
+---------------
+The BeagleV-Ahead has a "Debug" GPIO header. Its layout can be seen here:
+https://docs.beagleboard.org/latest/boards/beaglev/ahead/02-quick-start.html#access-uart-debug-console
+
+Note, that there are reported issues with some uart interface cables/dongles:
+https://forum.beagleboard.org/t/beaglev-ahead-debug-terminal-problems/35331
+
+Baudrate for this board is 115200.
+
+Login:
+------
+Enter 'root' as login user, and the prompt is ready.
+
+Wiki link:
+==========
+https://docs.beagleboard.org/latest/boards/beaglev/ahead/index.html
diff --git a/board/beaglev-ahead/uEnv.txt b/board/beaglev-ahead/uEnv.txt
new file mode 100644
index 0000000000..831f78cdb2
--- /dev/null
+++ b/board/beaglev-ahead/uEnv.txt
@@ -0,0 +1,3 @@
+bootcmd=booti ${kernel_addr_r} - ${fdt_addr_r}
+uenvcmd=fatload mmc 1:1 ${kernel_addr_r} Image; fatload mmc 1:1 ${fdt_addr_r} th1520-beaglev-ahead.dtb
+bootargs=root=/dev/mmcblk1p2 rootfstype=ext4 rootwait ro console=ttyS0,115200 loglevel=8 earlycon clk_ignore_unused
diff --git a/board/beaglev-ahead/uboot.fragment b/board/beaglev-ahead/uboot.fragment
new file mode 100644
index 0000000000..1f51cef106
--- /dev/null
+++ b/board/beaglev-ahead/uboot.fragment
@@ -0,0 +1,2 @@
+CONFIG_LEGACY_IMAGE_FORMAT=y
+CONFIG_AUTOBOOT=y
diff --git a/configs/beaglev_ahead_defconfig b/configs/beaglev_ahead_defconfig
new file mode 100644
index 0000000000..267130e3cc
--- /dev/null
+++ b/configs/beaglev_ahead_defconfig
@@ -0,0 +1,40 @@
+BR2_riscv=y
+BR2_riscv_custom=y
+BR2_RISCV_ISA_RVM=y
+BR2_RISCV_ISA_RVA=y
+BR2_RISCV_ISA_RVF=y
+BR2_RISCV_ISA_RVD=y
+BR2_RISCV_ISA_RVC=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y
+BR2_GLOBAL_PATCH_DIR="board/beaglev-ahead/patches"
+BR2_TARGET_GENERIC_HOSTNAME="BeagleV-Ahead"
+BR2_TARGET_GENERIC_ISSUE="Welcome to the BeagleV-Ahead"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/beaglev-ahead/post-image.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.7"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="thead/th1520-beaglev-ahead"
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/beaglev-ahead/linux.fragment"
+BR2_PACKAGE_XUANTIE_BINS=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_OPENSBI=y
+BR2_TARGET_OPENSBI_CUSTOM_VERSION=y
+BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.6"
+BR2_TARGET_OPENSBI_PLAT="generic"
+BR2_TARGET_OPENSBI_ADDITIONAL_VARIABLES="PLATFORM_THEAD=y"
+BR2_TARGET_OPENSBI_UBOOT_PAYLOAD=y
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
+BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/beagleboard/beaglev-ahead-u-boot/archive/refs/heads/beaglev-v2020.01-1.1.2-ubuntu.tar.gz"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="light_beagle"
+BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/beaglev-ahead/uboot.fragment"
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-with-spl.bin"
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
-- 
2.47.1

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

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

* Re: [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead
  2024-12-30 22:46 [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead kilian.zinnecker--- via buildroot
  2024-12-30 22:46 ` [Buildroot] [PATCH v5 1/2] package/xuantie-bins: new package kilian.zinnecker--- via buildroot
  2024-12-30 22:46 ` [Buildroot] [PATCH v5 2/2] configs/beaglev_ahead: new defconfig kilian.zinnecker--- via buildroot
@ 2024-12-30 22:53 ` Kilian Zinnecker via buildroot
  2024-12-31 23:01   ` Drew Fustini
  2 siblings, 1 reply; 10+ messages in thread
From: Kilian Zinnecker via buildroot @ 2024-12-30 22:53 UTC (permalink / raw)
  To: buildroot; +Cc: Drew Fustini, Giulio Benetti, kilian.zinnecker

Hello all,

please feel free to give feedback once more if you like, but please don't 
apply this series of the patches yet, since there are still some open issues:

1) Still there is no LICENSE file in the xuantie-bins repository - hopefully I 
can get someone to add the proper license eventually.

2) The uboot is still the custom one. In the past I was not able to get the 
official uboot running, which features the Lichee Pi 4A - another board with the 
same SoC. I don't know, whether I can get it running though. So far I was not 
successfull.

3) Currently it seems that only one of the SoC's 4 cores gets activated. I see 
the following in my bootlog:

[    0.111209] smp: Bringing up secondary CPUs ...
[    1.132870] CPU1: failed to come online
[    2.161923] CPU2: failed to come online
[    3.190788] CPU3: failed to come online
[    3.194847] smp: Brought up 1 node, 1 CPU

I didn't look into it yet. If anyone has a suggestion, what could be going 
wrong, please tell me.

Thanks and best regards,
Kilian


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

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

* Re: [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead
  2024-12-30 22:53 ` [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead Kilian Zinnecker via buildroot
@ 2024-12-31 23:01   ` Drew Fustini
  2025-01-01 17:13     ` Kilian Zinnecker via buildroot
  0 siblings, 1 reply; 10+ messages in thread
From: Drew Fustini @ 2024-12-31 23:01 UTC (permalink / raw)
  To: Kilian Zinnecker; +Cc: buildroot, Drew Fustini, Giulio Benetti

[resending from an address that is subscribed to the buidroot list]

On Mon, Dec 30, 2024 at 11:53:43PM +0100, Kilian Zinnecker via buildroot wrote:
> Hello all,
> 
> please feel free to give feedback once more if you like, but please don't 
> apply this series of the patches yet, since there are still some open issues:
> 
> 1) Still there is no LICENSE file in the xuantie-bins repository - hopefully I 
> can get someone to add the proper license eventually.
> 
> 2) The uboot is still the custom one. In the past I was not able to get the 
> official uboot running, which features the Lichee Pi 4A - another board with the 
> same SoC. I don't know, whether I can get it running though. So far I was not 
> successfull.
> 
> 3) Currently it seems that only one of the SoC's 4 cores gets activated. I see 
> the following in my bootlog:
> 
> [    0.111209] smp: Bringing up secondary CPUs ...
> [    1.132870] CPU1: failed to come online
> [    2.161923] CPU2: failed to come online
> [    3.190788] CPU3: failed to come online
> [    3.194847] smp: Brought up 1 node, 1 CPU
> 
> I didn't look into it yet. If anyone has a suggestion, what could be going 
> wrong, please tell me.

When the TH1520-based Ahead and LPi4a boards launched, there was a
device tree node that was parsed by OpenSBI to start up the other harts:

https://openbeagle.org/beaglev-ahead/beaglev-ahead-linux/-/blob/beaglev-v5.10.113-1.1.2/arch/riscv/boot/dts/thead/light.dtsi#L380

                reset: reset-sample {
                        compatible = "thead,reset-sample";
                        plic-delegate = <0xff 0xd81ffffc>;
                        entry-reg = <0xff 0xff019050>;
                        entry-cnt = <4>;
                        control-reg = <0xff 0xff015004>;
                        control-val = <0x1c>;
                        csr-copy = <0x7f3 0x7c0 0x7c1 0x7c2 0x7c3 0x7c5 0x7cc>;
                };

The node was handled by OpenSBI in lib/utils/reset/fdt_reset_thead.c.
The problem was that the design of this device tree node had flaws from
the viewpoint of the device tree maintainers. Therefore, the upstream
th1520.dtsi doesn't have the reset-sample node. One would need to keep a
downstream version of th1520.dtsi that adds that reset-sample node.

However, this functionality was removed last year from OpenSBI, I think
the change made it in the OpensBI v1.4 release:

https://github.com/riscv-software-src/opensbi/commit/d1e0f7f25b2f1527425942dfc327f1d4a61bbff4

> In the past, we used fdt_reset_thead to help customers with prototype
> verification. However, with the emergence of the Big-little SoC system,
> it can no longer meet the demand. Therefore, we use zero_stage_boot
> instead of fdt_reset_thead. It cleans up the opensbi code and ends the
> disputation of reset_sample's dts.

Thus for OpenSBI v1.4+, one must have an updated U-Boot SPL build that
performs this reset functionality that OpenSBI used to. SPL is the early
portion of U-Boot that does early setup like DDR training. There is a
build of U-Boot SPL for the LPi4a from RevyOS that does this. However,
I'm not sure about the status for the Ahead so I'll have to followup on
that.

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

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

* Re: [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead
  2024-12-31 23:01   ` Drew Fustini
@ 2025-01-01 17:13     ` Kilian Zinnecker via buildroot
  2025-01-01 19:46       ` Drew Fustini
  0 siblings, 1 reply; 10+ messages in thread
From: Kilian Zinnecker via buildroot @ 2025-01-01 17:13 UTC (permalink / raw)
  To: buildroot; +Cc: buildroot, Drew Fustini, Giulio Benetti, Drew Fustini

Hello Drew,

[--SNIP--]
 
> When the TH1520-based Ahead and LPi4a boards launched, there was a
> device tree node that was parsed by OpenSBI to start up the other harts:
> 
[--SNIP--]
> 
> The node was handled by OpenSBI in lib/utils/reset/fdt_reset_thead.c.
> The problem was that the design of this device tree node had flaws from
> the viewpoint of the device tree maintainers. Therefore, the upstream
> th1520.dtsi doesn't have the reset-sample node. One would need to keep a
> downstream version of th1520.dtsi that adds that reset-sample node.
> 
> However, this functionality was removed last year from OpenSBI, I think
> the change made it in the OpensBI v1.4 release:
[--SNIP--]
> 
> Thus for OpenSBI v1.4+, one must have an updated U-Boot SPL build that
> performs this reset functionality that OpenSBI used to. SPL is the early
> portion of U-Boot that does early setup like DDR training. There is a
> build of U-Boot SPL for the LPi4a from RevyOS that does this. However,
> I'm not sure about the status for the Ahead so I'll have to followup on
> that.

thanks a lot for your insights! I tried two things, but unfortunately so far I 
wasn't successful with either:

First, I made a patch which reverts the removal of fdt_reset_thead from 
OpenSBI and try to use that patch to bring back that functionality to OpenSBI 
1.6. However, turn out that down the road multiple further changes were made, 
which would have to be reverted. E.g., some structs and possible also code 
handling them, does not exist anymore in OpenSBI 1.6. So I think trying to 
bring back the functionality to v1.6 is probably the last resort if nothing 
else works. I also in general don't like this approach, because it likely will 
break if OpenSBI is eventually updated.

Hence, my second approach was to try to use OpenSBI 1.3.1 instead: I created a 
custom device tree containing the reset-sample not you pointed out. I then had 
to tackle a current issue revolving using a custom device tree and Linux 
6.12.x in buildroot (see [1]). However, there exists a working hotfix for that 
issue ([2]), so that is no problem at the moment. But unfortunately the 
OpenSBI 1.3.1 seems to be a problem. Uppon booting I get the error message:

init_coldboot: timer init failed (error -3)

Seems to be an error message thrown in sbi_init.c:

https://github.com/riscv-software-src/opensbi/blob/release-1.3.x/lib/sbi/
sbi_init.c#L342

Looking a bit deeper, it seems to come from a function 
"sbi_platform_timer_init":

https://github.com/riscv-software-src/opensbi/blob/
bd613dd92113f683052acfb23d9dc8ba60029e0a/include/sbi/sbi_platform.h#L581

I can't track further, as I don't know which "const struct sbi_platform *plat" 
is used here. However, seems like others had this issue in the past as well:

https://github.com/sipeed/LicheePi4A/issues/29

Their solution seem to be to switch to OpenSBI 1.4. However, I guess, then we 
will have the problem that the core 1-3 are not activate again? If we can't fix 
any of those two ways, then there might be still the revyos u-boot, you 
mentioned. Is it this one?

https://github.com/revyos/thead-u-boot

It does contain a commit indicating that it might also feature the BeagleV-
Ahead ([3]) and also has dts files for the board. What do you think, about 
these options? Do you know anything which could help patching OpenSBI 1.6, 
getting OpenSBI 1.3.1 running or using the revyos u-boot?

Thanks and best regards,
Kilian


[1] https://lists.buildroot.org/pipermail/buildroot/2024-October/765463.html
[2] https://lore.kernel.org/buildroot/
035d6d78-0a31-4083-8fa1-65f5be5f74b5@grenoble.cnrs.fr/
[3] https://github.com/revyos/thead-u-boot/commit/79454e91


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

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

* Re: [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead
  2025-01-01 17:13     ` Kilian Zinnecker via buildroot
@ 2025-01-01 19:46       ` Drew Fustini
  2025-01-01 19:48         ` Drew Fustini
  0 siblings, 1 reply; 10+ messages in thread
From: Drew Fustini @ 2025-01-01 19:46 UTC (permalink / raw)
  To: Kilian Zinnecker
  Cc: buildroot, Drew Fustini, Giulio Benetti, Revy, robertcnelson,
	jkridner

On Wed, Jan 01, 2025 at 06:13:21PM +0100, Kilian Zinnecker via buildroot wrote:
> Hello Drew,
> 
> [--SNIP--]
>  
> > When the TH1520-based Ahead and LPi4a boards launched, there was a
> > device tree node that was parsed by OpenSBI to start up the other harts:
> > 
> [--SNIP--]
> > 
> > The node was handled by OpenSBI in lib/utils/reset/fdt_reset_thead.c.
> > The problem was that the design of this device tree node had flaws from
> > the viewpoint of the device tree maintainers. Therefore, the upstream
> > th1520.dtsi doesn't have the reset-sample node. One would need to keep a
> > downstream version of th1520.dtsi that adds that reset-sample node.
> > 
> > However, this functionality was removed last year from OpenSBI, I think
> > the change made it in the OpensBI v1.4 release:
> [--SNIP--]
> > 
> > Thus for OpenSBI v1.4+, one must have an updated U-Boot SPL build that
> > performs this reset functionality that OpenSBI used to. SPL is the early
> > portion of U-Boot that does early setup like DDR training. There is a
> > build of U-Boot SPL for the LPi4a from RevyOS that does this. However,
> > I'm not sure about the status for the Ahead so I'll have to followup on
> > that.
> 
> thanks a lot for your insights! I tried two things, but unfortunately so far I 
> wasn't successful with either:
> 
> First, I made a patch which reverts the removal of fdt_reset_thead from 
> OpenSBI and try to use that patch to bring back that functionality to OpenSBI 
> 1.6. However, turn out that down the road multiple further changes were made, 
> which would have to be reverted. E.g., some structs and possible also code 
> handling them, does not exist anymore in OpenSBI 1.6. So I think trying to 
> bring back the functionality to v1.6 is probably the last resort if nothing 
> else works. I also in general don't like this approach, because it likely will 
> break if OpenSBI is eventually updated.
> 
> Hence, my second approach was to try to use OpenSBI 1.3.1 instead: I created a 
> custom device tree containing the reset-sample not you pointed out. I then had 
> to tackle a current issue revolving using a custom device tree and Linux 
> 6.12.x in buildroot (see [1]). However, there exists a working hotfix for that 
> issue ([2]), so that is no problem at the moment. But unfortunately the 
> OpenSBI 1.3.1 seems to be a problem. Uppon booting I get the error message:
> 
> init_coldboot: timer init failed (error -3)
> 
> Seems to be an error message thrown in sbi_init.c:
> 
> https://github.com/riscv-software-src/opensbi/blob/release-1.3.x/lib/sbi/
> sbi_init.c#L342
> 
> Looking a bit deeper, it seems to come from a function 
> "sbi_platform_timer_init":
> 
> https://github.com/riscv-software-src/opensbi/blob/
> bd613dd92113f683052acfb23d9dc8ba60029e0a/include/sbi/sbi_platform.h#L581
> 
> I can't track further, as I don't know which "const struct sbi_platform *plat" 
> is used here. However, seems like others had this issue in the past as well:
> 
> https://github.com/sipeed/LicheePi4A/issues/29
> 
> Their solution seem to be to switch to OpenSBI 1.4. However, I guess, then we 
> will have the problem that the core 1-3 are not activate again? If we can't fix 
> any of those two ways, then there might be still the revyos u-boot, you 
> mentioned. Is it this one?
> 
> https://github.com/revyos/thead-u-boot
> 
> It does contain a commit indicating that it might also feature the BeagleV-
> Ahead ([3]) and also has dts files for the board. What do you think, about 
> these options? Do you know anything which could help patching OpenSBI 1.6, 
> getting OpenSBI 1.3.1 running or using the revyos u-boot?
> 
> Thanks and best regards,
> Kilian
> 
> 
> [1] https://lists.buildroot.org/pipermail/buildroot/2024-October/765463.html
> [2] https://lore.kernel.org/buildroot/
> 035d6d78-0a31-4083-8fa1-65f5be5f74b5@grenoble.cnrs.fr/
> [3] https://github.com/revyos/thead-u-boot/commit/79454e91


I think that u-boot is the ideal solution since that is the direction
that T-Head decided to go. I asked Revy on Telegram [1] and they showed
me where in thead-u-boot [2] that reset_sample() is called.

Revy pointed me to a build of u-boot-with-spl-beagle.bin [3] that I've
just flashed to my Ahead [4]. Unfortunately, there is an issue that
results in the board not booting [5]. Revy is going to look into the
issue and get back to me.

Thanks,
Drew

[1] https://t.me/linux4rv
[2] https://github.com/revyos/thead-u-boot/blob/fc9575fa63442ae87ced0b147ca1a14e30fd3d3d/arch/riscv/lib/bootm.c#L166-L173
[3] https://github.com/revyos/thead-u-boot/releases/download/20241223/u-boot-with-spl-beagle.bin
[4] https://gist.github.com/pdp7/c3b1e5aec026e92940e27169172036e1
[5] https://gist.github.com/pdp7/a76e975304e26593eb19375ce3a1e40e

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

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

* Re: [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead
  2025-01-01 19:46       ` Drew Fustini
@ 2025-01-01 19:48         ` Drew Fustini
  2025-01-01 20:00           ` Kilian Zinnecker via buildroot
  0 siblings, 1 reply; 10+ messages in thread
From: Drew Fustini @ 2025-01-01 19:48 UTC (permalink / raw)
  To: Kilian Zinnecker
  Cc: buildroot, Drew Fustini, Giulio Benetti, Revy, robertcnelson,
	jkridner

On Wed, Jan 01, 2025 at 11:46:28AM -0800, Drew Fustini wrote:
> On Wed, Jan 01, 2025 at 06:13:21PM +0100, Kilian Zinnecker via buildroot wrote:
> > Hello Drew,
> > 
> > [--SNIP--]
> >  
> > > When the TH1520-based Ahead and LPi4a boards launched, there was a
> > > device tree node that was parsed by OpenSBI to start up the other harts:
> > > 
> > [--SNIP--]
> > > 
> > > The node was handled by OpenSBI in lib/utils/reset/fdt_reset_thead.c.
> > > The problem was that the design of this device tree node had flaws from
> > > the viewpoint of the device tree maintainers. Therefore, the upstream
> > > th1520.dtsi doesn't have the reset-sample node. One would need to keep a
> > > downstream version of th1520.dtsi that adds that reset-sample node.
> > > 
> > > However, this functionality was removed last year from OpenSBI, I think
> > > the change made it in the OpensBI v1.4 release:
> > [--SNIP--]
> > > 
> > > Thus for OpenSBI v1.4+, one must have an updated U-Boot SPL build that
> > > performs this reset functionality that OpenSBI used to. SPL is the early
> > > portion of U-Boot that does early setup like DDR training. There is a
> > > build of U-Boot SPL for the LPi4a from RevyOS that does this. However,
> > > I'm not sure about the status for the Ahead so I'll have to followup on
> > > that.
> > 
> > thanks a lot for your insights! I tried two things, but unfortunately so far I 
> > wasn't successful with either:
> > 
> > First, I made a patch which reverts the removal of fdt_reset_thead from 
> > OpenSBI and try to use that patch to bring back that functionality to OpenSBI 
> > 1.6. However, turn out that down the road multiple further changes were made, 
> > which would have to be reverted. E.g., some structs and possible also code 
> > handling them, does not exist anymore in OpenSBI 1.6. So I think trying to 
> > bring back the functionality to v1.6 is probably the last resort if nothing 
> > else works. I also in general don't like this approach, because it likely will 
> > break if OpenSBI is eventually updated.
> > 
> > Hence, my second approach was to try to use OpenSBI 1.3.1 instead: I created a 
> > custom device tree containing the reset-sample not you pointed out. I then had 
> > to tackle a current issue revolving using a custom device tree and Linux 
> > 6.12.x in buildroot (see [1]). However, there exists a working hotfix for that 
> > issue ([2]), so that is no problem at the moment. But unfortunately the 
> > OpenSBI 1.3.1 seems to be a problem. Uppon booting I get the error message:
> > 
> > init_coldboot: timer init failed (error -3)
> > 
> > Seems to be an error message thrown in sbi_init.c:
> > 
> > https://github.com/riscv-software-src/opensbi/blob/release-1.3.x/lib/sbi/
> > sbi_init.c#L342
> > 
> > Looking a bit deeper, it seems to come from a function 
> > "sbi_platform_timer_init":
> > 
> > https://github.com/riscv-software-src/opensbi/blob/
> > bd613dd92113f683052acfb23d9dc8ba60029e0a/include/sbi/sbi_platform.h#L581
> > 
> > I can't track further, as I don't know which "const struct sbi_platform *plat" 
> > is used here. However, seems like others had this issue in the past as well:
> > 
> > https://github.com/sipeed/LicheePi4A/issues/29
> > 
> > Their solution seem to be to switch to OpenSBI 1.4. However, I guess, then we 
> > will have the problem that the core 1-3 are not activate again? If we can't fix 
> > any of those two ways, then there might be still the revyos u-boot, you 
> > mentioned. Is it this one?
> > 
> > https://github.com/revyos/thead-u-boot
> > 
> > It does contain a commit indicating that it might also feature the BeagleV-
> > Ahead ([3]) and also has dts files for the board. What do you think, about 
> > these options? Do you know anything which could help patching OpenSBI 1.6, 
> > getting OpenSBI 1.3.1 running or using the revyos u-boot?
> > 
> > Thanks and best regards,
> > Kilian
> > 
> > 
> > [1] https://lists.buildroot.org/pipermail/buildroot/2024-October/765463.html
> > [2] https://lore.kernel.org/buildroot/
> > 035d6d78-0a31-4083-8fa1-65f5be5f74b5@grenoble.cnrs.fr/
> > [3] https://github.com/revyos/thead-u-boot/commit/79454e91
> 
> 
> I think that u-boot is the ideal solution since that is the direction
> that T-Head decided to go. I asked Revy on Telegram [1] and they showed
> me where in thead-u-boot [2] that reset_sample() is called.
> 
> Revy pointed me to a build of u-boot-with-spl-beagle.bin [3] that I've
> just flashed to my Ahead [4]. Unfortunately, there is an issue that
> results in the board not booting [5]. Revy is going to look into the
> issue and get back to me.
> 
> Thanks,
> Drew
> 
> [1] https://t.me/linux4rv
> [2] https://github.com/revyos/thead-u-boot/blob/fc9575fa63442ae87ced0b147ca1a14e30fd3d3d/arch/riscv/lib/bootm.c#L166-L173
> [3] https://github.com/revyos/thead-u-boot/releases/download/20241223/u-boot-with-spl-beagle.bin
> [4] https://gist.github.com/pdp7/c3b1e5aec026e92940e27169172036e1
> [5] https://gist.github.com/pdp7/a76e975304e26593eb19375ce3a1e40e

Revy just replied that I should be trying mainline OpenSBI. I have to go
offline for awhile but I will try that later today.

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

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

* Re: [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead
  2025-01-01 19:48         ` Drew Fustini
@ 2025-01-01 20:00           ` Kilian Zinnecker via buildroot
       [not found]             ` <CAAT7Ki9Js9C47anbGWMZ--gu88w=k1yVSbU_HJ=T2N7+7n_DUg@mail.gmail.com>
  0 siblings, 1 reply; 10+ messages in thread
From: Kilian Zinnecker via buildroot @ 2025-01-01 20:00 UTC (permalink / raw)
  To: buildroot, Drew Fustini
  Cc: Giulio Benetti, Revy, robertcnelson, jkridner, Drew Fustini

Hello Drew,

[--SNIP--]

> > I think that u-boot is the ideal solution since that is the direction
> > that T-Head decided to go. I asked Revy on Telegram [1] and they showed
> > me where in thead-u-boot [2] that reset_sample() is called.
> > 
> > Revy pointed me to a build of u-boot-with-spl-beagle.bin [3] that I've
> > just flashed to my Ahead [4]. Unfortunately, there is an issue that
> > results in the board not booting [5]. Revy is going to look into the
> > issue and get back to me.
[--SNIP--]
> 
> Revy just replied that I should be trying mainline OpenSBI. I have to go
> offline for awhile but I will try that later today.

I actually didn't wait and acutally already tried the revyos uboot and it 
seems to work with kernel 6.12.7 and OpenSBI 1.6. I now get:

[    0.113565] smp: Bringing up secondary CPUs ...
[    0.121700] smp: Brought up 1 node, 4 CPUs
[--SNIP--]
[    0.216965] cpuidle: using governor menu
[    0.251283] cpu3: Ratio of byte access time to unaligned word access is 
6.14, unaligned accesses are fast
[    0.251283] cpu2: Ratio of byte access time to unaligned word access is 
6.14, unaligned accesses are fast
[    0.251284] cpu1: Ratio of byte access time to unaligned word access is 
6.14, unaligned accesses are fast
[    0.303594] cpu0: Ratio of byte access time to unaligned word access is 
6.14, unaligned accesses are fast

So I think all cores are up and running now! :D Thanks for all the help so 
far! I still have some questions though and there are still some things to do. 
However, I will send a v6 of the patches, although they are still not ready to 
get accepted.

Regarding the revyos boot, I have two questions:

1) Are the xuantie binary blobs still needed? The light_aon_fpga.bin and the 
light_c906_audio.bin?

2) The revyos uboot seems to also need the reset-sampe device tree node. I 
therefore added it via a custom device tree. However I still get the error 
message "## fdt has no reset_sample". Any idea, what could be wrong here?

https://github.com/revyos/thead-u-boot/blob/th1520/arch/riscv/lib/bootm.c#L115

Thanks and best regards,
Kilian


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

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

* Re: [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead
       [not found]             ` <CAAT7Ki9Js9C47anbGWMZ--gu88w=k1yVSbU_HJ=T2N7+7n_DUg@mail.gmail.com>
@ 2025-01-01 20:59               ` Kilian Zinnecker via buildroot
  0 siblings, 0 replies; 10+ messages in thread
From: Kilian Zinnecker via buildroot @ 2025-01-01 20:59 UTC (permalink / raw)
  To: Han Gao
  Cc: buildroot, Drew Fustini, Giulio Benetti, robertcnelson, jkridner,
	Drew Fustini

Hello Han,


> > 1) Are the xuantie binary blobs still needed? The light_aon_fpga.bin and
> > the
> light_c906_audio.bin?
> 
> The TH1520 chip is composed of E902+C906+4*C910V.
> The light_aon_fpga.bin needs to be loaded into E902 to manage power
> and assist in implementing S3/S4.
> The light_c906_audio.bin needs to be loaded on C906 and is responsible
> for audio related.

Do you happen to know what the license for these binaries is? The repository I 
currently use to obtain the binaries does not have a LICENSE file. But we will 
need one to get the board support added to buildroot.

> > 2) The revyos uboot seems to also need the reset-sampe device tree node. I
> 
> therefore added it via a custom device tree. However I still get the error
> message "## fdt has no reset_sample". Any idea, what could be wrong here?
> 
> Just a debug warning message.
> bootm.c#L173 call reset_sample

Actually also a fault on my side: I specified the wrong name for the device 
tree blob, hence it couldn't work. Now it works and the error message ist 
gone.

> This solution is not perfect. This solution assumes that hart 0 is the
> boot core,
> which is inconsistent with the solution of opensbi randomly picking a
> hart as the boot core, so a patch may be needed.
> 
> [1]
> https://github.com/revyos/thead-u-boot/blob/th1520/arch/riscv/lib/bootm.c#L
> 173 [2]
> https://github.com/revyos/opensbi/blob/9de52c0fdff78bf7f1d271b3bc07ec3bcd5c
> 3bf2/platform/generic/thead/thead-generic.c#L438C11-L438C26

Thanks for the insights! I just sent a v6 of the patches.

Best regards,
Kilian


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

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

end of thread, other threads:[~2025-01-01 21:00 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-30 22:46 [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead kilian.zinnecker--- via buildroot
2024-12-30 22:46 ` [Buildroot] [PATCH v5 1/2] package/xuantie-bins: new package kilian.zinnecker--- via buildroot
2024-12-30 22:46 ` [Buildroot] [PATCH v5 2/2] configs/beaglev_ahead: new defconfig kilian.zinnecker--- via buildroot
2024-12-30 22:53 ` [Buildroot] [PATCH v5 0/2] Add board support for the BeagleV-Ahead Kilian Zinnecker via buildroot
2024-12-31 23:01   ` Drew Fustini
2025-01-01 17:13     ` Kilian Zinnecker via buildroot
2025-01-01 19:46       ` Drew Fustini
2025-01-01 19:48         ` Drew Fustini
2025-01-01 20:00           ` Kilian Zinnecker via buildroot
     [not found]             ` <CAAT7Ki9Js9C47anbGWMZ--gu88w=k1yVSbU_HJ=T2N7+7n_DUg@mail.gmail.com>
2025-01-01 20:59               ` Kilian Zinnecker via buildroot

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