User:Brendlefly62/Radxa ROCK Pi 4C Plus
Construction of this page began 27 September 2023 (Work in Progress)
This is an inexpensive arm64 board...
- Rock 4c plus packaging, annotated board layout.
Overall status - this will be a complete from-scratch build. For now, the board has a gentoo rootfs system, a custom gentoo amd64-cross-compiled u-boot, but an ubuntu-compiled armbian kernel and initrd. The kernel and initrd will be replaced with custom gentoo amd64-cross-compiled kernel, but that hasn't been tested yet.
Hardware
Make/model | Notes | |
---|---|---|
Board |
Radxa ROCK Pi 4C+ | dtb: rk3399-rock-pi-4c-plus.dtb |
SoC |
Rockchip RK3399-T | datasheet |
RAM |
4GB | LPDDR4 |
Firmware |
U-Boot,
Trusted Firmware A (ATF) |
rk3399_u-boot-2023.07.02
rk3399-atf-2.9.0 (Cross compiled by user on gentoo amd64 desktop PC) |
Boot media |
SD Card | eMMC not present but supported by u-boot standard. PXE not tested but supported by u-boot standard. USB boot option exists in u-boot documentation, but it was not tested (and there may be issues with that).[1][2] |
SoC
RK3399-T
- Initial kernel = 6.1.55-current-rockchip64 aarch64
- kernel 6.5.4 has been built, but has not been tested yet
Device | Make/model | Status | kernel drivers | Notes |
---|---|---|---|---|
CPU | 64bits hexa core processor Rockchip RK3399-T
4 x Cortex-72, freq 1.5GHz 2 x Cortex-A53, freq 1.0GHz |
Works | ||
GPU | 4 x Mali T860MP4 gpu, support OpenGL ES 1.1/2.0/3.0/3.1/3.2, Vulkan 1.0, Open CL 1.1 1.2, DX11. | Works | ||
Memory | LPDDR4 4GB 64bit dual channel LPDDR4@3200Mb/s | Works | ||
Storage | eMMC connector
μSD card (μSD slot supports up to 256 GB μSD card) |
Works | eMMC not present | |
Display | One Micro HDMI 2K up to 1440P@60
One Micro HDMI 4K 2.0 up to 4k@60 MIPI DSI 4 lanes via FPC connector Only two of HDMI 2k, HDMI 4K and MIPI DSI can work at the same time. |
Works | Display video is present at boot on the right of 2 HDMI ports | |
Audio | 3.5mm jack HD codec that supports up to 24-bit/96KHz audio. | Not tested | ||
Camera | MIPI CSI 2 lanes via FPC connector, support up to 800 MP camera (0.3mm pitch connector). | Not tested | ||
Wireless | 802.11 ac wifi
BT 5.0 with external antenna |
Not tested | ||
USB | USB 3.0 OTG X1, upper one, software configurable to be host or OTG,
USB 3.0 HOST X1, dedicated USB 3.0 channel, lower one USB 2.0 HOST X2 |
Works | ||
Ethernet | GbE LAN with Power over Ethernet (PoE) support
additional HAT is required for powering from PoE |
Works | ||
IO | 40-pin expansion header
2 x UART 2 x SPI bus 3 x I2C bus 1 x PCM/I2S 1 x SPDIF 2 x PWM 1 x ADC 6 x GPIO 2 x 5V DC power in 2 x 3.3V DC power in |
Works | ||
Others | RTC | Not tested | ||
Power | USB C 5V/3A | Works |
Accessories
- Standard (shipped in starter kit): case, heat sinks, fan, and power supply.
- Keyboard, mouse, micro-HDMI cable, and FTDIboard-with-miniUSB cable provided separately by the user
- Rock 4c plus in operation. Shown here with UART connected via FTDI/USB to a PC for u-boot serial port use.
Peripherals
Component | Make/model | Status | Kernel driver(s) | Kernel version | Notes |
---|---|---|---|---|---|
PMIC | Rockchip RK808 | Works | rk808 | 5.10 | Power Management Integrated Circuit (Regulators, RTC, Clocking)[3][4] |
Ethernet PHY | Realtek RTL8211F | Works | realtek_phy | 5.10 | via RGMII |
Analog Audio | ? | es8316, audio_graph_card | 5.10 |
GCC optimization[5]
ARM errata 835769 and 843419 affect Cortex-A53 up to r0p4 and Linux kernel recommends working around the latter though states nothing about the former.
/etc/portage/make.conf
RK3399 exampleCOMMON_FLAGS="-march=armv8-a+crc+crypto -mtune=cortex-a72.cortex-a53 -mfix-cortex-a53-835769 -mfix-cortex-a53-843419"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
For a hardened system consider appending
-fstack-protector-all
Gentoo Installation Options and Procedures
"Cheating"
The purpose of this guide is to document "from scratch" procedures for installing a pure gentoo system on this SBC. However the quicker way to get gentoo up and running is to install another distribution, and replace the root file system contents. See User:Brendlefly62/Radxa ROCK Pi 4C Plus/Cheating
Bootloader Build and Installation
To build a U-Boot bootloader from sources, see User:Brendlefly62/Radxa ROCK Pi 4C Plus/Build-Install-U-Boot
Kernel Build and Installation
To build a gentoo linux kernel (including modules, device tree blobs, etc) from sources, see Radxa ROCK Pi 4C Plus/Build-Install-Kernel
Install a Gentoo System "From Scratch"
By Hand
To "manually" build a linux system from scratch, see Radxa ROCK Pi 4C Plus/Build-Install-Kernel
With some automation...
To build a gentoo linux system with tools that automate many of the steps entailed in procedures described above, see Radxa ROCK Pi 4C Plus/Build-Install-joetoo
Binary Kernel/Firmware packages
To use pre-built binary packages for linux kernel, molules, dtbs, and bootloader, see Radxa ROCK Pi 4C Plus/Pre-built-binary-packages
Bootable gentoo system images
To use pre-built bootable system images files, see Radxa ROCK Pi 4C Plus/Bootable-System-Images
Issue 1
When X happens, Y is how you fix it.
See also
(Optional section.)
- PINE64 ROCKPro64, The Rock 4C Plus SBC employs the same SoC as the PINE64 ROKCPro64, so the associated gentoo wiki article on that SBC may also be helpful, as it was inspiration for layout and content of this one.
External resources
- OKdo.com Rock Pi 4c Plus page ($55), accessed circa 15 September 2023
- Radxa Rock 4C Plus Development Guide, first visit circa 20 September 2023
- Radxa Development Guide to Armbian Build, first visit circa 23 September 2023
- PINE64 ROCKPro64, retrieved 22 September 2023
- RK3399-T Datasheet, retrieved 27 September 2023
- How to Compile Armbian: Step-by-Step Tutorial for Beginners , first visit circa 23 September 2023
- Debug output in "somewhat successful build" First accessed 28 September 2023 (useful lsmod list and dmesg hardware/driver recognition information)
References
- ↑ PINE64 ROCKPro64#Issues
- ↑ https://gitlab.manjaro.org/manjaro-arm/packages/core/uboot-rockpro64/-/issues/4
- ↑ https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1903318.html
- ↑ Fuzhou Rockchip Electronics Co., Ltd., RK808 Datasheet V0.8 (PDF), PINE64. Retrieved on January 25th, 2021
- ↑ PINE64 ROCKPro64#GCC optimization