genio: u-boot: patch: mt8195: boot order: SD -> UFS -> eMMC -> USB -> Network

- this way, one doesn't need to cripple UFS to be able to boot from SD
- USB didn't get the same treatment as it's slow and **not working**...
  - ...and beyond me to fix; both OTG and Host mode are funky in u-boot...
  - ...but seem to work fine in kernel
- IMPORTANT: keep in mind: "SDcard is NOT UFS (4k block)" and don't fall for traps!
- Network note:
    - `setenv ethaddr xx:xx:xx:xx:xx:xx` & `saveenv` & `reset`
    - required for network booting; mtk doesn't use random/cpu# MAC
    - required for stable MAC in kernel (keep IP from changing, etc)
This commit is contained in:
Ricardo Pardini 2026-01-04 16:15:27 +01:00 committed by Igor
parent a03b88841c
commit 872863b95a

View File

@ -0,0 +1,50 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ricardo Pardini <ricardo@pardini.net>
Date: Sat, 3 Jan 2026 20:48:38 +0100
Subject: GENIO: mt8195: boot order: SD -> UFS -> eMMC -> USB -> Network
Quality of life improvement for users who want to try different OS's
using SD card. With this change, once u-boot is loaded (from BootRoM
to UFS, always), it will try to boot an OS in the following order:
SD -> SCSI 2 (UFS) -> eMMC -> USB -> PXE(pxelinux) -> DHCP (PXE-EFI)
Of course, if board in question doesn't have an eMMC, it won't boot
from there, and that's the most common case on mt8195. It could be
argued that USB should boot after SD, but that causes an USB scan
that is slow and seems prone to failure currently.
Network already works on mt8195, so add it to the end of the boot
order. For it to actually work, one needs to set a MAC address in
the u-boot environment, and save it (it will be stored on UFS LUN 1).
The kernel will also use the same MAC.
in-uboot prompt: `setenv ethaddr xx:...` and `saveenv`
in-kernel: use `fw_setenv` if available
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
---
include/configs/mt8195.h | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/include/configs/mt8195.h b/include/configs/mt8195.h
index 111111111111..222222222222 100644
--- a/include/configs/mt8195.h
+++ b/include/configs/mt8195.h
@@ -121,9 +121,12 @@
#endif
#define BOOT_TARGET_DEVICES(func) \
+ func(MMC, mmc, 0) \
BOOT_TARGET_SCSI(func) \
- BOOT_TARGET_MMC(func) \
- BOOT_TARGET_USB(func)
+ func(MMC, mmc, 1) \
+ BOOT_TARGET_USB(func) \
+ func(PXE, pxe, na) \
+ func(DHCP, dhcp, na)
#if !defined(CONFIG_EXTRA_ENV_SETTINGS)
--
Armbian