From 268c2e85960978c90025bc18cf7d5f8e5cfbdab6 Mon Sep 17 00:00:00 2001 From: Ricardo Pardini Date: Sat, 6 Jul 2024 23:59:17 +0200 Subject: [PATCH] odroidm1: bump to u-boot v2024.07; replace defconfig patches with hook - bump "armbian" env to reset env in SPI on first run --- config/boards/odroidm1.conf | 56 +++++++++++++++++-- ...-M1-enable-DM_USB_GADGET-UMS-RockUSB.patch | 50 ----------------- ...leds-leave-red-one-on-clear-env-once.patch | 54 ------------------ ...B-devices-first-then-mmc-s-nvme-scsi.patch | 0 ...rride-kernel-DT-for-xhci-otg-dr_mode.patch | 4 +- 5 files changed, 52 insertions(+), 112 deletions(-) delete mode 100644 patch/u-boot/v2024.04/board_odroidm1/0003-board-rockchip-ODROID-M1-enable-DM_USB_GADGET-UMS-RockUSB.patch delete mode 100644 patch/u-boot/v2024.04/board_odroidm1/0004-board-rockchip-ODROID-M1-use-env-in-SPI-use-HK-s-offset-size-for-SPI-env-enable-LED_GPIO-use-preboot-to-blink-all-leds-leave-red-one-on-clear-env-once.patch rename patch/u-boot/{v2024.04 => v2024.07}/board_odroidm1/0001-rockchip-common-boot-USB-devices-first-then-mmc-s-nvme-scsi.patch (100%) rename patch/u-boot/{v2024.04 => v2024.07}/board_odroidm1/0002-board-rockchip-ODROID-M1-override-kernel-DT-for-xhci-otg-dr_mode.patch (94%) diff --git a/config/boards/odroidm1.conf b/config/boards/odroidm1.conf index 44a2c3233e45..c5135e6ea075 100644 --- a/config/boards/odroidm1.conf +++ b/config/boards/odroidm1.conf @@ -11,13 +11,13 @@ IMAGE_PARTITION_TABLE="gpt" FULL_DESKTOP="yes" BOOT_LOGO="desktop" -BOOTBRANCH_BOARD="tag:v2024.04" -BOOTPATCHDIR="v2024.04" +BOOTBRANCH_BOARD="tag:v2024.07" +BOOTPATCHDIR="v2024.07" BOOTCONFIG="odroid-m1-rk3568_defconfig" BOOTDIR="u-boot-${BOARD}" # do not share u-boot directory -# The overlays for this board are prefixed by 'rockchip-rk3568-hk' (see for example patch/kernel/archive/rockchip64-6.x/overlay/rockchip-rk3328-i2c0.dts) +# The overlays for this board are prefixed by 'rockchip-rk3568-hk' (see for example patch/kernel/archive/rockchip64-6.6/overlay/rockchip-rk3568-hk-i2c0.dts) OVERLAY_PREFIX="rockchip-rk3568-hk" # HK's SPI partition on MTD: @@ -26,7 +26,7 @@ OVERLAY_PREFIX="rockchip-rk3568-hk" # mtd2: start 1.048.576 size 2.097.152 end 3.145.728 : U-Boot == start 0x100000 size 0x200000 : U-Boot function post_family_config__uboot_config() { display_alert "$BOARD" "u-boot ${BOOTBRANCH_BOARD} overrides" "info" - BOOTDELAY=2 # Wait for UART interrupt to enter UMS/RockUSB mode etc + BOOTDELAY=1 # Wait for UART interrupt to enter UMS/RockUSB mode etc UBOOT_TARGET_MAP="BL31=${RKBIN_DIR}/$BL31_BLOB ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB};;u-boot-rockchip.bin u-boot-rockchip-spi.bin u-boot.itb idbloader.img idbloader-spi.img" unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already @@ -64,9 +64,8 @@ function post_family_tweaks__config_odroidm1_fwenv() { # Addresses below come from # - (we use mainline, not vendor, so this is only for reference) # https://github.com/hardkernel/u-boot/blob/356906e6445378a45ac14ec184fc6e666b22338a/configs/odroid_rk3568_defconfig#L212-L213 - # - (armbian's uboot patches try to keep this mtd partition layout valid) - # https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts#L637-L662 # The kernel DT has a convenient partition table, so mtd1 is ready to use, just gotta set the size. + # https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts#L637-L662 cat <<- 'FW_ENV_CONFIG' > "${SDCARD}"/etc/fw_env.config # MTD on the SPI for the Odroid-M1; this requires the MTD partition table in the board kernel DTS @@ -82,3 +81,48 @@ function post_family_tweaks__config_odroidm1_fwenv() { EOF } + +# A better equivalent to patching a defconfig, do changes to .config via code. +# For UMS/RockUSB to work in u-boot, &usb_host0_xhci { dr_mode = "otg" } is required. See 0002-board-rockchip-ODROID-M1-override-kernel-DT-for-xhci-otg-dr_mode.patch +function post_config_uboot_target__extra_configs_for_nanopi-r5s() { + [[ "${BRANCH}" == "edge" || "${BRANCH}" == "current" ]] || return 0 + + display_alert "u-boot for ${BOARD}" "u-boot: store ENV in SPI, matching Petitboot size/offset" "info" + run_host_command_logged scripts/config --set-val CONFIG_ENV_IS_NOWHERE "n" + run_host_command_logged scripts/config --set-val CONFIG_ENV_IS_IN_SPI_FLASH "y" + run_host_command_logged scripts/config --set-val CONFIG_ENV_SIZE "0x20000" + run_host_command_logged scripts/config --set-val CONFIG_ENV_OFFSET "0xe0000" + run_host_command_logged scripts/config --enable CONFIG_VERSION_VARIABLE + + display_alert "u-boot for ${BOARD}" "u-boot: enable preboot & reset environment once in preboot" "info" + run_host_command_logged scripts/config --enable CONFIG_USE_PREBOOT + run_host_command_logged scripts/config --set-str CONFIG_PREBOOT "'echo armbian leds; led led-0 on; led led-1 on; sleep 0.1; led led-0 off; led led-1 off; sleep 0.1; led led-0 on; if test a\${armbian}a = atwicea; then echo armbian env already set once; else echo armbian resetting environment once; env default -f -a; setenv armbian twice; saveenv; fi'" # double quote + + display_alert "u-boot for ${BOARD}" "u-boot: enable EFI debugging command" "info" + run_host_command_logged scripts/config --enable CMD_EFIDEBUG + run_host_command_logged scripts/config --enable CMD_NVEDIT_EFI + + display_alert "u-boot for ${BOARD}" "u-boot: enable more compression support" "info" + run_host_command_logged scripts/config --enable CONFIG_LZO + run_host_command_logged scripts/config --enable CONFIG_BZIP2 + run_host_command_logged scripts/config --enable CONFIG_ZSTD + + display_alert "u-boot for ${BOARD}" "u-boot: enable gpio LED support" "info" + run_host_command_logged scripts/config --enable CONFIG_LED + run_host_command_logged scripts/config --enable CONFIG_LED_GPIO + + display_alert "u-boot for ${BOARD}" "u-boot: enable networking cmds" "info" + run_host_command_logged scripts/config --enable CONFIG_CMD_NFS + run_host_command_logged scripts/config --enable CONFIG_CMD_WGET + run_host_command_logged scripts/config --enable CONFIG_CMD_DNS + run_host_command_logged scripts/config --enable CONFIG_PROT_TCP + run_host_command_logged scripts/config --enable CONFIG_PROT_TCP_SACK + + display_alert "u-boot for ${BOARD}/${BRANCH}" "u-boot: enabling UMS/RockUSB Gadget functionality" "info" + declare -a enable_configs=("CONFIG_CMD_USB_MASS_STORAGE" "CONFIG_USB_GADGET" "USB_GADGET_DOWNLOAD" "CONFIG_USB_FUNCTION_ROCKUSB" "CONFIG_USB_FUNCTION_ACM" "CONFIG_CMD_ROCKUSB" "CONFIG_CMD_USB_MASS_STORAGE") + for config in "${enable_configs[@]}"; do + run_host_command_logged scripts/config --enable "${config}" + done + # Auto-enabled by the above, force off... + run_host_command_logged scripts/config --disable USB_FUNCTION_FASTBOOT +} diff --git a/patch/u-boot/v2024.04/board_odroidm1/0003-board-rockchip-ODROID-M1-enable-DM_USB_GADGET-UMS-RockUSB.patch b/patch/u-boot/v2024.04/board_odroidm1/0003-board-rockchip-ODROID-M1-enable-DM_USB_GADGET-UMS-RockUSB.patch deleted file mode 100644 index 45e0a574c8fd..000000000000 --- a/patch/u-boot/v2024.04/board_odroidm1/0003-board-rockchip-ODROID-M1-enable-DM_USB_GADGET-UMS-RockUSB.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ricardo Pardini -Date: Fri, 18 Aug 2023 00:38:03 +0200 -Subject: board: rockchip: ODROID-M1: enable DM_USB_GADGET & UMS & RockUSB - ---- - configs/odroid-m1-rk3568_defconfig | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/configs/odroid-m1-rk3568_defconfig b/configs/odroid-m1-rk3568_defconfig -index 111111111111..222222222222 100644 ---- a/configs/odroid-m1-rk3568_defconfig -+++ b/configs/odroid-m1-rk3568_defconfig -@@ -52,6 +52,8 @@ CONFIG_CMD_MMC=y - CONFIG_CMD_MTD=y - CONFIG_CMD_PCI=y - CONFIG_CMD_USB=y -+CONFIG_CMD_ROCKUSB=y -+CONFIG_CMD_USB_MASS_STORAGE=y - # CONFIG_CMD_SETEXPR is not set - CONFIG_CMD_INI=y - CONFIG_CMD_PMIC=y -@@ -68,6 +70,7 @@ CONFIG_SPL_SYSCON=y - CONFIG_AHCI_PCI=y - CONFIG_DWC_AHCI=y - CONFIG_SPL_CLK=y -+# CONFIG_USB_FUNCTION_FASTBOOT is not set - CONFIG_ROCKCHIP_GPIO=y - CONFIG_SYS_I2C_ROCKCHIP=y - CONFIG_MISC=y -@@ -101,6 +104,7 @@ CONFIG_SYS_NS16550_MEM32=y - CONFIG_ROCKCHIP_SFC=y - CONFIG_SYSRESET=y - CONFIG_USB=y -+CONFIG_DM_USB_GADGET=y - CONFIG_USB_XHCI_HCD=y - CONFIG_USB_EHCI_HCD=y - CONFIG_USB_EHCI_GENERIC=y -@@ -108,5 +112,8 @@ CONFIG_USB_OHCI_HCD=y - CONFIG_USB_OHCI_GENERIC=y - CONFIG_USB_DWC3=y - CONFIG_USB_DWC3_GENERIC=y -+CONFIG_USB_GADGET=y -+CONFIG_USB_GADGET_DOWNLOAD=y -+CONFIG_USB_FUNCTION_ROCKUSB=y - CONFIG_FS_CRAMFS=y - CONFIG_ERRNO_STR=y --- -Armbian - diff --git a/patch/u-boot/v2024.04/board_odroidm1/0004-board-rockchip-ODROID-M1-use-env-in-SPI-use-HK-s-offset-size-for-SPI-env-enable-LED_GPIO-use-preboot-to-blink-all-leds-leave-red-one-on-clear-env-once.patch b/patch/u-boot/v2024.04/board_odroidm1/0004-board-rockchip-ODROID-M1-use-env-in-SPI-use-HK-s-offset-size-for-SPI-env-enable-LED_GPIO-use-preboot-to-blink-all-leds-leave-red-one-on-clear-env-once.patch deleted file mode 100644 index eb93411de9a7..000000000000 --- a/patch/u-boot/v2024.04/board_odroidm1/0004-board-rockchip-ODROID-M1-use-env-in-SPI-use-HK-s-offset-size-for-SPI-env-enable-LED_GPIO-use-preboot-to-blink-all-leds-leave-red-one-on-clear-env-once.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ricardo Pardini -Date: Fri, 18 Aug 2023 00:40:38 +0200 -Subject: board: rockchip: ODROID-M1: use env in SPI; use HK's offset/size for - SPI env; enable LED_GPIO; use preboot to blink all leds & leave red one on; - clear env once - ---- - configs/odroid-m1-rk3568_defconfig | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/configs/odroid-m1-rk3568_defconfig b/configs/odroid-m1-rk3568_defconfig -index 111111111111..222222222222 100644 ---- a/configs/odroid-m1-rk3568_defconfig -+++ b/configs/odroid-m1-rk3568_defconfig -@@ -10,6 +10,8 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y - CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000 - CONFIG_SF_DEFAULT_SPEED=24000000 - CONFIG_SF_DEFAULT_MODE=0x1000 -+CONFIG_ENV_SIZE=0x20000 -+CONFIG_ENV_OFFSET=0xe0000 - CONFIG_DEFAULT_DEVICE_TREE="rk3568-odroid-m1" - CONFIG_ROCKCHIP_RK3568=y - CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y -@@ -31,6 +33,8 @@ CONFIG_FIT_VERBOSE=y - CONFIG_SPL_FIT_SIGNATURE=y - CONFIG_SPL_LOAD_FIT=y - CONFIG_LEGACY_IMAGE_FORMAT=y -+CONFIG_USE_PREBOOT=y -+CONFIG_PREBOOT="echo armbian leds; led led-0 on; led led-1 on; sleep 0.1; led led-0 off; led led-1 off; sleep 0.1; led led-0 on; if test \"${armbian}\" = \"once\"; then echo armbian env already set once; else echo armbian resetting environment once; setenv armbian once; saveenv; fi" - CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-odroid-m1.dtb" - # CONFIG_DISPLAY_CPUINFO is not set - CONFIG_DISPLAY_BOARDINFO_LATE=y -@@ -64,6 +68,8 @@ CONFIG_MTDPARTS_DEFAULT="nor0:0x100000(reserved),0x200000(uboot),0x100000(splash - CONFIG_SPL_OF_CONTROL=y - CONFIG_OF_LIVE=y - CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" -+CONFIG_ENV_IS_IN_SPI_FLASH=y -+CONFIG_VERSION_VARIABLE=y - CONFIG_SPL_DM_SEQ_ALIAS=y - CONFIG_SPL_REGMAP=y - CONFIG_SPL_SYSCON=y -@@ -73,6 +79,8 @@ CONFIG_SPL_CLK=y - # CONFIG_USB_FUNCTION_FASTBOOT is not set - CONFIG_ROCKCHIP_GPIO=y - CONFIG_SYS_I2C_ROCKCHIP=y -+CONFIG_LED=y -+CONFIG_LED_GPIO=y - CONFIG_MISC=y - CONFIG_SUPPORT_EMMC_RPMB=y - CONFIG_MMC_DW=y --- -Armbian - diff --git a/patch/u-boot/v2024.04/board_odroidm1/0001-rockchip-common-boot-USB-devices-first-then-mmc-s-nvme-scsi.patch b/patch/u-boot/v2024.07/board_odroidm1/0001-rockchip-common-boot-USB-devices-first-then-mmc-s-nvme-scsi.patch similarity index 100% rename from patch/u-boot/v2024.04/board_odroidm1/0001-rockchip-common-boot-USB-devices-first-then-mmc-s-nvme-scsi.patch rename to patch/u-boot/v2024.07/board_odroidm1/0001-rockchip-common-boot-USB-devices-first-then-mmc-s-nvme-scsi.patch diff --git a/patch/u-boot/v2024.04/board_odroidm1/0002-board-rockchip-ODROID-M1-override-kernel-DT-for-xhci-otg-dr_mode.patch b/patch/u-boot/v2024.07/board_odroidm1/0002-board-rockchip-ODROID-M1-override-kernel-DT-for-xhci-otg-dr_mode.patch similarity index 94% rename from patch/u-boot/v2024.04/board_odroidm1/0002-board-rockchip-ODROID-M1-override-kernel-DT-for-xhci-otg-dr_mode.patch rename to patch/u-boot/v2024.07/board_odroidm1/0002-board-rockchip-ODROID-M1-override-kernel-DT-for-xhci-otg-dr_mode.patch index a059c2554206..9384e83214e4 100644 --- a/patch/u-boot/v2024.04/board_odroidm1/0002-board-rockchip-ODROID-M1-override-kernel-DT-for-xhci-otg-dr_mode.patch +++ b/patch/u-boot/v2024.07/board_odroidm1/0002-board-rockchip-ODROID-M1-override-kernel-DT-for-xhci-otg-dr_mode.patch @@ -11,8 +11,8 @@ diff --git a/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi b/arch/arm/dts/rk3568-odr index 111111111111..222222222222 100644 --- a/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi +++ b/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi -@@ -22,3 +22,7 @@ - bootph-pre-ram; +@@ -21,3 +21,7 @@ + bootph-some-ram; }; }; +