# android_device_rockchip_tart Device tree for building [LineageOS 23.2](https://lineageos.org/) (Android 16, Android TV variant) for the **Orange Pi 5 Ultra**, codename **`tart`**. ## Hardware - **SoC:** Rockchip RK3588 (4x Cortex-A76 @ 2.4GHz + 4x Cortex-A55 @ 1.8GHz) - **GPU:** ARM Mali-G610 MP4 "Odin" (Valhall, OpenGL ES 3.2 / Vulkan 1.2 / OpenCL 2.2) - **Ethernet:** 2.5GbE via Realtek RTL8125BG (PCIe) - **WiFi/BT:** WiFi 6E + Bluetooth 5.3 via Ampak AP6611S module (Synaptics SYN43711 chipset) - **Audio:** Everest ES8388 codec (3.5mm jack, mic, HDMI eARC) - **Display:** HDMI 2.1 out (8K60), 4-lane MIPI DSI out, HDMI 2.0 capture in ## Status This is an active bring-up port, not a finished build. Working/not-working status changes frequently — the authoritative, currently-maintained list lives in [`AGENTS.md`](../../AGENTS.md) and [`CLAUDE.md`](../../CLAUDE.md) at the root of the parent project repo, not here. As of the last update to this README: **Working:** - Boots to Android on real hardware (kernel, all 8 CPUs, GPU/USB/PCIe detected) - `breakfast tart` + plain `mka` build system/vendor/boot/ramdisk images - GPT image creation (`mkimg.sh`) and flashing via U-Boot/extlinux **Not working / deferred:** - GPU acceleration — stock AOSP mesa3d only, no Panfrost yet - SELinux enforcing (currently permissive) - Camera, HDMI capture input, RTL8125BG Ethernet firmware, and WiFi/BT driver support are all unverified/in progress This device has **no Android recovery** (`TARGET_NO_RECOVERY := true`) — it boots via U-Boot + `extlinux.conf`, not a recovery/OTA-zip flow. Use plain `mka`, not `mka bacon` (see [`BoardConfig.mk`](BoardConfig.mk) and the parent project's build docs for why `bacon` fails on this device). ## Building and flashing Full setup, sync, and build instructions live in the [`android_local_manifest`](https://git.bscubed.dev/lineage-rockchip/android_local_manifest) README — this repo is just one of several projects (device tree, kernel, vendor blobs) that manifest pulls in. Two scripts in this repo are used post-build: - [`mkimg.sh`](mkimg.sh) — assembles a flashable GPT image (U-Boot + FAT32 boot partition with `extlinux.conf`/kernel/DTB/ramdisk, plus system/vendor/metadata/userdata partitions) from the build output. Run from the source tree root after `mka`, in the same shell used to build (needs `TARGET_PRODUCT`/`ANDROID_PRODUCT_OUT` from `lunch`/`breakfast`). Do not run with `sudo` — it escalates internally per-command only where needed. - [`wrimg.sh`](wrimg.sh) — writes individual partition images (`boot`/`system`/`vendor`) directly to an already-flashed physical device for fast dev-iteration re-flashes, without rebuilding the whole GPT image. Also supports `wipe` (reformat userdata) and `wipe-metadata`. Auto-detects the target block device by matching partition labels/sizes against `mkimg.sh`'s 5-partition layout. ## License Apache-2.0. Originally forked from KonstaKang's Orange Pi 5 Pro AOSP device tree and dvab-sarma's port; substantially modified for the Orange Pi 5 Ultra / LineageOS ATV port.