Difference between revisions of "Quartz64 Development"
(→Upstreaming Status: Add battery and charging drivers to the upstreaming table) |
(→Upstreaming Status: Add Microphone status) |
||
Line 104: | Line 104: | ||
| <code>r817-charger</code> | | <code>r817-charger</code> | ||
| [https://gitlab.com/pine64-org/quartz-bsp/rockchip-linux/-/blob/quartz64/drivers/power/supply/rk817_charger.c rk817_charger.c] | | [https://gitlab.com/pine64-org/quartz-bsp/rockchip-linux/-/blob/quartz64/drivers/power/supply/rk817_charger.c rk817_charger.c] | ||
|- | |||
! scope="row" | Microphone | |||
| colspan="2" style="background:LightYellow; text-align:center;"|In review<sup>[https://patchwork.kernel.org/project/linux-rockchip/list/?series=509889]</sup> | |||
| <code>rockchip-saradc</code> | |||
| Headphone jack mic seems to connect to <code>SARADC_VIN2_HP_HOOK</code>, so I'm pretty sure that the dtsi and driver changes are needed for that mic to work | |||
|} | |} | ||
Revision as of 15:35, 2 July 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
|
Speculative status on this also being hantro, can't find rk35* in drivers/staging/media/ |
Audio | Needs porting | snd-soc-rockchip-i2s?
|
||
linux-next[2] | rk817-codec
|
|||
u-boot | Waiting on ATF sources | |||
Device Tree | Early rk3568 dts in review | |||
Gigabit Ethernet | In review[3] | rk3566-gmac
|
||
linux-next[4] | yt8511-phy
|
|||
IOMMU | In review[5] | rockchip-iommu
|
||
GPIO | In review[6] | gpio-rockchip
|
||
pinctrl | Linux Mainline | |||
Thermal Regulation | In review[7] | rockchip-thermal
|
||
PCIe | In review[8] | pcie-dw-rockchip
|
||
Power Management | linux-next[9] | rockchip-pm-domain
|
||
Voltage Control | In review[10] | rk3568-pmu-io-voltage-domain
|
||
SPI | In review[11] | |||
Battery | Needs porting | r817-battery
|
rk817_battery.c | |
Needs porting | r817-charger
|
rk817_charger.c | ||
Microphone | In review[12] | 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
|
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.
General performance is poor, this is likely due to the AHB bus running slow, and may require some major rework of the clock layout to get to acceptable speeds.
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
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[13]
Confirmed Broken
- Nothing!
Needs Testing
- GPU — Need a VOP-v2 DRM driver to get display output
- Battery
- Audio — Needs I2S driver
- E-Paper
- SPI — Needs a driver
Resources
Repositories
- 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