- using the same DT as the rockchip64-6.16
- defconfig based on Rock5b, so we can eventually use the same fusb302 when time comes
- -u-boot.dtsi enables `ums` / `rockusb` et al using the middle usb-c port (orientation sensitive)
- enables booting from NVMe
- TODO: sd/usb/nvme/mmc boot order
- this maps copying files from dirs in the patch directory directly to the u-boot tree, without any .patch required:
- `defconfig` -> `configs` (useful for all)
- `dt_uboot` -> `arch/arm/dts` (useful for most; use for xx-u-boot.dtsi or stuff without CONFIG_OF_UPSTREAM)
- `dt_upstream_rockchip` -> `dts/upstream/src/arm64/rockchip` (useful for Rockchip boards)
- other mappings (eg `dt_upstream_xxx`) might be added later
* import new layout for libreelec patches (no more mbox)
* refactor existing patches to kernel 6.17
* fix uboot issue causing VOP IOMMU page fault and no screen
* Khadas VIM4: U-Boot: Mod bootargs/defconfig and add bootscr support
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Khadas VIM4: Pull U-Boot from CoreELEC instead of Khadas
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Khadas VIM4: Remove setexpr bootargs sub rootfstype= from boot.cmd
This is no longer required
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Meson S4T7: family.conf: Add missing `mkdir -p "${tbasedir}"`
The toolchains fail to download because the dir isn't created
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Meson T7: Add rootfstype= to command line
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Khadas VIM4: Add extra boot arguments
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Remove `viraniac` as maintainer and add `rw` to cmdline
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Amlogic T7: Add `fsck.repair=yes` and `rootwait` to cmdline
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Amlogic T7: Move `${bootargs}` placement
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
---------
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
Co-authored-by: Igor <igor@armbian.com>
Add board configuration for FriendlyELEC NanoPi R76S, including:
- nanopi-r76s.conf with board parameters and boot settings
- initial kernel / U-Boot patch for device tree and board bring-up
XpressReal(https://xpressreal.io/) is a family of Single Board Computers
developed in collaboration between Fyde Innovations, Radxa and Realtek.
XpressReal T3 is the first product in the family - a small form factor
high performance single board computer powered by the Realtek RTD1619B,
which runs FydeOS/openFyde and Linux!
Now we are adding the awesome Armbian Linux support for XpressReal T3!
This commit introduces some binary files that XpressReal T3 needed:
- firmware/realtek/rtd1619b
These binaries are the firmware for rtd1619b peripherals
(including the audio decoder, video decoder, etc.).
- u-boot-fw.tar.gz
This contains some co-processor firmware,
which needs to be loaded by u-boot in the early stage of boot.
- u-boot-prebuilt.tar.gz
These are hwsettings related files, used for tasks such as DDR initialization.
These files come from the rtd1619b SDK, which has already been open-sourced on our github:
- [firmware](https://github.com/XpressReal/linux-sdk/tree/main/meta-xpressreal/recipes-kernel/linux-firmware/files/rtd1619b)
- [u-boot prebuilts](https://github.com/XpressReal/linux-sdk/tree/main/meta-xpressreal/recipes-bsp/u-boot/files/prebuilt/rtd1619b)
Switch to newer U-Boot since it works reliably and provides upstream
improvements.
Add patch/u-boot/v2025.10 and the generic patch, as BOOTPATCHDIR cannot
be unset (fallback to legacy fails).
BOOT_SCENARIO="binman-atf-mainline" cannot be set here since it applies
globally to the CSC file and would break branch=vendor. Users who want
it can enable it manually.
* feat(board/orangepi5pro): Update U-Boot to v2025.07 for eMMC support
Updated the U-Boot patch from v2024.04 to v2025.07, this change
finally enables booting from eMMC on the Orange Pi 5 Pro.
The device tree source for the board has also been refactored to
support the new U-Boot version and clean up peripheral definitions.
* orangepi5pro: dts: Fix incorrect GRF node name
The GRF node was misspelled as 'sysgrf' instead
of the correct 'sys_grf'.
This commit corrects the phandle to the proper value.
Updated the U-Boot patch from v2024.04 to v2025.07, this change
finally enables booting from eMMC on the Orange Pi 5 Pro.
The device tree source for the board has also been refactored to
support the new U-Boot version and clean up peripheral definitions.
* Add initial support for Orangepi 5 Pro
Tested and Working:
Wireless & Bluetooth
USB 2.0 + USB 3.1
HDMI 2.1
Gigabit Ethernet (PCIe to RJ45 - Need drivers YT6801)
NVMe PCIe 2.0
MicroSD
Audio Controller es8388 - Audio Out
FAN PWM
LEDs PWM
Not Working:
Onboard Microphone
HDMI 2.0 (DP-HDMI - rockchip,rk3588-dp No Driver)
Not Tested:
Camera 1,2
eMMC
* OPi 5 Pro: Ethernet Driver Installation on First Boot
Implemented a simple script to install the driver
during first boot using the installation headers
included in the image. Takes just a few seconds
on first boot.
Disclaimer: Attempted installation in a chroot env but failed.
* fix: Make first-boot Ethernet driver install more robust
The `eth-driver-firstboot.service` would sometimes fail on first boot with a "Resource temporarily unavailable" error. This happened when another process had a lock on `dpkg`.
To fix this, the installation script now waits for any `dpkg` locks to be released before attempting to install the driver package. It also includes a retry mechanism (3 attempts) in case of a transient failure.
This ensures the network driver is successfully installed, providing a better out-of-box experience.
This is tested on a tinkerboard 2s.
The u-boot dts for tb2 contains other fixes, and the major ones are:
- add missing basic gpio-fan node
- usb-c altmode fix, dts part
- aimed at nanopi-r2s and nanopineo3
- impacts:
- boards (re)using 'nanopi-r2s-rk3328_defconfig' (rk3328)
and:
- boards using U-Boot v2022.04 or
- boards using U-Boot v2022.07
- added explicit dependency on python3-setuptools as (at least) U-Boot
v2022.04 and v2022.07 fail building due to missing 'distutils' for
boards that use U-Boot v2022.04 or v2022.07
On v2025.01 and v2025.04 I get the following error
starting USB...
Bus usb@ff500000: dwc3_meson_gxl_get_phys: usb2 ports: 1
probe failed, error -114
No USB controllers found
So revert back to v2024.10 until sorted.
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
- **CHANGE**: This version tries to boot SD first (thus SD -> USB -> NVMe -> eMMC); before it would boot USB before SD
- as Armbian u-boot is possibly deployed to SPI, try to make as compatible as possible; eg enable squashfs support
- enable `setexpr` and `fileenv`, used by HAOS
- HAOS already has support for booting VIM3 from NVMe: https://github.com/home-assistant/operating-system/pull/3784
- borrowed `fileenv` patch from v2025.01 to .04
- Similar treatment that `odroidm1` got in https://github.com/armbian/build/pull/7769
- note: I will be leaving my VIM3 behind in the other side of the globe, so this is my last chance to test
- Fix dram, mmc for h616.
- The prefix is missing if we use OF_UPSTREAM
- upstream: arm64: sun50i-h616: sync with sunxi-6.12 kernel
- upstream: arm64: Add sun50i-h618-bananapi-m4-berry.dts
* Create rk3588-orangepi-5-ultra.dts
* Create orangepi5-ultra.csc
* fixups
* add notes
* fix u-boot compilation
* Update to v7 patch series
https://patchwork.kernel.org/project/linux-arm-kernel/cover/20250222193332.1761-1-honyuenkwun@gmail.com/
* Update rk3588-orangepi-5-ultra.dts
While I don't fully understand either the `kernel-dtb` command nor the dt syntax itself for some reason the `nophandles` version stripped more than actually phandles. Lets see what happens this way.
* Delete patch/kernel/integrate-6.15/0001-tools-Makefile-remove-pci-target.patch
* disable OPTEE
c81f89ca90
- as Armbian u-boot is possibly deployed to SPI (replacing Petitboot),
try to make as compatible as possible; eg enable squashfs support
- in this case, `setexpr` and `fileenv` are used by HAOS
- found `fileenv` here 049e1a1949
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
Follow change from radxa 738cda44532c324e07296c95751e3083fa95f282.
Change with command:
sed -i "/CONFIG_OPTEE/d" patch/u-boot/legacy/u-boot-radxa-rk35xx/defconfig/*
Contains rewritten dts, based on decompiled dtb from original Klipad50
(as similiar as possible to original).
Kernel defconfig taken from MKSPI (replaced "mkspi" with "mksklipad50")
* add nanopi-r3s.csc board config
* Nanopi R3S - add uboot patch
* Nanopi R3S - add dts
* fix bogus patch header
* Migrate to new patch series
Source & credits https://patchwork.ozlabs.org/project/uboot/list/?series=438193
I still need to figure out how to convert a patch series from patchwork in a way so the build framework doesn't complain about headers and magic and whatever. So a few hundreds of header lines have been replaced with something generic.
Applies and builds fine now against current stable v2024.10
* Create board-nanopi-r3s-fix-leds.patch
Thx https://github.com/armbian/build/pull/7556#issuecomment-2615110100
* Rename board-nanopi-r3s-fix-leds.patch to xx-board-nanopi-r3s-fix-leds.patch
* add new patch
- also LEDs, networking, more supported compression methods...
- copypasta reigns supreme. refactor is coming, just not today
- also hack the u-boot dtsi for consistent-with-Linux-mainline-DT mmc/sd numbering
- this was previously a separate patch in 2024.10
* Correcting the Perf unit's interrupt source number to 66 as stated in the Allwinner A10User manual to resolve conflict with Uart 2 which actually uses interrupt source number 3
* rename to all lower case and add in sun4i-emac dma support. Note that support only exist in the driver for the rx channel
* Ensure that sun4i patches actually implemented
Signed-off-by: Ryan L <ryestar101@gmail.com>
* Apply performance monitoring unit IRQ number patch to uboot
* Add patch for resolving the perf unit irq number to the edge kernel
Signed-off-by: Ryan L <ryestar101@gmail.com>
* Add sun4i emac ethernet DMA support to the edge kernel
Signed-off-by: Ryan L <ryestar101@gmail.com>
* Append missing .patch so that our patch is found and works properly
Signed-off-by: Ryan L <ryestar101@gmail.com>
* Apply EMAC DMA support and PMU fix to edge kernel
---------
Signed-off-by: Ryan L <ryestar101@gmail.com>
* rockchip64: add `BOOT_SCENARIO=binman` for mainline u-boot
- drop special handling for 3308's `legacy` branch
- rpardini: note how SPI/mtd is not yet supported for this scenario
Co-authored-by: Ricardo Pardini <ricardo@pardini.net> (squash/splits, shellfmt)
* `rock-s0`/`rockpi-s`: use `BOOT_SCENARIO=binman`; move blobs to armbian/rkbin
- Move rk3308 boot blobs to armbian/rkbin
- delete obsolete ones
- Alter rock-s0 and rockpi-s to use the new "binman" BOOT_SCENARIO
Co-authored-by: Ricardo Pardini <ricardo@pardini.net> (shellfmt; small fixes; squashes)
- Bump U-Boot from v2024.10-rc3 to v2024.10
- Move U-Boot patch dir to default one (`$BOOTBRANCH/board_$BOARD`) which gets applied automatically by the patcher for the specific $BOARD
- Little fixes: Use `declare -g` and a code style similar to NanoPi R6 series