diff --git a/README b/README index b21e923..a9a040a 100644 --- a/README +++ b/README @@ -40,6 +40,7 @@ Status of supported boards: orangepi-5-plus rock-3a rock-4c-plus + radxa-zero-3e builds: marsboard-rk3066 radxarock diff --git a/conf/machine/include/rk3566.inc b/conf/machine/include/rk3566.inc new file mode 100644 index 0000000..586d688 --- /dev/null +++ b/conf/machine/include/rk3566.inc @@ -0,0 +1,21 @@ +SOC_FAMILY = "rk3566" + +DEFAULTTUNE ?= "cortexa55" + +ROCKCHIP_CLOSED_TPL ?= "1" + +require conf/machine/include/soc-family.inc +require conf/machine/include/rockchip-defaults.inc +require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc +require conf/machine/include/rockchip-wic.inc + +KBUILD_DEFCONFIG ?= "defconfig" +KERNEL_FEATURES:append:rk3566 = " 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" diff --git a/conf/machine/radxa-zero-3e.conf b/conf/machine/radxa-zero-3e.conf new file mode 100644 index 0000000..3a39d6c --- /dev/null +++ b/conf/machine/radxa-zero-3e.conf @@ -0,0 +1,12 @@ +#@TYPE: Machine +#@NAME: Radxa Zero 3E +#@DESCRIPTION: The Radxa ZERO 3e is an ultra-small, high-performance single board computer based on the Rockchip RK3566, with a compact form factor, and rich interfaces. +#http://radxa.com/products/zeros/zero3e/ + +require conf/machine/include/rk3566.inc + +PREFERRED_PROVIDER_virtual/kernel = "linux-torvalds-next" +KERNEL_DEVICETREE = "rockchip/rk3566-radxa-zero-3e.dtb" +MACHINE_EXTRA_RRECOMMENDS += "kernel-modules" + +UBOOT_MACHINE = "radxa-zero-3-rk3566_defconfig" diff --git a/recipes-bsp/rkbin/rockchip-rkbin_git.bb b/recipes-bsp/rkbin/rockchip-rkbin_git.bb index f9724dd..1b71414 100644 --- a/recipes-bsp/rkbin/rockchip-rkbin_git.bb +++ b/recipes-bsp/rkbin/rockchip-rkbin_git.bb @@ -14,6 +14,7 @@ S = "${WORKDIR}/git" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:rk3308 = "rk3308" +COMPATIBLE_MACHINE:rk3566 = "rk3566" COMPATIBLE_MACHINE:rk3568 = "rk3568" COMPATIBLE_MACHINE:rk3588s = "rk3588s" @@ -36,6 +37,17 @@ do_deploy:rk3308() { install -m 644 ${S}/bin/rk33/rk3308_ddr_589MHz_uart?_m0_v*.bin ${DEPLOYDIR}/ddr-rk3308.bin } +# NOTE: the following are not typos +# the rk3566 uses the same bl31/2 as the rk3568 +do_deploy:rk3566() { + # Prebuilt TF-A + install -m 644 ${S}/bin/rk35/rk3568_bl31_v*.elf ${DEPLOYDIR}/bl31-rk3566.elf + # Prebuilt OPTEE-OS + install -m 644 ${S}/bin/rk35/rk3568_bl32_v*.bin ${DEPLOYDIR}/tee-rk3566.bin + # Prebuilt U-Boot TPL (DDR init) + install -m 644 ${S}/bin/rk35/rk3566_ddr_1056MHz_v1.21.bin ${DEPLOYDIR}/ddr-rk3566.bin +} + do_deploy:rk3568() { # Prebuilt TF-A install -m 644 ${S}/bin/rk35/rk3568_bl31_v*.elf ${DEPLOYDIR}/bl31-rk3568.elf diff --git a/recipes-bsp/u-boot/u-boot_%.bbappend b/recipes-bsp/u-boot/u-boot_%.bbappend index 1f5f634..e1ee17e 100644 --- a/recipes-bsp/u-boot/u-boot_%.bbappend +++ b/recipes-bsp/u-boot/u-boot_%.bbappend @@ -2,6 +2,10 @@ require u-boot-rockchip.inc FILESEXTRAPATHS:prepend := "${THISDIR}/files:" +SRC_URI:radxa-zero-3e = "git://github.com/Kwiboo/u-boot-rockchip.git;protocol=https;branch=rk3xxx-2024.07;name=Kwiboo" +SRCREV:radxa-zero-3e = "8cdf606e616baa36751f3b4adcfaefc781126c8c" +SRCREV:radxa-zero-3e:rk-u-boot-env = "8cdf606e616baa36751f3b4adcfaefc781126c8c" + SRC_URI:append:rk-u-boot-env = " file://rockchip-enable-environment-mmc.cfg" SRCREV:rk-u-boot-env = "cdfcc37428e06f4730ab9a17cc084eeb7676ea1a" diff --git a/recipes-kernel/linux/linux-torvalds-next_git.bb b/recipes-kernel/linux/linux-torvalds-next_git.bb new file mode 100644 index 0000000..a932f53 --- /dev/null +++ b/recipes-kernel/linux/linux-torvalds-next_git.bb @@ -0,0 +1,23 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto-dev:" + +DESCRIPTION = "Linux Kernel" +SECTION = "kernel" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" + +DEFAULT_PREFERENCE = "-1" +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:radxa-zero-3e = "radxa-zero-3e" + +LINUX_VERSION = "6.10-rc3" +PV = "${LINUX_VERSION}+git${SRCPV}" +SRC_URI = " \ + git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git;protocol=https;branch=master \ + file://rockchip-kmeta;type=kmeta;name=rockchip-kmeta;destsuffix=rockchip-kmeta \ + " +# this is tag 'next-20240611' +SRCREV = "a957267fa7e9159d3d2ee1421359ebf228570c68" + +inherit kernel +inherit kernel-yocto +require recipes-kernel/linux/linux-yocto.inc