Files
Arch-R/config/b_boot.ini
Douglas Teles 8650d940e2 Migrate to mainline kernel 6.12.61 + board/overlay architecture
Major architecture change: move from BSP kernel 6.6 with pre-merged panel
DTBs to mainline kernel 6.12.61 LTS with separated board DTBs + panel
overlays.

- Board DTB = hardware profile (GPIOs, PMIC, joypad, audio). 16 boards.
  Auto-selected by U-Boot via SARADC ADC reading (hwrev).
- Panel overlay = display init sequence. 20 panels. Applied at boot time
  via boot.ini fdt apply.
- Two image variants: original (a_boot.ini) and clone (b_boot.ini)
- Kernel cross-compiles from x86 host (no ARM chroot needed)
- Initramfs boot splash with SVG rendering at 0.7s
- Out-of-tree joypad driver (singleadc-joypad) for clone boards
- Panel generic-dsi driver with archr,generic-dsi compatible

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 17:20:09 -03:00

49 lines
1.6 KiB
INI

odroidgoa-uboot-config
########################################################################
# Arch R Boot Configuration — Variant B (Clone boards)
#
# For: K36 clones, Powkiddy RGB20S, Powkiddy RGB10X, MagicX XU-Mini-M
#
# hwrev is set by U-Boot's board file from SARADC ch0 before this runs.
# This script overrides the kernel DTB for boards that need a different
# DTB than what U-Boot loaded internally.
#
# hwrev mappings (clone boards):
# r33s = Powkiddy RGB10X (shares ADC range with R33S)
# xu10 = MagicX XU-Mini-M (shares ADC range with XU10)
# rg351v = K36 clone / R36Max / EE clone boards
########################################################################
# Memory addresses
setenv loadaddr "0x02000000"
setenv dtb_loadaddr "0x01f00000"
setenv dtbo_loadaddr "0x01e00000"
# Load kernel
load mmc 1:1 ${loadaddr} KERNEL
# Override DTB for clone boards
if test ${hwrev} = 'r33s'; then
load mmc 1:1 ${dtb_loadaddr} dtbs/rk3326-powkiddy-rgb10x.dtb
elif test ${hwrev} = 'xu10'; then
load mmc 1:1 ${dtb_loadaddr} dtbs/rk3326-magicx-xu-mini-m.dtb
elif test ${hwrev} = 'rg351v'; then
load mmc 1:1 ${dtb_loadaddr} dtbs/rk3326-gameconsole-r36max.dtb
fi
# Apply panel overlay
if load mmc 1:1 ${dtbo_loadaddr} overlays/mipi-panel.dtbo; then
fdt addr ${dtb_loadaddr}
fdt resize 8192
fdt apply ${dtbo_loadaddr}
fi
# Boot
setenv bootargs "boot=LABEL=BOOT disk=LABEL=STORAGE rw console=ttyS2,115200 console=tty0 quiet loglevel=0 vt.global_cursor_default=0 consoleblank=0 fsck.mode=skip"
booti ${loadaddr} - ${dtb_loadaddr}
# Power off if boot fails
sleep 15
poweroff