SOQuartz full documentation
The SOQuartz is a RK3566 based compute module and parts of Quartz64 series.
Software
Releases
note
The images are provided by the PINE64 community, not by Pine Store Ltd. Most community projects currently aim at getting mainline Linux running on the board, not some vendor provided kernel that will never be receiving updates. A mainline-first approach allows for the boards to continue receiving important updates, such as security updates, for years to come, as well as have higher quality code in the kernel as it underwent independent review, but does mean that not all aspects of the hardware work right out of the gate.
DietPi
DietPi is a lightweight, yet easy to setup and feature-rich Linux distribution, based on Debian. To find out more about DietPi, please visit the official documentation. Discuss the Quartz64 builds on the PINE64 forum thread.
Download:
Default credentials | |
---|---|
Root user | root/dietpi |
Manjaro ARM
Manjaro ARM is a user friendly rolling release distribution, based on Arch Linux ARM.
WiFI, Bluetooth, Ethernet, HDMI USB etc. works, others are not tested.
Currently the image is built for Raspberry Pi CM4 - IO board, so to get it working with other base board like pine64 Soquartz model A base board then follow this steps:
- Flash the image to a SD card/ EMMC.
- Go to Boot partition.
- Then change the DTB listed in /boot/extlinux/extlinux.conf to -model-a.dtb instead of -cm4.dtb.
- Now put the SD card/ EMMC to the preferred base board and boot.
- First boot will take time as the user partition will resize to take whole storage size.
For headless installation, simply enter “root” at the login: prompt and complete setup.
Plebian
Plebian stands for PINE64 **Live Debian** and aims to be a fairly vanilla live Debian image for Quartz64 and SOQuartz devices, based on Debian Bookworm. It supports both of PINE64’s officially released SOQuartz base boards.
To flash, run (replace /dev/sdX
with your target block device):
$ xzcat imagename.img.xz | sudo dd of=/dev/sdX bs=4M oflag=dsync status=progress
Check Plebian’s flashing instructions for instructions on how to flash from e.g. Windows.
Some quick notes:
- You will be asked to change your password on first login (for what the default login is, read the instructions!)
- Root file system is grown to take up the entire space of your boot device
- NetworkManager is used instead of Debian’s interfaces config to be more flexible with what adapters are plugged in and working
- An sshd is started on port 22 with freshly generated keys
- Please flash the correct image for your SOQuartz baseboard!
Android SDK
Android 11 SDK for Quartz64 model A SBC
Download:
Notes:
- MD5 (TAR-GZip file): 77c2ff57ea3372fb04da7fb49e17d12b
- File size: 79.00 GB
- Just the boot blobs (<1MB): https://wiki.pine64.org/wiki/File:Rk35-blobs.tar.gz
BSP Linux SDK
BSP Linux SDK ver 4.19 for Quartz64 model A SBC
Download:
Notes:
- MD5 (TAR-GZip file): 24554419aec29700add97167a3a4c9ed
- File size: 32.67 GB
Making your own
Making your own image/installation of Linux for SOQuartz is relatively easy, as all major components are mainlined. You will need:
- A build of mainline U-Boot ≥ v2023.10. Flash this to sector 64 (sector size 512, so byte 32768) of your image for SD or eMMC. It’s prudent to “protect” it by making a small (~16MiB) partition at this offset.
- A mainline Linux kernel ≥ v6.2. See Quartz64/Development#Linux Kernel Config Options for the device specific kernel configuration options.
- The root filesystem of the distribution of your choice. This can be on the same filesystem as your kernel and device tree if using extlinux.conf.
You can either boot the kernel through U-Boot’s EFI booting, in which case it gets its device tree from U-Boot, or mark the partition containing your kernel and device tree with the legacy bootable flag and write an extlinux/extlinux.conf as explained in the U-Boot documentation.
Pins
Heatsinks
The SOQuartz SoM does not have a lot of copper to sink heat into. Therefore, it’s recommended you use a heatsink such as the Waveshare CM4 Heatsink, the other Waveshare CM4 Heatsink, or the PINE64 Small Fan Type Heatsink. Please be aware that the Waveshare heatsinks may interfere with any eMMC module, unless you use very thick (2-3 mm?) thermal pads. Local resellers may sell CM4 heatsinks or small stick-on heatsinks, so there’s no need to order them from abroad unless it’s cheaper.
Alternatively, or in addition to this, a rectangle-shaped piece of 1 mm thick thermal pad can be sandwiched between the SoM and the carrier board. This allows the SoM to more efficiently sink heat into the larger mass of the base board.
Baseboards
SOQuartz BLADE Baseboard
- SOQuartz BLADE Baseboard Dimensions: 200mm x 40mm x 15mm
- Input Power:
- DC 5V @ 3A 3.5OD/1.35ID (IEC 60130-10 Type H) Barrel DC Jack connector
- PoE
Storage
- microSD - bootable, support SDHC and SDXC, storage up to 2TB
- USB - USB2.0 Host port (with header for setting OTG ID pin)
Expansion Ports
- 2x20 pins “Pi2” GPIO Header
- M.2 slot
- PWM fan header
Jumpers
- OTG ID jumper
- GPIO voltage, select 3.3V or 1.8V
- PoE Enable
SOQuartz Model-A Baseboard
Model "A" Baseboard Dimensions: 133mm x 80mm x 19mm
Input Power: DC 12V @ 3A 5.5OD/2.1ID (IEC 60130-10 Type A) Barrel DC Jack connector
Storage
microSD - bootable, support SDHC and SDXC, storage up to 2TB
USB - 2 USB2.0 Host port
Expansion Ports
MiPi-CSI - 1x 2 lanes, 1x 4 lanes
MiPi-DSI - 1x 2 lanes, 1x 4 lanes
2x20 pins "Pi2" GPIO Header
PCIe 1x open ended slot
1x5 pin USB Expansion Header (J15)
GPIO Pins
Attention! GPIOs are 3.3V!
Interesting alternate pin configurations are listed in [brackets].
Assigned To | Pin no. | Pin no. | Assigned To |
---|---|---|---|
3.3 V | 1 | 2 | 5 V |
[I2C2_SDA_M1] GPIO4_B4_3V3 a | 3 | 4 | 5 V |
[I2C2_SCL_M1] GPIO4_B5_3V3 a | 5 | 6 | GND |
[GPCLK0] GPIO4_A4_3V3 | 7 | 8 | GPIO0_D1_3V3 [UART2_TX_M0] |
GND | 9 | 10 | GPIO0_D0_3V3 [UART2_RX_M0] |
[I2S1_MCLK_M1] GPIO3_C6_3V3 | 11 | 12 | GPIO3_C7_3V3 [I2S1_SCLK_M1] |
GPIO4_A0_3V3 | 13 | 14 | GND |
GPIO4_A2_3V3 | 15 | 16 | GPIO4_A3_3V3 |
3.3V | 17 | 18 | GPIO4_A1_3V3 |
[SPI3_MOSI_M0] GPIO4_B2_3V3 | 19 | 20 | GND |
[SPI3_MISO_M0] GPIO4_B0_3V3 | 21 | 22 | GPIO4_B1_3V3 |
[SPI3_CLK_M0] GPIO4_B3_3V3 | 23 | 24 | GPIO4_A6_3V3 [SPI3_CS0_M0] |
GND | 25 | 26 | GPIO4_A7_3V3 [SPI3_CS1_M0] |
[I2C3_SDA_M0] GPIO1_A0_3V3 a | 27 | 28 | GPIO1_A1_3V3 [I2C3_SCL_M0] a |
GPIO3_A5_3V3 | 29 | 30 | GND |
GPIO3_D4_3V3 | 31 | 32 | GPIO3_D6_3V3 |
GPIO3_D7_3V3 | 33 | 34 | GND |
[I2S1_LRCK_M1] GPIO3_D0_3V3 | 35 | 36 | GPIO3_D5_3V3 |
GPIO3_D3_3V3 | 37 | 38 | GPIO3_D2_3V3 [I2S1_SDI_M1] |
GND | 39 | 40 | GPIO3_D1_3V3 [I2S1_SDO_M1] |
USB Expansion Header
Pin no | Assigned To |
---|---|
1 | USB2_HOST_5V |
2 | HOST_DM3 |
3 | HOST_DP3 |
4 | GND |
5 | GND |
Source: Page 10 of the board schematics.
Various CM4 carrier boards
- For CM4 carrier board comprehensive list, please visit Jeff Geerling collection
Further information
Datasheets
Rockchip RK3566 SoC information:
Rockchip PMU (Power Management Unit) Information:
DDR4 information:
eMMC information:
- PINE64 eMMC module schematic
- PINE64 USB adapter for eMMC module V2 schematic
- PINE64 USB adapter for eMMC module PCB in JPEG
- 16GB Foresee eMMC Datasheet
- 32GB/64GB/128GB SanDisk eMMC Datasheet
Ethernet PHY information:
WiFi/BT module info:
i2C to PWM Controller user in BLADE info:
- GP7101 i2c to PWM Controller Datasheet in Chinese
- GP7101 i2c to PWM Controller Datasheet translated to English by neggles https://wiki.pine64.org/wiki/File:GP7101 cn V1 qsxn en.pdf
- I^2^C address is 0x58 despite what datasheet says
PoE DC/DC Controller user in BLADE info:
Schematics and certifications
SOQuartz Module Schematic:
SOQuartz Model “A” Baseboard Schematic and PCB Board Resource:
- SOQuartz Model-A baseboard 20220522 Schematic PDF file
- SOQuartz Model-A baseboard 20220522 Schematic DSN source file
- SOQuartz SOQuartz Model-A baseboard 20220522 PCB Top Component Placement
- SOQuartz SOQuartz Model-A baseboard 20220522 PCB Bottom Component Placement
- SOQuartz Model-A baseboard 20220522 PCB DSN file
- SOQuartz Model-A baseboard 20220522 PCB Gerber file
SOQuartz Blade Baseboard Schematic and PCB Board Resource:
- SOQuartz BLADE 20220522 Schematic
- SOQuartz BLADE 20220522 PCB component Placement
- SOQuartz BLADE 1U Rack STP file
SOQuartz module certifications:
Specifications
The SOQuartz is based on the Rockchip RK3566.
CPU Architecture
- Quad-core ARM Cortex-A55@1.8GHz
- AArch32 for full backwards compatibility with ARMv7
- ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation
- Includes VFP hardware to support single and double-precision operations
- ARMv8 Cryptography Extensions
- Integrated 32KB L1 instruction cache and 32KB L1 data cache per core
- 512KB unified system L3 cache
GPU (Graphics Processing Unit) Capabilities
- Mali-G52 2EE Bifrost GPU@800MHz
- 4x Multi-Sampling Anti-Aliasing (MSAA) with minimal performance drop
- 128KB L2 Cache configurations
- Supports OpenGL ES 1.1, 2.0, and 3.2
- Supports Vulkan 1.0 and 1.1
- Supports OpenCL 2.0 Full Profile
- Supports 1600 Mpix/s fill rate when at 800MHz clock frequency
- Supports 38.4 GLOP/s when at 800MHz clock frequency
Neural Process Unit NPU Capability
- Neural network acceleration engine with processing performance of up to 0.8 TOPS
- Supports integer 8 and integer 16 convolution operations
- Supports the following deep learning frameworks: TensorFlow, TF-lite, Pytorch, Caffe, ONNX, MXNet, Keras, Darknet
System Memory
- RAM Memory Variants: 2GB, 4GB, 8GB LPDDR4.
- Storage Memory: optional 128Mb SPI Flash and optional eMMC module from 8GB up to 128GB
Network
- 10/100/1000Mbps Ethernet
- WiFi 802.11 b/g/n/ac with Bluetooth 5.0
Displays / Cameras
- 1x HDMI
- 2x DSI
- 1x eDP (Instead of HDMI1)
- 1x LVDS (not available when dual-mode DSI)
- 1x CSI 4-line
Connectivity
- 1x Ethernet (1Gbit)
- 1x USB 2.0 OTG
- 1x SD Card (SD)
- 1x PCIe 1-Line
- 28x GPIO (TBD)