From f2b4e6efde0e2e8ed9a15694d716add3eb4d14dc Mon Sep 17 00:00:00 2001 From: Quentin Schulz Date: Wed, 19 Oct 2022 10:45:00 +0200 Subject: [PATCH] add support for PX30 SoC Rockchip PX30 SoC is a quad-core ARM Cortex-A35 CPU fully implementing the ARMv8-A instruction set with ARM Neon Advanced SIMD and Cryptography Extensions. This adds a base configuration file which can be included by PX30-based boards and the required changes in U-Boot and TF-A for proper support. Cc: Quentin Schulz Signed-off-by: Quentin Schulz --- conf/machine/include/px30.inc | 21 +++++++++++++++++++ .../trusted-firmware-a_%.bbappend | 5 +++++ recipes-bsp/u-boot/u-boot%.bbappend | 2 ++ 3 files changed, 28 insertions(+) create mode 100644 conf/machine/include/px30.inc diff --git a/conf/machine/include/px30.inc b/conf/machine/include/px30.inc new file mode 100644 index 0000000..a3727fb --- /dev/null +++ b/conf/machine/include/px30.inc @@ -0,0 +1,21 @@ +# Copyright (C) 2022 Theobroma Systems Design und Consulting +# Released under the MIT license (see COPYING.MIT for the terms) + +SOC_FAMILY = "px30" + +DEFAULTTUNE ?= "cortexa35-crypto" + +require conf/machine/include/soc-family.inc +require conf/machine/include/arm/armv8a/tune-cortexa35.inc +require conf/machine/include/rockchip-defaults.inc +require conf/machine/include/rockchip-wic.inc + +KBUILD_DEFCONFIG ?= "defconfig" +KERNEL_CLASSES = "kernel-fitimage" +KERNEL_IMAGETYPE = "fitImage" + +TFA_PLATFORM = "px30" +TFA_BUILD_TARGET = "bl31" + +UBOOT_SUFFIX ?= "itb" +UBOOT_ENTRYPOINT ?= "0x06000000" diff --git a/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend b/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend index 31024ce..814028b 100644 --- a/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend +++ b/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend @@ -4,6 +4,7 @@ DEPENDS:append:rk3399 = " virtual/arm-none-eabi-gcc-native" COMPATIBLE_MACHINE:append:rk3399 = "|rk3399" COMPATIBLE_MACHINE:append:rk3328 = "|rk3328" +COMPATIBLE_MACHINE:append:px30 = "|px30" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" SRC_URI += "\ @@ -26,4 +27,8 @@ fixup_baudrate:rk3399() { sed -i "s/#define RK3399_BAUDRATE\s\+.*/#define RK3399_BAUDRATE ${RK_CONSOLE_BAUD}/" ${S}/plat/rockchip/rk3399/rk3399_def.h } +fixup_baudrate:px30() { + sed -i "s/#define PX30_BAUDRATE\s\+.*/#define PX30_BAUDRATE ${RK_CONSOLE_BAUD}/" ${S}/plat/rockchip/px30/px30_def.h +} + do_patch[postfuncs] += "fixup_baudrate" diff --git a/recipes-bsp/u-boot/u-boot%.bbappend b/recipes-bsp/u-boot/u-boot%.bbappend index 9108a36..de1f2ca 100644 --- a/recipes-bsp/u-boot/u-boot%.bbappend +++ b/recipes-bsp/u-boot/u-boot%.bbappend @@ -11,6 +11,8 @@ EXTRA_OEMAKE:append:rk3399 = " BL31=${DEPLOY_DIR_IMAGE}/bl31-rk3399.elf" ATF_DEPENDS:rk3399 = " trusted-firmware-a:do_deploy" EXTRA_OEMAKE:append:rk3328 = " BL31=${DEPLOY_DIR_IMAGE}/bl31-rk3328.elf" ATF_DEPENDS:rk3328 = " trusted-firmware-a:do_deploy" +EXTRA_OEMAKE:append:px30 = " BL31=${DEPLOY_DIR_IMAGE}/bl31-px30.elf" +ATF_DEPENDS:px30 = " trusted-firmware-a:do_deploy" do_compile[depends] .= "${ATF_DEPENDS}"