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.

../../_images/rockchip.png

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

https://github.com/tano-systems/meta-tanowrt.git

meta-tanowrt

kirkstone

kas/layers/meta-tanowrt.yml

meta-rockchip

https://github.com/JeffyCN/meta-rockchip.git

kirkstone

kas/layers/meta-rockchip.yml

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.

Table 17 Supported Rockchip SoC’s Based Boards

Board

SoC

RAM

Kernel Version(s)

Supported Storage(s)

Target YAML (at kas/targets)

Boardcon EM3566 SBC

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

boardcon-em3566-sd.yml

8 GB eMMC[1]

boardcon-em3566-emmc.yml

Boardcon EM3568 SBC

Model: Rockchip RK3568
Cores: 4 x Cortex-A55 ARM 64 bits
Frequency: up to 1.8 GHz

2 GiB LPDDR4

microSD card

boardcon-em3568-sd.yml

8 GB eMMC[1]

boardcon-em3568-emmc.yml

Radxa ROCK Pi S

Model: Rockchip RK3308
Cores: 4 x Cortex-A35 ARM 64 bits
Frequency: up to 1.3 GHz

up to 512 MiB DDR3

microSD card

rock-pi-s-sd.yml

SD NAND up to 8 GB

rock-pi-s-sdnand.yml

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.

Table 18 Default Partitions Layout (beginning)

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

Continuation of the disk (see Table 19 and Table 20)

The continuation of the disk with partitioning for A/B systems is summarized in Table 19.

Table 19 Continuation of the Partitions Layout for A/B Systems

Partition

Name

Offset

Size

GPT Number

UUID

Description

Bytes

Sectors

Bytes

Sectors

Beginning of the disk (see Table 18)

U-boot

boot

8388608

16384

8 MiB

16384

1

TANOWRT_PARTUUID_BOOT

A-TF, U-boot bootloader, Device Tree Blob

Kernel A

kernel_a

16777216

32768

64 MiB

131072

2

TANOWRT_PARTUUID_KERNELDEV_A

Linux kernel with DTB for system A.

Root filesystem A

rootfs_a

83886080

163840

384 MiB

786432

3

TANOWRT_PARTUUID_ROOTDEV_A

Read-only root filesystem for system A.

Kernel B

kernel_b

486539264

950272

64 MiB

131072

4

TANOWRT_PARTUUID_KERNELDEV_B

Linux kernel with DTB for system B.

Root filesystem B

rootfs_b

553648128

1081344

384 MiB

786432

5

TANOWRT_PARTUUID_ROOTDEV_B

Read-only root filesystem for system B.

Overlay filesystem

rootfs_data

956301312

1867776

all available space[2]

all available space

6

TANOWRT_PARTUUID_OVERLAY

Overlay filesystem (user data)

Secondary GPT

at end

at end

512

1

Secondary GPT record

Table 20 shows the continuation of the disk with partitioning for the factory installation image.

Table 20 Continuation of the Partitions Layout for Factory Installation Image

Partition

Name

Offset

Size

GPT Number

UUID

Description

Bytes

Sectors

Bytes

Sectors

Beginning of the disk (see Table 18)

U-boot

boot

8388608

16384

8 MiB

16384

1

TANOWRT_PARTUUID_BOOT

A-TF, U-boot bootloader, Device Tree Blob

Linux Kernel

kernel

16777216

32768

dynamic

dynamic

2

Linux kernel with DTB and factory installation initramfs.

Installation Partition

install

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.

Table 21 Available Linux Kernel Versions

Kernel Version

Kernel Type

Recipe

Preferred Provider Package Value[3]

Preferred Version Value[4]

Headers Version (libc)[5]

Notes

4.19.232

Standard

linux-tano-rockchip_4.19.bb

linux-tano-rockchip

4.19%

4.19-custom

4.19.232-rt104

PREEMPT_RT patch

linux-tano-rockchip-rt_4.19.bb

linux-tano-rockchip-rt

4.19%

4.19-custom

5.10.110

Standard

linux-tano-rockchip_5.10.bb

linux-tano-rockchip

5.10%

5.10-custom

Used by default

5.10.110-rt53

PREEMPT_RT patch

linux-tano-rockchip-rt_5.10.bb

linux-tano-rockchip-rt

5.10%

5.10-custom

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>

References

  1. Fuzhou Rockchip Electronics Official Site