- Use SERIALCON instead of systemd override for serial console
- Remove fdtfile from bootenv (use BOOT_FDT_FILE instead)
- Remove ATF_COMPILER (arm64 default)
- Inline OPTEE variables into fetch_sources_tools hook
- Remove empty family_tweaks() and family_tweaks_bsp()
- Use only debug mode for ATF build
- Build fiptool in atf_custom_postprocess
- Move header creation inline into uboot_custom_postprocess
- Use <<- heredoc for Python script
- u-boot stores env in UFS LUN 1
- use a 2mb offset (different from vendor/Collabora's) to avoid any env conflict
- point fw_printenv/setenv at it at the correct offset and size
- set SRC_CMDLINE, used in extlinux/EXT=u-boot-menu scenarios
- note about d4/d8/d16 irrelevance now as we have RAM autodetection
- note about where the blobs (libdram/libbase/lk.bin) live in GH: https://github.com/armbian/mtkbin
- Switched to the binman-atf-mainline scenario with the same rkbin DDR blob
rk3399_ddr_933MHz_v1.25.bin (TPL blob, as in the old working loader). DRAM init is correct, full
4 GB visible, Linux boots.
- U-Boot and DTS updated to v2026.01-rc5. Added MDIO/PHY node and phy-handle in rk3399-kobol-
helios64.dts, fixing “mdio node is missing”. Disabled i2s2 in the U-Boot DT to avoid rockchip-
i2s ... Could not register PCM.
- boot_targets in U-Boot config shortened (mmc1, scsi0, usb0, pxe, dhcp) to avoid env_buf ... too
small; however, the last built binary still shows the warning (needs rebuild with the shortened
list or enlarging the buffer).
- Boot flow: bootstd scans SD (mmc0) and eMMC (mmc1); SD boot works even without mmc0 in
boot_targets.
- Other changes: defconfig has CONFIG_ROCKCHIP_EXTERNAL_TPL=y to use the external DDR blob.
Boots.
- fix bootorder (SD -> NVMe -> eMMC); USB disabled as nonworking with mainline still
- use the DT from rockchip64-6.18 so a single source for both u-boot and kernel
- note: the first (and only) RTL8169 used by u-boot is the port closest to board edge
* Modify radxa-e54c board config to fix leds, network and Gnome
Modify led setup section to use new led device names
Add a keyfile /etc/NetworkManager/conf.d/99-unmanaged-devices.conf to set the internal ethernet, end1, used to connect to the internal switch chip to unmanaged. This interface doesn't accept dhcp IP addresses and Network Manager attempts to connect it via dhcp causing errors.
A vendor kernel build with Gnome desktop attempts to use Wayland unsuccessfully causing the desktop to take over 10 minutes to initialise eventually using X11. Modify the board /usr/lib/armbian/armbian-firstlogin file to set WaylandEnable = false if the build is for a vendor kernel with a Gnome desktop.
* Update config/boards/radxa-e54c.conf
Tested the suggestion and it works.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Removing the RedHat-specific plugin
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
- Add mainline device tree for YY3588 board
- Enable all peripherals: USB 3.0, Ethernet, PCIe, HDMI
- Add RK8602 PMIC regulators for CPU/NPU power
- Enable I2C buses for PMIC and RTC
- Fix pinctrl conflicts (I2C1 M2, disable SFC for UART7)
- Configure USB-C and USB 3.0 host ports
- Add HDMI0 output with HDPTX PHY
- Enable thermal management with PWM fan
- Add SD card and eMMC storage support
- Configure all UARTs, I2S audio, and SPI buses
- ES8323 audio codec currently disabled for further debugging
- no need for vendor u-boot, as mainline can boot vendor kernel fine
- update comments with hardware pin references
- mainline boot order: NVMe -> USB -> eMMC
- boot order: NVMe -> MMC
- GMAC works
- nvme works
- `ums` et al working
- usb3 ports (on carrier board) work
- DT is copy (not symlink) from kernel DT due to NPU nodes
- vendor:
- kernel: armbian/linux-rockchip already had a DTS from jriek
- u-boot: taken from jriek (reorg'ed the defconfig)
- edge:
- kernel: taken from jriek's 6.11 wip branch
- u-boot: generic (can only boot SD/eMMC)
> merry everything and a happy always
- mainline:
- enable "edge" branch, with custom DT
- works: almost everything
- does NOT work:
- USB-C port is only for OTG/UMS (NOT USB3-host) - didn't describe fusb302 et al in DT
- any of the 3x HDMI -> MIPI (or whatever) HDMI-In's (thus this is a 1x1, not 4x1)
- front USB3 blue ports are actually USB2 (also in vendor kernel)
- front USB2 black ports don't work (but are powered)
- Analog audio - didn't describe, could be, but I've no way to test
- use mainline u-boot v2026.01-rc5 (with custom DT/defconfig/etc) with mainline ATF
- boot order: SD -> NVMe -> USB -> eMMC -> ETH
- adapt usage of shared "mekotronics" vendor include only for vendor/legacy
- also fix DTB: `rockchip/rk3588-blueberry-r58-4x4.dtb` for vendor
- same across vendor and mainline
- mainline u-boot kinda-boots vendor kernel, but TF-A mismatch ref HDMI-rx
- so use vendor u-boot and rk blob for vendor branch/kernel
- works pretty nice (albeit no USB support in kernel, only u-boot)
- this is still `WiP`: once Kwiboo lands his rk3528 patchset,
most of this will change / be much simpler. Just be patient!
- Important: the Realtek DSA switch chip is not really understood
by the likes of NetworkManager and systemd-networkd; they'll think
the board has 4 ethernet interfaces, which is not really true.
Only one real MAC address (the SoC's GMAC) exists; in front of it
is a programmable switch; to make it work one needs custom setup
to bridge the LANx ports and keep WAN separate. Even then, the
WAN port will have the same MAC as LANx and needs to be really
used on a separate physical network, otherwise chaos/conflicts.
For simple usage/testing, I recommend to connect only LAN1 and
disable the other ports in NetworkManager after the first boot.
- Note: `edge` u-boot can be written to MTD/SPI-FLASH and works.
But keep in mind it _cannot_ boot the vendor kernel (it hangs
during pcie init); might work when booting from SD, if pcie is
not enumerated by u-boot.