Difference between revisions of "RK3399"

From Rockchip open source Document
Jump to: navigation, search
(30 intermediate revisions by 6 users not shown)
Line 52: Line 52:
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
= Documentation =
= Documentation =
#[ Rockchip_RK3399_Datasheet_V1.6-20170301]  
#[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf]  
#[ RK_DDR_Support_List_Ver2.24]  
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]  
#[ RK3399_Linux_Debian_System_Development_Guide]  
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]  
#[ RK3399_Linux_Buildroot_System_Development_Guide]  
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]  
#[[Media:RK3399_Multimedia_Codec_Benchmark_v1.0.pdf|RK3399 Multimedia Codec Benchmark]]  
#[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf]
= Software =
= Software =
== Borad configuration ==
See [[Linux_user_guide|Linux User Guide]] setup LInux OS generally;
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"  class="table_style"
See [[U-Boot|U-Boot]] guide to develop U-Boot;
! style="width: 119px; text-align: center;" | '''board'''
See [[Rockchip_Kernel|Rockchip kernel]] to develop kernel;
! style="width: 172px; text-align: center;" | '''kernel'''
! style="width: 124px; text-align: center;" | '''uboot'''
See [[Buildroot|buildroot and]] [[Debian|debian to]] develop and rootfs.
! style="width: 310px; text-align: center;" | '''dts'''
| style="width: 119px; text-align: center;" | rk3399-excavator
| style="width: 172px; text-align: center;" | rockchip_linux_defconfig
| style="width: 124px; text-align: center;" | rk3399_linux_defconfig
| style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts
== Chip configuration ==
== Chip configuration ==
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"  class="table_style"
{| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;"
! style="width: 68px; text-align: center;" | '''chip'''
! style="width: 68px; text-align: center;" | '''chip'''
Line 96: Line 94:
| style="width: 132px; text-align: center;" | 1500000
| style="width: 132px; text-align: center;" | 1500000
== How to get the sources ==
The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.
RK3399 optimized Debian & Buildroot
<pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml
repo sync
== How to build the sources ==
=== Build Environment ===
You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div>
Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp;
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div>
=== Building kernel &&nbsp;resource ===
For RK3399&nbsp;Excavator-sapphire&nbsp;board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div>
For&nbsp;Firefly-RK3399 board:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div>
=== Building uboot ===
For RK3399 optimized SDK (rkproduct uboot)
<pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd ..
=== Building rootfs ===
==== Debian ====
You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves.
==== Buildroot ====
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div>
In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]].
= Devices =
Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]]
Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399]
If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div>
If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details:
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div>
= See also =
= [http://opensource.rock-chips.com/wiki_Devices#RK3399_Boards RK3399 Devices List] =

Latest revision as of 01:43, 29 August 2019

Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.



RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.
Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.
Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.
RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications.


SoC Features

  • CPU:
    • Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
    • Frequency is over 1.8GHz (Big cluster)
    • L1 cache
      • 48KB Icache and 32KB Dcache for each A72
      • 32KB Icache and 32KB Dcache for each A53
    • L2 cache
      • 1024KB for big cluster
      • 512KB for little cluster
  • Internal SRAM
    • 192KB total
    • 4KB used by bootrom when bootup
  • GPU:
    •  Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
    • Supports AFBC (ARM Frame Buffer Compression)
  • Display:
    • Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
    • Dual channel MIPI-DSI (4 lanes per channel)
    • eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
    • HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
    • DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
    • Supports Rec.2020 and conversion to Rec.709
  • Camera:
    •  Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
  • Memory:
    • Dual channels 64-bit DRAM controller
    • Support DDR3/DDR3L, LPDDR3, LPDDR4
  • Connectivity:
    • PCIe 2.1 (4 full-duplex lanes with 20Gbps)
    • Embedded low power MCU for other application
    • 8 channels I2S supports 8 channels RX or 8 channels TX



  1. RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf
  2. RK3399 Linux Debian v1.1开发说明170620.pdf
  3. RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf
  4. RK3399_Linux_Buildroot_V1.2开发说明170619.pdf
  5. RK3399_Multimedia_Codec_Benchmark_v1.0.pdf


See Linux User Guide setup LInux OS generally;

See U-Boot guide to develop U-Boot;

See Rockchip kernel to develop kernel;

See buildroot and debian to develop and rootfs.


Chip configuration

chip Kernel eMMC index Kernel SD index Uboot eMMC index Uboot SD index Baud speed
RK3399 1 0 0 1 1500000


RK3399 Devices List