Update u-boot-s905x-s912 binary to a new build (#4947)

Previously, the u-boot binary files used to chainload u-boot for the
amlogic tv boxes were the ones produced by balbes150 in his old
tv box builds.  There was no source code for them.
This commit is the first to convert from those old binary files
to newly built ones along with a u-boot patch file and instructions
on how to build/rebuild them.  Eventually this needs to be incorporated into
the build framework to automate it.  But for now one step at a time.

 Changes to be committed:
	new file:   packages/bsp/aml-s9xx-box/boot/build-u-boot/readme.txt
	new file:   packages/bsp/aml-s9xx-box/boot/build-u-boot/u-boot-s905x-s912.patch
	deleted:    packages/bsp/aml-s9xx-box/boot/u-boot-readme.txt
	modified:   packages/bsp/aml-s9xx-box/boot/u-boot-s905x-s912

Co-authored-by: Igor Pečovnik <igor@armbian.com>
This commit is contained in:
SteeManMI 2023-03-15 08:30:28 -04:00 committed by GitHub
parent 5b8d86ae5f
commit 4948417152
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 139 additions and 10 deletions

View File

@ -0,0 +1,30 @@
The u-boot binary files included in this distribution are the ones originally
built by @balbes150 as part of his former TV Box builds
based on work by @hexdump
We shouldn't be releasing binary blobs of unknown source code origin,
however as these are what has been the norm for the amlogic TV box builds
in the past, we are continuing with that as the status quo, until something
better is put in place.
These binaries should be recreated from scratch and either built
automatically as part of the Armbian build process, or at least instructions
should be provided here as to how to rebuild them from source.
Update (3/13/23):
Instructions for building u-boot-s905x-s912 from source
(This is based on the work of @hexdump that can be found here:
https://github.com/hexdump0815/u-boot-misc/blob/master/readme.gxl)
git clone https://gitlab.denx.de/u-boot/u-boot.git/
cd u-boot
git checkout v2020.07
patch -p1 < /path/to/u-boot-s905x-s912.patch
make libretech-cc_defconfig
make
cp u-boot.bin u-boot-s905x-s912
TODO: rebuild u-boot-s905 and u-boot-s905x2-s922 from source
TODO: add a s905x3 specific u-boot variant
TODO: automate the manual build process in the armbian build framework

View File

@ -0,0 +1,109 @@
diff --git a/arch/arm/dts/meson-gxl-s905x-libretech-cc.dts b/arch/arm/dts/meson-gxl-s905x-libretech-cc.dts
index e8348b2728..b24a939959 100644
--- a/arch/arm/dts/meson-gxl-s905x-libretech-cc.dts
+++ b/arch/arm/dts/meson-gxl-s905x-libretech-cc.dts
@@ -14,7 +14,7 @@
/ {
compatible = "libretech,aml-s905x-cc", "amlogic,s905x",
"amlogic,meson-gxl";
- model = "Libre Computer AML-S905X-CC";
+ model = "Armbian aml-s9xx-box u-boot s905x-s912";
aliases {
serial0 = &uart_AO;
@@ -55,17 +55,18 @@
compatible = "gpio-leds";
system {
- label = "librecomputer:system-status";
+// label = "librecomputer:system-status";
+ label = "system-status";
gpios = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>;
default-state = "on";
panic-indicator;
};
- blue {
- label = "librecomputer:blue";
- gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
- linux,default-trigger = "heartbeat";
- };
+// blue {
+// label = "librecomputer:blue";
+// gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
+// linux,default-trigger = "heartbeat";
+// };
};
memory@0 {
diff --git a/configs/libretech-cc_defconfig b/configs/libretech-cc_defconfig
index 48e8800ce4..d3b779f2e8 100644
--- a/configs/libretech-cc_defconfig
+++ b/configs/libretech-cc_defconfig
@@ -5,10 +5,7 @@ CONFIG_ENV_SIZE=0x2000
CONFIG_DM_GPIO=y
CONFIG_MESON_GXL=y
CONFIG_NR_DRAM_BANKS=1
-CONFIG_DEBUG_UART_BASE=0xc81004c0
-CONFIG_DEBUG_UART_CLOCK=24000000
-CONFIG_IDENT_STRING=" libretech-cc"
-CONFIG_DEBUG_UART=y
+CONFIG_IDENT_STRING=" armbian-gxl"
CONFIG_OF_BOARD_SETUP=y
CONFIG_MISC_INIT_R=y
# CONFIG_DISPLAY_CPUINFO is not set
@@ -42,9 +39,10 @@ CONFIG_POWER_DOMAIN=y
CONFIG_MESON_GX_VPU_POWER_DOMAIN=y
CONFIG_DM_REGULATOR_FIXED=y
CONFIG_DM_RESET=y
-CONFIG_DEBUG_UART_ANNOUNCE=y
-CONFIG_DEBUG_UART_SKIP_INIT=y
-CONFIG_MESON_SERIAL=y
+# CONFIG_DEBUG_UART is not set
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
+# CONFIG_SERIAL_PRESENT is not set
+CONFIG_CONSOLE_MUX=y
CONFIG_USB=y
CONFIG_DM_USB=y
CONFIG_USB_XHCI_HCD=y
@@ -64,3 +62,8 @@ CONFIG_SYS_WHITE_ON_BLACK=y
CONFIG_VIDEO_MESON=y
CONFIG_VIDEO_DT_SIMPLEFB=y
CONFIG_OF_LIBFDT_OVERLAY=y
+CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_DM_KEYBOARD=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_BOOTDELAY=5
+CONFIG_USE_PREBOOT=y
diff --git a/include/configs/meson64.h b/include/configs/meson64.h
index 50707a3197..cb77091a0a 100644
--- a/include/configs/meson64.h
+++ b/include/configs/meson64.h
@@ -76,6 +76,9 @@
#endif
#ifndef CONFIG_EXTRA_ENV_SETTINGS
+/* the usb start below makes sure a usb keyboard is available when the autoboot prompt starts
+ * the stdin line is to disable the serial console as it might produce noise on the cmdline
+ * otherwise in some situations so that the system will hang in u-boot cmdline at boot */
#define CONFIG_EXTRA_ENV_SETTINGS \
"stdin=" STDIN_CFG "\0" \
"stdout=" STDOUT_CFG "\0" \
@@ -86,6 +89,17 @@
"pxefile_addr_r=0x01080000\0" \
"ramdisk_addr_r=0x13000000\0" \
"fdtfile=amlogic/" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
+ "bootenv_addr_r=0x01080000\0" \
+ "preboot=usb start; " \
+ "setenv stdin usbkbd; " \
+ "for target in 0 1;do " \
+ "for prefix in / /boot/;do " \
+ "if test -e mmc ${target}:1 ${prefix}uEnv.txt;then " \
+ "load mmc ${target}:1 ${bootenv_addr_r} ${prefix}uEnv.txt; " \
+ "env import -t ${bootenv_addr_r} ${filesize}; " \
+ "fi; " \
+ "done; " \
+ "done\0" \
BOOTENV
#endif

View File

@ -1,10 +0,0 @@
The u-boot binary files included in this directory are the ones originally built
by balbes150 as part of his former TV Box builds.
These should be recreated from scratch and either built automatically as part
of the Armbian build process, or at least there should be instructions provided
here as to how to rebuild them from source.
I don't like releasing binary blobs of unknown origin, but as these are what
people have been using for Amlogic TV Boxes for a couple of years this is
the status quo until something better is completed.