mirror of
git://git.yoctoproject.org/meta-rockchip.git
synced 2025-07-04 20:54:48 +02:00
rock-5b: add
Add support for the Radxa Rock 5B https://wiki.radxa.com/Rock5/5b The device-tree for this board is better in the 6.5 (and later) kernels, therefore set the kernel to linux-yocto-dev for now (eventually this won't be needed as linux-yocto moves forward). Unfortunately the TF-A project does not currently have support for the rk3588. Therefore, for the time-being, the only way to supply a TPL/DDR-init for the rk3588 is to use the closed-source rkbin binaries from Rockchip. If/when TF-A adds support for the rk3588 we can investigate switching. The rk3588 comes in two variants: rk3588 and rk3588s. The "s" option is a stripped-down version of the rk3588. In the Linux kernel these two SoCs are kept separate, with the rk3588 building on the rk3588s, so we've mimicked that same behaviour here. Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
This commit is contained in:
parent
4e9d72d659
commit
f8af59dd7c
1
README
1
README
|
@ -30,6 +30,7 @@ Status of supported boards:
|
|||
vyasa-rk3288
|
||||
firefly-rk3288
|
||||
nanopi-r4s
|
||||
rock-5b
|
||||
builds:
|
||||
marsboard-rk3066
|
||||
radxarock
|
||||
|
|
6
conf/machine/include/rk3588.inc
Normal file
6
conf/machine/include/rk3588.inc
Normal file
|
@ -0,0 +1,6 @@
|
|||
MACHINEOVERRIDES =. "rk3588:"
|
||||
|
||||
# the rk3588s is a "stripped-down" version of the rk3588
|
||||
# in the kernel's device-tree the rk3588 builds on top of the rk3588s
|
||||
# so anything that is valid for the rk3588s is valid for the rk3588
|
||||
require conf/machine/include/rk3588s.inc
|
17
conf/machine/include/rk3588s.inc
Normal file
17
conf/machine/include/rk3588s.inc
Normal file
|
@ -0,0 +1,17 @@
|
|||
MACHINEOVERRIDES =. "rk3588s:"
|
||||
DEFAULTTUNE ?= "cortexa76-cortexa55-crypto"
|
||||
|
||||
require conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc
|
||||
require conf/machine/include/rockchip-defaults.inc
|
||||
require conf/machine/include/rockchip-wic.inc
|
||||
|
||||
KBUILD_DEFCONFIG ?= "defconfig"
|
||||
KERNEL_FEATURES:append:rk3588s = " bsp/rockchip/remove-non-rockchip-arch-arm64.scc"
|
||||
KERNEL_CLASSES = "kernel-fitimage"
|
||||
KERNEL_IMAGETYPE = "fitImage"
|
||||
|
||||
PREFERRED_PROVIDER_trusted-firmware-a = "rockchip-rkbin"
|
||||
PREFERRED_PROVIDER_optee-os = "rockchip-rkbin"
|
||||
|
||||
UBOOT_SUFFIX ?= "itb"
|
||||
UBOOT_ENTRYPOINT ?= "0x06000000"
|
12
conf/machine/rock-5b.conf
Normal file
12
conf/machine/rock-5b.conf
Normal file
|
@ -0,0 +1,12 @@
|
|||
#@TYPE: Machine
|
||||
#@NAME: Radxa Rock 5B
|
||||
#@DESCRIPTION: ROCK5 is the 5th generation of SBC designed by Radxa.
|
||||
#https://wiki.radxa.com/Rock5/5b
|
||||
|
||||
require conf/machine/include/rk3588.inc
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
|
||||
KERNEL_DEVICETREE = "rockchip/rk3588-rock-5b.dtb"
|
||||
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
|
||||
|
||||
UBOOT_MACHINE = "rock5b-rk3588_defconfig"
|
37
recipes-bsp/rkbin/rockchip-rkbin_git.bb
Normal file
37
recipes-bsp/rkbin/rockchip-rkbin_git.bb
Normal file
|
@ -0,0 +1,37 @@
|
|||
DESCRIPTION = "Rockchip Firmware and Tool Binaries"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=15faa4a01e7eb0f5d33f9f2bcc7bff62"
|
||||
|
||||
SRC_URI = "git://github.com/rockchip-linux/rkbin;protocol=https;branch=master"
|
||||
SRCREV = "b4558da0860ca48bf1a571dd33ccba580b9abe23"
|
||||
|
||||
PROVIDES += "trusted-firmware-a"
|
||||
PROVIDES += "optee-os"
|
||||
|
||||
inherit bin_package deploy
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
COMPATIBLE_MACHINE = ""
|
||||
COMPATIBLE_MACHINE:rk3588s = "rk3588s"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
do_install() {
|
||||
# Nothing in this recipe is useful in a filesystem
|
||||
:
|
||||
}
|
||||
|
||||
PACKAGES = "${PN}"
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
|
||||
do_deploy() {
|
||||
# Prebuilt TF-A
|
||||
install -m 644 ${S}/bin/rk35/rk3588_bl31_v*.elf ${DEPLOYDIR}/bl31-rk3588.elf
|
||||
# Prebuilt OPTEE-OS
|
||||
install -m 644 ${S}/bin/rk35/rk3588_bl32_v*.bin ${DEPLOYDIR}/tee-rk3588.bin
|
||||
# Prebuilt U-Boot TPL (DDR init)
|
||||
install -m 644 ${S}/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v*.bin ${DEPLOYDIR}/ddr-rk3588.bin
|
||||
}
|
||||
|
||||
addtask deploy after do_install
|
|
@ -11,6 +11,12 @@ DEPENDS:append = " python3-pyelftools-native"
|
|||
|
||||
INIT_FIRMWARE_DEPENDS ??= ""
|
||||
|
||||
EXTRA_OEMAKE:append:rk3588s = " \
|
||||
BL31=${DEPLOY_DIR_IMAGE}/bl31-rk3588.elf \
|
||||
ROCKCHIP_TPL=${DEPLOY_DIR_IMAGE}/ddr-rk3588.bin \
|
||||
"
|
||||
INIT_FIRMWARE_DEPENDS:rk3588s = " rockchip-rkbin:do_deploy"
|
||||
|
||||
EXTRA_OEMAKE:append:rk3399 = " BL31=${DEPLOY_DIR_IMAGE}/bl31-rk3399.elf"
|
||||
INIT_FIRMWARE_DEPENDS:rk3399 = " trusted-firmware-a:do_deploy"
|
||||
EXTRA_OEMAKE:append:rk3328 = " BL31=${DEPLOY_DIR_IMAGE}/bl31-rk3328.elf"
|
||||
|
|
3
recipes-kernel/linux/linux-yocto-dev.bbappend
Normal file
3
recipes-kernel/linux/linux-yocto-dev.bbappend
Normal file
|
@ -0,0 +1,3 @@
|
|||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
COMPATIBLE_MACHINE:rock-5b = "rock-5b"
|
||||
SRC_URI:append:rock-5b = " file://rockchip-kmeta;type=kmeta;name=rockchip-kmeta;destsuffix=rockchip-kmeta"
|
|
@ -0,0 +1,85 @@
|
|||
CONFIG_ARCH_ACTIONS=n
|
||||
CONFIG_ARCH_AIROHA=n
|
||||
CONFIG_ARCH_ALPINE=n
|
||||
CONFIG_ARCH_ARTPEC=n
|
||||
CONFIG_ARCH_ASPEED=n
|
||||
CONFIG_ARCH_AT91=n
|
||||
CONFIG_ARCH_BCM2835=n
|
||||
CONFIG_ARCH_BCM=n
|
||||
CONFIG_ARCH_BCMBCA=n
|
||||
CONFIG_ARCH_BCMBCA_BRAHMAB15=n
|
||||
CONFIG_ARCH_BCMBCA_CORTEXA7=n
|
||||
CONFIG_ARCH_BCMBCA_CORTEXA9=n
|
||||
CONFIG_ARCH_BCM_21664=n
|
||||
CONFIG_ARCH_BCM_23550=n
|
||||
CONFIG_ARCH_BCM_281XX=n
|
||||
CONFIG_ARCH_BCM_5301X=n
|
||||
CONFIG_ARCH_BCM_53573=n
|
||||
CONFIG_ARCH_BCM_CYGNUS=n
|
||||
CONFIG_ARCH_BCM_HR2=n
|
||||
CONFIG_ARCH_BCM_NSP=n
|
||||
CONFIG_ARCH_BERLIN=n
|
||||
CONFIG_ARCH_BRCMSTB=n
|
||||
CONFIG_ARCH_DIGICOLOR=n
|
||||
CONFIG_ARCH_EMEV2=n
|
||||
CONFIG_ARCH_EXYNOS=n
|
||||
CONFIG_ARCH_HI3xxx=n
|
||||
CONFIG_ARCH_HIGHBANK=n
|
||||
CONFIG_ARCH_HIP01=n
|
||||
CONFIG_ARCH_HIP04=n
|
||||
CONFIG_ARCH_HISI=n
|
||||
CONFIG_ARCH_HIX5HD2=n
|
||||
CONFIG_ARCH_HPE=n
|
||||
CONFIG_ARCH_HPE_GXP=n
|
||||
CONFIG_ARCH_INTEL_SOCFPGA=n
|
||||
CONFIG_ARCH_KEYSTONE=n
|
||||
CONFIG_ARCH_MEDIATEK=n
|
||||
CONFIG_ARCH_MESON=n
|
||||
CONFIG_ARCH_MILBEAUT=n
|
||||
CONFIG_ARCH_MILBEAUT_M10V=n
|
||||
CONFIG_ARCH_MMP=n
|
||||
CONFIG_ARCH_MSM8916=n
|
||||
CONFIG_ARCH_MSM8960=n
|
||||
CONFIG_ARCH_MSM8974=n
|
||||
CONFIG_ARCH_MSM8X60=n
|
||||
CONFIG_ARCH_MVEBU=n
|
||||
CONFIG_ARCH_MXC=n
|
||||
CONFIG_ARCH_OMAP3=n
|
||||
CONFIG_ARCH_OMAP4=n
|
||||
CONFIG_ARCH_QCOM=n
|
||||
CONFIG_ARCH_R7S72100=n
|
||||
CONFIG_ARCH_R7S9210=n
|
||||
CONFIG_ARCH_R8A73A4=n
|
||||
CONFIG_ARCH_R8A7740=n
|
||||
CONFIG_ARCH_R8A7742=n
|
||||
CONFIG_ARCH_R8A7743=n
|
||||
CONFIG_ARCH_R8A7744=n
|
||||
CONFIG_ARCH_R8A7745=n
|
||||
CONFIG_ARCH_R8A77470=n
|
||||
CONFIG_ARCH_R8A7778=n
|
||||
CONFIG_ARCH_R8A7779=n
|
||||
CONFIG_ARCH_R8A7790=n
|
||||
CONFIG_ARCH_R8A7791=n
|
||||
CONFIG_ARCH_R8A7792=n
|
||||
CONFIG_ARCH_R8A7793=n
|
||||
CONFIG_ARCH_R8A7794=n
|
||||
CONFIG_ARCH_R9A06G032=n
|
||||
CONFIG_ARCH_RENESAS=n
|
||||
CONFIG_ARCH_SH73A0=n
|
||||
CONFIG_ARCH_SPEAR13XX=n
|
||||
CONFIG_ARCH_STI=n
|
||||
CONFIG_ARCH_STM32=n
|
||||
CONFIG_ARCH_SUNPLUS=n
|
||||
CONFIG_ARCH_SUNXI=n
|
||||
CONFIG_ARCH_TEGRA=n
|
||||
CONFIG_ARCH_TEGRA_114_SOC=n
|
||||
CONFIG_ARCH_TEGRA_124_SOC=n
|
||||
CONFIG_ARCH_TEGRA_2x_SOC=n
|
||||
CONFIG_ARCH_TEGRA_3x_SOC=n
|
||||
CONFIG_ARCH_U8500=n
|
||||
CONFIG_ARCH_UNIPHIER=n
|
||||
CONFIG_ARCH_VEXPRESS=n
|
||||
CONFIG_ARCH_VEXPRESS_TC2_PM=n
|
||||
CONFIG_ARCH_VIRT=n
|
||||
CONFIG_ARCH_WM8850=n
|
||||
CONFIG_ARCH_ZYNQ=n
|
|
@ -0,0 +1 @@
|
|||
kconf hardware remove-non-rockchip-arch-arm.cfg
|
|
@ -0,0 +1,66 @@
|
|||
CONFIG_ARCH_ACTIONS=n
|
||||
CONFIG_ARCH_ALPINE=n
|
||||
CONFIG_ARCH_APPLE=n
|
||||
CONFIG_ARCH_BCM2835=n
|
||||
CONFIG_ARCH_BCM=n
|
||||
CONFIG_ARCH_BCMBCA=n
|
||||
CONFIG_ARCH_BCM_IPROC=n
|
||||
CONFIG_ARCH_BERLIN=n
|
||||
CONFIG_ARCH_BRCMSTB=n
|
||||
CONFIG_ARCH_EXYNOS=n
|
||||
CONFIG_ARCH_SPARX5=n
|
||||
CONFIG_ARCH_HISI=n
|
||||
CONFIG_ARCH_INTEL_SOCFPGA=n
|
||||
CONFIG_ARCH_K3=n
|
||||
CONFIG_ARCH_KEEMBAY=n
|
||||
CONFIG_ARCH_LAYERSCAPE=n
|
||||
CONFIG_ARCH_LG1K=n
|
||||
CONFIG_ARCH_MEDIATEK=n
|
||||
CONFIG_ARCH_MESON=n
|
||||
CONFIG_ARCH_MVEBU=n
|
||||
CONFIG_ARCH_MXC=n
|
||||
CONFIG_ARCH_NPCM=n
|
||||
CONFIG_ARCH_NXP=n
|
||||
CONFIG_ARCH_MA35=n
|
||||
CONFIG_ARCH_QCOM=n
|
||||
CONFIG_ARCH_REALTEK=n
|
||||
CONFIG_ARCH_R8A774A1=n
|
||||
CONFIG_ARCH_R8A774B1=n
|
||||
CONFIG_ARCH_R8A774C0=n
|
||||
CONFIG_ARCH_R8A774E1=n
|
||||
CONFIG_ARCH_R8A77951=n
|
||||
CONFIG_ARCH_R8A77960=n
|
||||
CONFIG_ARCH_R8A77961=n
|
||||
CONFIG_ARCH_R8A77965=n
|
||||
CONFIG_ARCH_R8A77970=n
|
||||
CONFIG_ARCH_R8A77980=n
|
||||
CONFIG_ARCH_R8A77990=n
|
||||
CONFIG_ARCH_R8A77995=n
|
||||
CONFIG_ARCH_R8A779A0=n
|
||||
CONFIG_ARCH_R8A779F0=n
|
||||
CONFIG_ARCH_R8A779G0=n
|
||||
CONFIG_ARCH_R9A07G043=n
|
||||
CONFIG_ARCH_R9A07G044=n
|
||||
CONFIG_ARCH_R9A07G054=n
|
||||
CONFIG_ARCH_R9A09G011=n
|
||||
CONFIG_ARCH_RENESAS=n
|
||||
CONFIG_ARCH_S32=n
|
||||
CONFIG_ARCH_SEATTLE=n
|
||||
CONFIG_ARCH_STM32=n
|
||||
CONFIG_ARCH_SPRD=n
|
||||
CONFIG_ARCH_SUNXI=n
|
||||
CONFIG_ARCH_SYNQUACER=n
|
||||
CONFIG_ARCH_TEGRA=n
|
||||
CONFIG_ARCH_TEGRA_132_SOC=n
|
||||
CONFIG_ARCH_TEGRA_186_SOC=n
|
||||
CONFIG_ARCH_TEGRA_194_SOC=n
|
||||
CONFIG_ARCH_TEGRA_210_SOC=n
|
||||
CONFIG_ARCH_TEGRA_234_SOC=n
|
||||
CONFIG_ARCH_TESLA_FSD=n
|
||||
CONFIG_ARCH_THUNDER2=n
|
||||
CONFIG_ARCH_THUNDER=n
|
||||
CONFIG_ARCH_UNIPHIER=n
|
||||
CONFIG_ARCH_VEXPRESS=n
|
||||
CONFIG_ARCH_VISCONTI=n
|
||||
CONFIG_ARCH_XGENE=n
|
||||
CONFIG_ARCH_ZYNQMP=n
|
|
@ -0,0 +1 @@
|
|||
kconf hardware remove-non-rockchip-arch-arm64.cfg
|
Loading…
Reference in New Issue
Block a user