41 lines
3 KiB
Markdown
41 lines
3 KiB
Markdown
# 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.
|