All Projects → jaredmcneill → quartz64_uefi

jaredmcneill / quartz64_uefi

Licence: other
A port of Tianocore EDK II to Rockchip RK356x based SBCs.

Programming Languages

c
50402 projects - #5 most used programming language
ASL
165 projects
shell
77523 projects
NASL
115 projects
assembly
5116 projects
python
139335 projects - #7 most used programming language
Makefile
30231 projects

UEFI for Rockchip RK356X based Single Board Computers

This repository contains a port of Tianocore EDK II to various Rockchip RK356x based boards:

Building an SD card / eMMC image

If you want to build the image, checkout the repository and run: $ make sdcard

Prebuild images are also provided for stable ports and are available in the release section.

Note: ROC-RK3568-PC, Station P2, and ROCK3 Compute Module ports are still work in progress: as such no prebuild images are released for those boards.

Running

Connect a serial console to UART2 using settings 115200 8n1.

Operating system support

OS Version Supported hardware Notes
ESXi-Arm 1.10 HDMI, USB2, USB3, serial, PCIe, ethernet
Fedora 36 HDMI, USB2, USB3, serial, PCIe, thermal sensors Needs irqchip.gicv3_nolpi=1 for MSI support
FreeBSD 14.0-CURRENT ? Mangled serial output, boot stuck waiting for random seed
NetBSD 9.99.x HDMI, USB2, USB3, serial, SD card, PCIe, eMMC, ethernet, thermal sensors
OpenBSD 7.0-current HDMI, USB2, USB3, serial To use HDMI console, enter set tty fb0 at the bootloader prompt.
Ubuntu 21.04 HDMI, USB2, USB3, serial, PCIe, thermal sensors Needs irqchip.gicv3_nolpi=1 for MSI support
Windows PE ? HDMI, USB3, PCIe BSOD when plugging device in to USB2 port (#2)

eMMC controller Device-Specific Method (_DSM)

The divider register in the RK356x's SDHCI controller does not work, so to change the eMMC card clock we have to do it through the CRU. This is exposed to the OS as an ACPI Device-Specific Method (_DSM).

Function 1: Set Card Clock

The _DSM control method parameters for the Set Card Clock function are as follows:

Arguments

  • Arg0: UUID = 434addb0-8ff3-49d5-a724-95844b79ad1f
  • Arg1: Revision = 0
  • Arg2: Function Index = 1
  • Arg3: Target card clock rate in Hz.

Return

The actual card clock rate in Hz. Will be less than or equal to the target clock rate. Returns 0 if the target clock rate could not be set.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].