diff --git a/packages/bsp/aml-s9xx-box/boot/build-u-boot/readme.txt b/packages/bsp/aml-s9xx-box/boot/build-u-boot/readme.txt new file mode 100644 index 0000000000..2c22cfe7c9 --- /dev/null +++ b/packages/bsp/aml-s9xx-box/boot/build-u-boot/readme.txt @@ -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 diff --git a/packages/bsp/aml-s9xx-box/boot/build-u-boot/u-boot-s905x-s912.patch b/packages/bsp/aml-s9xx-box/boot/build-u-boot/u-boot-s905x-s912.patch new file mode 100644 index 0000000000..96c34b7416 --- /dev/null +++ b/packages/bsp/aml-s9xx-box/boot/build-u-boot/u-boot-s905x-s912.patch @@ -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 + diff --git a/packages/bsp/aml-s9xx-box/boot/u-boot-readme.txt b/packages/bsp/aml-s9xx-box/boot/u-boot-readme.txt deleted file mode 100644 index 0ab5cf0a47..0000000000 --- a/packages/bsp/aml-s9xx-box/boot/u-boot-readme.txt +++ /dev/null @@ -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. diff --git a/packages/bsp/aml-s9xx-box/boot/u-boot-s905x-s912 b/packages/bsp/aml-s9xx-box/boot/u-boot-s905x-s912 index d34edf3c2c..a8cecaab64 100644 Binary files a/packages/bsp/aml-s9xx-box/boot/u-boot-s905x-s912 and b/packages/bsp/aml-s9xx-box/boot/u-boot-s905x-s912 differ