* add support for arduino-uno-q
* arduino-uno-q: fix boot with boot.scr and correct memory addresses
ABL overwrites kernel_addr_r/fdt_addr_r/ramdisk_addr_r at runtime,
causing memory overlap that corrupts the kernel Image header.
Switch from extlinux to boot.scr which sets correct addresses in the
0xC0000000 RAM bank before loading kernel, initrd and dtb.
U-Boot env loads boot.scr from partition 0x43 (GPT 67 "efi") with
sysboot as fallback.
* arduino-uno-q: update board and family config
- Use boot.scr instead of extlinux (BOOTSCRIPT/BOOTENV_FILE in family)
- Add SERIALCON=ttyMSM0 for serial console
- BOOTSIZE=512 to fit kernel + initrd
- Remove BOARD_FIRMWARE_INSTALL="-full", copy only needed firmware
- Add WiFi ath10k firmware copy
- Add ADB daemon with Armbian branding
- Add first-boot rootfs resize service
- Update kernel to 6.19.0 from qcom-v6.19.0-unoq branch
* arduino-uno-q: fix image-output extension
Use dd with sector offsets instead of loop device partitions to extract
boot and rootfs images. The previous approach failed because the build
framework releases the loop device before the extension runs.
* arduino-uno-q: add first-boot rootfs resize for eMMC
Add systemd service that expands the rootfs partition to fill the entire
eMMC on first boot using sgdisk. Removes the empty userdata partition
and recreates rootfs with all remaining space.
* arduino-uno-q: update ath10k WiFi firmware to upstream
Update board-2.bin from linux-firmware (ath-20260204) with support for
additional board IDs.
* arduino-uno-q: update kernel config for 6.19
* arduino-uno-q: revert board-2.bin to original version
Restore the ath10k board-2.bin firmware to the version provided in the
original board bring-up, as the upstream version has not been validated
on this hardware.
* arduino-uno-q: move flash binaries to armbian/qcombin
Move EDL flash binaries (ABL, XBL, TrustZone, GPT tables, etc.) from
packages/blobs/arduino/flash/ to the external armbian/qcombin repository
under the Agatti folder, following the same pattern as rkbin for
Rockchip and mtkbin for MediaTek.
Add qcombin.sh extension to fetch binaries during build. Update
image-output-arduino.sh to source flash files from qcombin cache and
derive U-Boot package path from BRANCH/BOARD variables.
* arduino-uno-q: add BOARD_VENDOR
* arduino-uno-q: update qcombin path to Agatti/arduino-uno-q
* arduino-uno-q: move firmware to armbian/firmware, rename boot script
Move firmware blobs to armbian/firmware repository (armbian/firmware#123)
and remove manual firmware copies from post_family_tweaks. Firmware is
now installed via the armbian-firmware package.
Rename boot-qcom to boot-qrb2210 to be family-specific.
* arduino-uno-q: include prog_firehose_ddr.elf from Agatti root
* arduino-uno-q: add qbootctl to prevent fastboot fallback
---------
Co-authored-by: Hsun Lai <i@chainsx.cn>
This commit adds a suite of 4 patches for U-Boot v2025.10 to enable
full support for the Xunlong Orange Pi 5 Pro SBC.
The Orange Pi 5 Pro introduces several significant hardware departures
from the base Orange Pi 5, necessitating specific driver and DTS
adjustments:
1. Networking (Motorcomm YT6801):
- The Pro variant replaces the SoC's built-in GMAC1 NIC with a
PCIe-attached Motorcomm YT6801 controller.
- Introduce a new glue driver (dwc_eth_qos_motorcomm) to bridge
the core DWC EQoS IP to the PCIe bus.
- Core EQoS driver is modified to support the YT6801's unique
32-byte descriptor size and Descriptor Skip Length requirements.
- Auto-generation of MAC addresses from CPU ID is disabled to
preserve the hardware's native eFuse MAC.
2. Audio and I/O:
- Audio routing is moved from I2S1 to I2S2 (M1 mux) with the
ES8388 codec on I2C3.
- LEDs are remapped from GPIO to PWM control (PWM3/PWM15).
- Headphone amplifier enable is remapped to GPIO4_PB5.
3. Thermal and Power:
- PWM Fan control is implemented with a specific 20ms (50Hz)
period. This is CRITICAL because the hardware's RC filter gate
logic causes MOSFET overheating if standard 25kHz PWM is used.
4. Wireless:
- Full support for the AP6256 module via SDIO and UART9.
Patch Summary:
- [0001] Board support (DTS, defconfig, doc). DTS based on initial
submission by Dennis Gilmore.
- [0002] Motorcomm YT6801 PCIe glue driver and PHY support.
- [0003] Core EQoS driver extension for descriptor/DSL overrides.
- [0004] Rockchip board MAC setup bypass for Pro hardware.
Signed-off-by: c127dev <contact@c127.dev>
Voltages for "gpu_opp_table" and "vdd_arm" were wrongly using default
values instead of the customized values from the vendor image, leading
to dmesg errors like
[ 19.709834] core: _opp_supported_by_regulators: OPP minuV: 1075000 maxuV: 1075000, not supported by regulator
[ 19.710075] lima ff300000.gpu: _opp_add: OPP not supported by regulators (200000000) 0xBEBC200
Thanks to Shadowrom2020 for noticing.
Update the I2S MCLK output gate clock patches to match the upstream v3
series. Changes from previous version:
- Split into 4 patches (was 3): added separate patch for
RK3588_SYSGRF_SOC_CON6 define in rk3588_grf.h
- Use named constant RK3588_SYSGRF_SOC_CON6 instead of magic 0x0318
- Add u-boot patch for clock ID bindings (needed by board DTS files)
6.18 uses kzalloc(sizeof(...)) as kzalloc_obj is not available.
7.0 uses kzalloc_obj as recommended by upstream reviewer.
Upstream: https://lore.kernel.org/linux-rockchip/20260320-rk3588-mclk-gate-grf-v3-0-980338eacd2c@superkali.me/
* Add GPU operating points and modify power controller
Makerbase power control adaptions due to voltage regulator limitations
* Add GPU operating points to rk3328-mkspi.dts
Makerbase power control adaptions due to voltage limitations
* Add GPU operating points to rk3328-mkspi.dts
* Remove unused gpu-opp-table node
* Remove unused gpu-opp-table node
* Remove unused gpu-opp-table node from device tree
* revert changes to kernel 6.12
* Add initial support for Qidi-X boards
* enable uart1 by default
* disable spi for screen and touch
* remove spi0 reference
* fix typo
* add new dts to kernel 7.0
* remove unused leds and unused drive
* fix storage
* disable sound output
* fixes for nitpick comments
* fix default device tree
* fix accidental changes
* changed supported boards comment
- fancy: EFI debug, compression, LED, networking with LWIP
- Kwiboo has worked his magic on LWIP in 2026.04
- Use flashcp to write to SPI (mine needed a few times, as my flash is old and failing)
- Move FIP handling from family to board file, but still the same
- flash blue led in preboot once
- adapt 24Mhz mmc patch
- u-boot v2026.04-rcX has bumped dt-rebasing to v6.18, thus it knows about
NPU nodes now and we can simply symlink to kernel DT, reducing duplication by a lot
- fileenv patch (same as v2026.01)
- fdt_fixup_ethernet logging patch (same as v2026.01)
- 0000.patching_config.yaml: defconfig/dt_upstream_rockchip/dt_uboot
- notable in v2026.04:
- dt-rebasing bumped up to v6.18 (which has NPU nodes)
- this allows us to share complete DTs between kernel and u-boot via symlinks
- Kwiboo had a go at LWIP which should be usable now; Kwiboo rocks.
- rockchip64-6.19: mainline kernel (edge/6.19):
- most stuff works, incl 4G modem, NPU, RS-485, RS-232, HDMI-RX
- except:
- type-c (fusb302, I've no schematics nor will to reverse)
- DisplayPort (I don't have test hardware)
- Analog Audio (ditto)
- keep vendor u-boot for vendor branch
- mainline u-boot v2026.01:
- same DT as edge kernel, save for NPU nodes
- boot order: NVMe -> SATA -> USB -> eMMC -> Ethernet/PXE
- stable MAC addresses for GMAC0/1 via DT aliases (confirm with logging patch)
This commit enables generation of `u-boot-rockchip-spi-sata.bin`.
Flashing this to SPI flash enables U-Boot to communicate with an
attached SATA m.2 SSD, thereby allowing booting directly from SPI flash
to SATA SSD.
Kwiboo's `rk3506` branch is WIP / rebased often. Pin to commit hash while upstreaming work is underway.
Also revert (broken) changes that attempted to keep up with this branch.