Difference between revisions of "RK3399"

From Rockchip open source Document
Jump to: navigation, search
 
(90 intermediate revisions by 6 users not shown)
Line 2: Line 2:
 
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
 
Rockchip RK3399 SoC integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with ARM Mali-T864 GPU.
  
 
+
{| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;"
 
 
{| cellspacing="5" class="infobox" style="width:22em;"
 
 
|-
 
|-
! colspan="2" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;" | A31
+
| [[File:RK3399 Soc.png|RTENOTITLE]]
|-
 
| colspan="2" style="text-align:center;" | <a href="[https://linux-sunxi.org/File:Allwinner_A31s.jpg https://linux-sunxi.org/File:Allwinner_A31s.jpg]" class="image"><img alt="Allwinner A31s.jpg" src="./A31 - linux-sunxi.org_files/Allwinner_A31s.jpg" width="250" height="250"></a>
 
|-
 
! scope="row" style="text-align:left;" | Manufacturer
 
| style="" | Allwinner
 
|-
 
! scope="row" style="text-align:left;" | Process
 
| style="" | 40nm
 
|-
 
! scope="row" style="text-align:left;" | CPU
 
| style="" | Quad-Core ARM Cortex-A7
 
|-
 
! scope="row" style="text-align:left;" | Memory
 
| style="" | 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)
 
|-
 
! scope="row" style="text-align:left;" | GPU
 
| style="" | SGX544
 
|-
 
! colspan="2" style="text-align:center; background: #dedede;" | Connectivity
 
|-
 
! scope="row" style="text-align:left;" | Video
 
| style="" | HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD
 
|-
 
! scope="row" style="text-align:left;" | Audio
 
| style="" | I2S, PCM
 
|-
 
! scope="row" style="text-align:left;" | Storage
 
| style="" | 4x SD Card, eMMC NAND, 2-channel raw NAND
 
|-
 
! scope="row" style="text-align:left;" | USB
 
| style="" | OTG, 2x Host
 
|-
 
! scope="row" style="text-align:left;" | Release Date
 
| style="" | December 2012
 
|-
 
! scope="row" style="text-align:left;" | Website
 
| style="" | <a rel="nofollow" class="external text" href="[http://www.allwinnertech.com/en/product/A31.html http://www.allwinnertech.com/en/product/A31.html]">Product Page</a>
 
 
|}
 
|}
  
Line 54: Line 15:
 
= SoC Features =
 
= SoC Features =
  
 +
{| border="0" cellpadding="1" cellspacing="1" style="width: 972px;"
 +
|-
 +
| style="width: 530px;" |
 
*CPU:  
 
*CPU:  
 
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU  
 
**Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU  
**Frequency is over 1.8GHz (Big cluster)   
+
**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:  
 
*GPU:  
 
**&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11  
 
**&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11  
Line 77: Line 50:
 
**8 channels I2S supports 8 channels RX or 8 channels TX   
 
**8 channels I2S supports 8 channels RX or 8 channels TX   
  
&nbsp;
+
| style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]]
 
+
|}
= History =
 
 
 
&nbsp;
 
 
 
&nbsp;
 
 
 
&nbsp;
 
 
 
&nbsp;
 
 
 
&nbsp;
 
 
 
&nbsp;
 
  
 
&nbsp;
 
&nbsp;
Line 98: Line 58:
 
= Documentation =
 
= Documentation =
  
#[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf 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]
#[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide]  
+
#[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf]  
#[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24]
+
#[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]
 +
#[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]  
 +
#[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]]&nbsp;setup LInux OS generally;
 +
 
 +
See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot;
  
{| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;"
+
See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;to develop kernel;
|-
 
| style="width: 119px; text-align: center;" | '''board'''
 
| style="width: 172px; text-align: center;" | '''kernel'''
 
| style="width: 124px; text-align: center;" | '''uboot'''
 
| 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
 
|}
 
  
&nbsp;
+
See [[Buildroot|buildroot and]] [[Debian|debian&nbsp;to]] develop and rootfs.
  
 
&nbsp;
 
&nbsp;
Line 125: Line 78:
 
== Chip configuration ==
 
== Chip configuration ==
  
{| border="1" cellpadding="1" cellspacing="1" style="width: 859px;"
+
{| 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'''
| style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
+
! style="width: 181px; text-align: center;" | '''Kernel eMMC index'''
| style="width: 142px; text-align: center;" | '''Kernel SD index'''
+
! style="width: 142px; text-align: center;" | '''Kernel SD index'''
| style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
+
! style="width: 158px; text-align: center;" | '''Uboot eMMC index'''
| style="width: 146px; text-align: center;" | '''Uboot SD index'''
+
! style="width: 146px; text-align: center;" | '''Uboot SD index'''
| style="width: 132px; text-align: center;" | '''Baud speed'''
+
! style="width: 132px; text-align: center;" | '''Baud speed'''
 
|-
 
|-
 
| style="width: 68px; text-align: center;" | RK3399
 
| style="width: 68px; text-align: center;" | RK3399
Line 141: 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.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github.
 
 
RK3399 optimized Debian & Buildroot
 
<pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml
 
repo sync
 
</pre>
 
 
== 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:<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
 
 
Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp;
 
 
$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev
 
 
=== Installing the build tools and download source ===
 
 
Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source.
 
  
 
&nbsp;
 
&nbsp;
  
=== Building kernel ===
 
 
For ARM V8 (RK3399 optimized SDK)
 
<pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig
 
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre>
 
 
=== Building uboot ===
 
  
For RK3399 optimized SDK (rkproduct uboot)
+
= [http://opensource.rock-chips.com/wiki_Devices#RK3399_Boards RK3399 Devices List] =
<pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre>
 
  
 
&nbsp;
 
&nbsp;
  
=== Building rootfs ===
+
= References =
  
==== Debian ====
+
[https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72]
  
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.
+
[http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html]
  
&nbsp;
+
[https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php]
 
 
==== Buildroot ====
 
 
 
you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves.
 
 
 
&nbsp;
 
 
 
= Devices =
 
 
 
If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information.
 
<pre>Telephone: 4007700590    Email: service@rock-chips.com</pre>
 
 
 
= See also =
 
 
 
[[RK3288|RK3288]]
 
 
 
[[RK3328|RK3328]]
 
 
 
= Owners of the SoC on IRC =
 
 
 
= Commuity Support =
 
 
 
= References =
 
 
 
= Exteneral Links =
 
 
 
&nbsp;
 

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.

RTENOTITLE

Overview

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
RTENOTITLE

 


Documentation

  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

Software

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

 

References

https://en.wikipedia.org/wiki/ARM_Cortex-A72

http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html

https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php