mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-03-31 14:41:55 -07:00
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>
49 lines
1.6 KiB
INI
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
|