Difference between revisions of "Quartz64 Development"
(→Current Status: Update performance status) |
(→Resources: Add a link to pgwipeout's quartz64-5.14 tree) |
||
Line 161: | Line 161: | ||
=== Repositories === | === Repositories === | ||
* pgwipeout's kernel tree | |||
** https://gitlab.com/pgwipeout/linux-next/-/tree/quartz64-5.14 | |||
* BSP based development effort for SPL/U-Boot and Linux | * BSP based development effort for SPL/U-Boot and Linux | ||
** https://gitlab.com/pine64-org/quartz-bsp | ** https://gitlab.com/pine64-org/quartz-bsp |
Revision as of 09:31, 6 August 2021
This page documents the current status of software support for the Quartz64 single-board computer, and provides links to resources to help prospective contributors get started. Information is kept current on a best-effort basis as various patches get accepted into the kernel.
Overview
Upstreaming Status
Function | Status | Component | Notes | |
---|---|---|---|---|
Video Output | Needs porting | rockchipdrm/VOP-v2
|
||
3D Acceleration | Linux Mainline | Upstream Mesa | panfrost
|
|
Video Decode | Linux Staging | Not in ffmpeg[1] | hantro-vpu , using v4l2-requests
|
Necessary device tree changes in review |
Audio | Needs porting | snd-soc-rockchip-i2s?
|
i2s i2s fix vad pdm spdif | |
Linux Mainline | rk817-codec
|
As of 5.14 | ||
u-boot | Waiting on ATF sources | |||
Device Tree | Basic Quartz64 Model A device tree in linux-next[2] | |||
Gigabit Ethernet | Linux Mainline | rk3566-gmac
|
As of 5.14[3] | |
Linux Mainline | yt8511-phy
|
As of 5.14[4] | ||
IOMMU | Linux Mainline | rockchip-iommu
|
As of 5.14[5] | |
GPIO | In review[6] | gpio-rockchip
|
||
pinctrl | Linux Mainline | |||
Thermal Regulation | Linux Mainline | rockchip-thermal
|
As of 5.14[7] | |
PCIe | In review[8] | pcie-dw-rockchip
|
||
Power Management | Linux Mainline | rockchip-pm-domain
|
As of 5.14[9] | |
Voltage Control | In review[10] | rk3568-pmu-io-voltage-domain
|
||
SPI | Linux Mainline | spi-rockchip
|
As of 5.14[11] | |
Battery | In review[12] | rk817-charger
|
In the BSP tree this is handled by rk817_battery.c and rk817_charger.c | |
Microphone | linux-next[13] | rockchip-saradc
|
Headphone jack mic seems to connect to SARADC_VIN2_HP_HOOK , so I'm pretty sure that the dtsi and driver changes are needed for that mic to work
| |
USB 2.0 | In review[14] | rockchip-usb2phy
|
||
e-Ink | Needs reversing | ebc-dev ?
|
See RK3566 EBC Reverse-Engineering |
Current Status
The following sections give an overview over the current status of different parts of the board. Some parts are waiting on a driver to be written or ported, others only need various adjustments.
According to pgwipeout, I/O device performance is within expected ranges now.
Working
- eMMC
- SDMMC0 (SD cards)
- GMAC (Gigabit Ethernet)
- USB 2.0
- SATA 2
- SATA 3
- UART
- UART 0 (Pi-bus)
- UART 1 (Bluetooth)
- UART 2 (Pi-bus, debug)
- Video Decode
- VP8
- Battery
Partially Working
- PCI-Express Controller — everything but devices that need cache coherency (e.g. dGPUs) should work
- USB 3.0 — at 2.0 speeds only, appears to be due to a PHY configuration issue
- SDMMC1 (Wi-Fi) — AP6256 working, BL602 needs some work to make it flash firmware
- I2C — works but is not yet exposed to the Pi-bus
- GIC — needs errata published by Rockchip to get upstream to add device-specific workarounds[15]
Confirmed Broken
- Nothing!
Needs Testing
- GPU — Need a VOP-v2 DRM driver to get display output
- Audio — Needs I2S driver
- E-Paper
- SPI
Resources
Repositories
- pgwipeout's kernel tree
- BSP based development effort for SPL/U-Boot and Linux
- Image CI pipeline aimed at developers
- Rockchip U-Boot
Other
- Rockchip-SoC Patchwork Page
- Rockchip Kernel Mailing List Archive
Board/SoC Documentation
Booting
Boot Order
The RK3566 boot ROM will search for a valid ID BLOCK in the following order on the support boot media:
- SPI NOR flash
- SPI NAND flash
- eMMC
- SD-Card
... if this fails, the boot ROM will initialize the USB0 port and wait for a connection from the Rockchip flash/boot tools.
Bootloader Flashing
As per pgwipeout's commit message:
- Make a partition named
uboot
as partition number 1 at 8 MiB to 16 MiB dd if=idblock.bin of=/dev/<mmc/sd> seek=64
dd if=uboot.img of=/dev/<mmc/sd>1