Panthor (Mali-G610 driver) requests mali_csffw.bin at ~1.2s, before /vendor mounts at ~2.4s. With FW_LOADER_USER_HELPER intentionally disabled, the firmware request fails instantly and probe fails. Embed the 276KB blob directly in the kernel Image so firmware is always available at probe time. Also disable CONFIG_DRM_PANFROST (Midgard/Bifrost driver) — it will never bind a Valhall G610 GPU and is dead weight alongside panthor. Copyright (C) 2026 Brendan Szymanski <hello@bscubed.dev> |
||
|---|---|---|
| arch | ||
| block | ||
| certs | ||
| crypto | ||
| Documentation | ||
| drivers | ||
| firmware | ||
| fs | ||
| include | ||
| init | ||
| io_uring | ||
| ipc | ||
| kernel | ||
| lib | ||
| LICENSES | ||
| mm | ||
| net | ||
| rust | ||
| samples | ||
| scripts | ||
| security | ||
| sound | ||
| tools | ||
| usr | ||
| virt | ||
| .clang-format | ||
| .clippy.toml | ||
| .cocciconfig | ||
| .editorconfig | ||
| .get_maintainer.ignore | ||
| .gitattributes | ||
| .gitignore | ||
| .mailmap | ||
| .rustfmt.toml | ||
| abi.bzl | ||
| android-sdcard.dts | ||
| BUILD.bazel | ||
| build.config.aarch64 | ||
| build.config.arm | ||
| build.config.common | ||
| build.config.constants | ||
| build.config.gki | ||
| build.config.gki.aarch64 | ||
| build.config.gki.x86_64 | ||
| build.config.opi3b | ||
| build.config.opi5 | ||
| build.config.opi5_pro | ||
| build.config.rockpi4 | ||
| build.config.x86_64 | ||
| COPYING | ||
| CREDITS | ||
| Kbuild | ||
| Kconfig | ||
| Kconfig.ext | ||
| MAINTAINERS | ||
| Makefile | ||
| modules.bzl | ||
| OWNERS | ||
| OWNERS_DrNo | ||
| README | ||
| README.md | ||
Orange Pi 5 Ultra — Kernel Source
Source kernel for the Orange Pi 5 Ultra (Rockchip RK3588). Forked from
dvab-sarma/android_kernel_rk_opi
(android-16.0-hwaccel-testing branch).
Based on mainline Linux 6.15 with Rockchip DRM patches and Android kernel features (binder, memfd, cgroups, SELinux, etc.).
Device Tree
WiFi (brcmfmac SDIO) and Bluetooth (hci_uart BCM serdev) are enabled in the
rk3588-orangepi-5-compact.dtsi shared DT include. PIN mappings follow
jimmyhon/linux max-wifi branch:
| Function | Pin |
|---|---|
| WIFI_REG_ON | GPIO2 PC5 |
| BT_REG_ON (shutdown) | GPIO4 PC4 |
| BT device wake | GPIO4 PC5 |
| BT host wake | GPIO0 PA0 |
| WiFi host wake | GPIO0 PB0 |
| SDIO | sdiom0_pins |
| BT UART | uart7m0_xfer + ctsn/rtsn |
Building
Built via LineageOS's TARGET_KERNEL_SOURCE mechanism. The kernel is compiled
by AOSP clang during mka:
TARGET_KERNEL_SOURCE := kernel/rockchip/tart
TARGET_KERNEL_CONFIG := tart_defconfig
Output: Image + rk3588-orangepi-5-ultra.dtb at
$(KERNEL_OUT)/arch/arm64/boot/.
Defconfig
tart_defconfig is based on android_orangepi5_defconfig with the same driver
set. Key options:
CONFIG_DRM_PANFROST— Mali-G610 GPU (Panfrost)CONFIG_BRCMFMAC_SDIO— AP6611S WiFiCONFIG_BT_HCIUART_BCM— SYN43711 BluetoothCONFIG_R8169— RTL8125BG 2.5GbE EthernetCONFIG_SND_SOC_ES8388— Audio codec
Branch
lineage-23.2 — for use with LineageOS 23.2 (Android 16).