Rockchip SoC’s Hardware Support Layer (meta-tanowrt-hsl-rockchip)
meta-tanowrt-hsl-rockchip — TanoWrt hardware support layer (HSL) for the Fuzhou Rockchip Electronics SoC based boards.
Contents
Dependencies
Dependencies of the meta-tanowrt-hsl-rockchip layer are described in the table below.
Layer |
URI |
Subfolder |
Branch |
Configuration YML-file |
---|---|---|---|---|
meta-tanowrt |
kirkstone |
|||
meta-rockchip |
– |
kirkstone |
Supported Boards
TanoWrt has demonstration support for some devices and development boards based on Rockchip SoC’s. All supported devices are listed in the table below.
Board |
SoC |
RAM |
Kernel Version(s) |
Supported Storage(s) |
Target YAML
(at |
---|---|---|---|---|---|
Model: Rockchip RK3566
Cores: 4 x Cortex-A55 ARM 64 bits
Frequency: up to 1.8 GHz
|
2 GiB LPDDR4 |
4.19.232 (non-RT)
4.19.232-rt104 (RT)
5.10.110 (non-RT)
5.10.110-rt53 (RT)
|
microSD card |
||
8 GB eMMC[1] |
|||||
Model: Rockchip RK3568
Cores: 4 x Cortex-A55 ARM 64 bits
Frequency: up to 1.8 GHz
|
2 GiB LPDDR4 |
microSD card |
|||
8 GB eMMC[1] |
|||||
Model: Rockchip RK3308
Cores: 4 x Cortex-A35 ARM 64 bits
Frequency: up to 1.3 GHz
|
up to 512 MiB DDR3 |
microSD card |
|||
SD NAND up to 8 GB |
Partitioning Layouts
The Rockchip hardware support layer provides default disk partition layout for A/B systems and for the factory installation image. These layouts are defined in WKS files sdimage-rockchip-swu-a-b.wks.in and sdimage-rockchip-swu-factory.wks.in respectively.
Data layout at the beginning of the disk (from 0 to 8 MiB) is the same for both layouts and is described in Table 18.
Partition |
Name |
Offset |
Size |
GPT Number |
UUID |
Description |
||
---|---|---|---|---|---|---|---|---|
Bytes |
Sectors |
Bytes |
Sectors |
|||||
MBR |
– |
0 |
0 |
512 |
1 |
– |
– |
Master Boot Record (MBR) |
Primary GPT |
– |
512 |
1 |
31.5 KiB |
63 |
– |
– |
Primary GPT record |
IDBlock |
– |
32768 |
64 |
992 KiB |
1984 |
– |
– |
Rockchip IDBlock binary |
Free space |
– |
1048576 |
2048 |
2944 KiB |
5888 |
– |
– |
Free space |
Startup |
– |
4063232 |
7936 |
64 KiB |
128 |
– |
– |
U-boot startup script |
U-boot Environment 1 |
– |
4128768 |
8064 |
32 KiB |
64 |
– |
– |
U-boot environment |
U-boot Environment 2 |
– |
4161536 |
8128 |
32 KiB |
64 |
– |
– |
U-boot environment (redundand) |
Free space |
– |
4194304 |
8192 |
4 MiB |
8192 |
– |
– |
Free space |
The continuation of the disk with partitioning for A/B systems is summarized in Table 19.
Partition |
Name |
Offset |
Size |
GPT Number |
UUID |
Description |
||
---|---|---|---|---|---|---|---|---|
Bytes |
Sectors |
Bytes |
Sectors |
|||||
Beginning of the disk (see Table 18) |
||||||||
U-boot |
|
8388608 |
16384 |
8 MiB |
16384 |
1 |
A-TF, U-boot bootloader, Device Tree Blob |
|
Kernel A |
|
16777216 |
32768 |
64 MiB |
131072 |
2 |
Linux kernel with DTB for system A. |
|
Root filesystem A |
|
83886080 |
163840 |
384 MiB |
786432 |
3 |
Read-only root filesystem for system A. |
|
Kernel B |
|
486539264 |
950272 |
64 MiB |
131072 |
4 |
Linux kernel with DTB for system B. |
|
Root filesystem B |
|
553648128 |
1081344 |
384 MiB |
786432 |
5 |
Read-only root filesystem for system B. |
|
Overlay filesystem |
|
956301312 |
1867776 |
all available space[2] |
all available space |
6 |
Overlay filesystem (user data) |
|
Secondary GPT |
– |
at end |
at end |
512 |
1 |
– |
– |
Secondary GPT record |
Partition is automatically resized to fit all available disk space at first boot.
Table 20 shows the continuation of the disk with partitioning for the factory installation image.
Partition |
Name |
Offset |
Size |
GPT Number |
UUID |
Description |
||
---|---|---|---|---|---|---|---|---|
Bytes |
Sectors |
Bytes |
Sectors |
|||||
Beginning of the disk (see Table 18) |
||||||||
U-boot |
|
8388608 |
16384 |
8 MiB |
16384 |
1 |
A-TF, U-boot bootloader, Device Tree Blob |
|
Linux Kernel |
|
16777216 |
32768 |
dynamic |
dynamic |
2 |
– |
Linux kernel with DTB and factory installation initramfs. |
Installation Partition |
|
dynamic |
dynamic |
dynamic |
dynamic |
3 |
– |
Partition with installation images. |
Secondary GPT |
– |
at end |
at end |
512 |
1 |
– |
– |
Secondary GPT record |
Configuration
Optionally you can customize some build options in local.conf
configuration file (see Local Configuration section).
Kernel Version
The hardware support layer for Rockchip SoC’s contains recipes for several versions of the Linux kernel. Available versions of the Linux kernel are listed in the table below.
Kernel Version |
Kernel Type |
Recipe |
Preferred Provider Package Value[3] |
Preferred Version Value[4] |
Headers Version (libc)[5] |
Notes |
---|---|---|---|---|---|---|
4.19.232 |
Standard |
|
|
|
||
4.19.232-rt104 |
PREEMPT_RT patch |
|
|
|
||
5.10.110 |
Standard |
|
|
|
Used by default |
|
5.10.110-rt53 |
PREEMPT_RT patch |
|
|
|
This value should be used for variable PREFERRED_PROVIDER_virtual/kernel
.
This value should be used for variable PREFERRED_VERSION_<kernel-package>
, where
<kernel-package>
must be replaced with the value of the PREFERRED_PROVIDER_virtual/kernel
variable.
This value should be user for variable LINUXLIBCVERSION
.
To choose the kernel version, you need to set variable PREFERRED_PROVIDER_virtual/kernel
in the local configuration file local.conf
to required
Linux kernel package recipe and set variable PREFERRED_VERSION_<kernel-package>
to required
kernel version. The values of these variables for the available kernel versions are shown
in Table 21.
For example, to choose the Linux kernel version 4.19.232-rt104, the variables
in the local.conf
must be set as follows:
PREFERRED_PROVIDER_virtual/kernel = "linux-tano-rockchip-rt"
PREFERRED_VERSION_linux-tano-rockchip-rt = "4.19%"
LINUXLIBCVERSION = "4.19-custom"
License
All metadata is MIT licensed unless otherwise stated.
Source code included in tree for individual recipes is under the
LICENSE stated in each recipe (.bb
file) unless otherwise stated.
Maintainers
Anton Kikin <a.kikin@tano-systems.com>