summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/machine/aquila-am69-k3r5.conf26
-rw-r--r--conf/machine/aquila-am69.conf79
-rw-r--r--conf/machine/verdin-am62-k3r5.conf8
-rw-r--r--recipes-bsp/ti-sci-fw/ti-sci-fw_git.bbappend23
-rw-r--r--recipes-bsp/u-boot/u-boot-toradex-ti_2023.04.bb13
5 files changed, 114 insertions, 35 deletions
diff --git a/conf/machine/aquila-am69-k3r5.conf b/conf/machine/aquila-am69-k3r5.conf
new file mode 100644
index 0000000..1936224
--- /dev/null
+++ b/conf/machine/aquila-am69-k3r5.conf
@@ -0,0 +1,26 @@
+#@TYPE: Machine
+#@NAME: Toradex Aquila AM69 (R5F)
+#@DESCRIPTION: Machine configuration for Toradex Aquila AM69 SoM (R5F core)
+#@MAINTAINER: Max Krummenacher <max.krummenacher@toradex.com>
+
+MACHINE_NAME = "Aquila-AM69"
+
+require conf/machine/include/k3r5.inc
+
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot-toradex-ti"
+PREFERRED_PROVIDER_u-boot = "u-boot-toradex-ti"
+PREFERRED_PROVIDER_virtual/bootloader:upstream = "u-boot-toradex"
+PREFERRED_PROVIDER_u-boot:upstream = "u-boot-toradex"
+PREFERRED_VERSION_u-boot-toradex:upstream = "mainline"
+
+SYSFW_SOC = "am69"
+SYSFW_CONFIG = "aquila"
+SYSFW_SUFFIX = "hs-fs"
+
+UBOOT_DFU_CONFIG = "dfu-r5"
+# The DFU config does not (yet) exist in upstream. It is needed only
+# if booting from DFU/USB.
+UBOOT_DFU_CONFIG:upstream = ""
+UBOOT_CONFIG ??= "${UBOOT_DFU_CONFIG} sd-r5"
+UBOOT_CONFIG[dfu-r5] = "aquila-am69_r5_usbdfu_defconfig,dfu,spl/u-boot-spl.bin"
+UBOOT_CONFIG[sd-r5] = "aquila-am69_r5_defconfig,sdcard,spl/u-boot-spl.bin"
diff --git a/conf/machine/aquila-am69.conf b/conf/machine/aquila-am69.conf
new file mode 100644
index 0000000..9488870
--- /dev/null
+++ b/conf/machine/aquila-am69.conf
@@ -0,0 +1,79 @@
+#@TYPE: Machine
+#@NAME: Toradex Aquila AM69
+#@DESCRIPTION: Machine configuration for Toradex Aquila AM69 SoM
+#@MAINTAINER: Max Krummenacher <max.krummenacher@toradex.com>
+
+MACHINE_NAME = "Aquila-AM69"
+MACHINE_FEATURES:remove = "efi"
+MACHINE_FEATURES:append = " tpm2"
+
+require conf/machine/tdx-utilities.inc
+require conf/machine/include/j784s4.inc
+
+TFA_K3_USART = "0x8"
+OPTEE_K3_USART = "0x8"
+
+do_image[mcdepends] = "mc::k3r5:virtual/bootloader:do_deploy"
+
+# cope with our changed tiboot3 file names vs. the hardcoded TI AM69 SK-EVM ones
+IMAGE_BOOT_FILES:remove = "\
+ tiboot3-j784s4-gp-evm.bin \
+ tiboot3-j784s4-hs-evm.bin \
+ tiboot3-j784s4-hs-fs-evm.bin \
+"
+
+# Don't include kernels in standard images
+RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
+# Install kernel modules by default
+MACHINE_EXTRA_RRECOMMENDS:append:j784s4 = " kernel-modules"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-toradex-ti"
+PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex-ti"
+PREFERRED_PROVIDER_virtual/dtb = "device-tree-overlays-ti"
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot-toradex-ti"
+PREFERRED_PROVIDER_u-boot = "u-boot-toradex-ti"
+
+KERNEL_DTB_PREFIX = "ti/"
+# TODO remove am69-sk dtb
+KERNEL_DEVICETREE = " \
+ ${KERNEL_DTB_PREFIX}k3-am69-aquila-dev.dtb \
+ ${KERNEL_DTB_PREFIX}k3-am69-sk.dtb \
+"
+
+KERNEL_IMAGETYPE = "Image.gz"
+KERNEL_IMAGETYPES = "fitImage Image Image.gz"
+
+# overlays applied by generated overlays.txt
+TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = ""
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "aquila-am69_a72_defconfig,sdcard"
+UBOOT_ENTRYPOINT = "0x80200000"
+UBOOT_LOADADDRESS = "0x80200000"
+
+IMAGE_BOOT_FILES = " \
+ boot.scr-${MACHINE};boot.scr \
+ ${KERNEL_IMAGETYPE} \
+ ${@make_dtb_boot_files(d)} \
+"
+
+# meta-ti-bsp/conf/machine/include/k3.inc
+# With "sdimage-2part-efi.wks" my builds do not boot, no serial output at
+# all
+WKS_FILE:k3 = "sdimage-2part.wks"
+WKS_FILE_DEPENDS:append = " u-boot-distro-boot"
+WIC_CREATE_EXTRA_ARGS:append = " --no-fstab-update"
+
+IMAGE_CLASSES:append = " image_type_tezi"
+IMAGE_FSTYPES:append = " teziimg"
+# The payload offsets are given in number of 512 byte blocks.
+# tiboot3.bin
+OFFSET_BOOTROM_PAYLOAD = "0"
+FIRMWARE_BINARY[0088] = "tiboot3-am69-hs-fs-aquila.bin"
+# tispl.bin
+OFFSET_FW_PAYLOAD = "2048"
+# u-boot.img
+OFFSET_SPL_PAYLOAD = "6144"
+UBOOT_BINARY = "u-boot.img"
+
+TORADEX_PRODUCT_IDS = "0088"
diff --git a/conf/machine/verdin-am62-k3r5.conf b/conf/machine/verdin-am62-k3r5.conf
index 7d92e3c..700968e 100644
--- a/conf/machine/verdin-am62-k3r5.conf
+++ b/conf/machine/verdin-am62-k3r5.conf
@@ -16,10 +16,10 @@ SYSFW_SOC = "am62x"
SYSFW_CONFIG = "verdin"
SYSFW_SUFFIX = "hs-fs"
-UBOOT_DFU_CONFIG = "dfu"
+UBOOT_DFU_CONFIG = "dfu-r5"
# The DFU config does not (yet) exist in upstream. It is needed only
# if booting from DFU/USB.
UBOOT_DFU_CONFIG:upstream = ""
-UBOOT_CONFIG ??= "${UBOOT_DFU_CONFIG} sd"
-UBOOT_CONFIG[dfu] = "verdin-am62_r5_usbdfu_defconfig,dfu,spl/u-boot-spl.bin"
-UBOOT_CONFIG[sd] = "verdin-am62_r5_defconfig,sdcard,spl/u-boot-spl.bin"
+UBOOT_CONFIG ??= "${UBOOT_DFU_CONFIG} sd-r5"
+UBOOT_CONFIG[dfu-r5] = "verdin-am62_r5_usbdfu_defconfig,dfu,spl/u-boot-spl.bin"
+UBOOT_CONFIG[sd-r5] = "verdin-am62_r5_defconfig,sdcard,spl/u-boot-spl.bin"
diff --git a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bbappend b/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bbappend
deleted file mode 100644
index 8d00cce..0000000
--- a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bbappend
+++ /dev/null
@@ -1,23 +0,0 @@
-# build the k3r5 tiboot also for DFU
-EXTRA_OEMAKE_DFU = "\
- CROSS_COMPILE=${TARGET_PREFIX} SOC=${SYSFW_SOC} SOC_TYPE=${SYSFW_SUFFIX} \
- CONFIG=${SYSFW_CONFIG} SYSFW_DIR="${S}/ti-sysfw" \
- SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin-${UBOOT_DFU_CONFIG}" \
-"
-
-do_compile:prepend:k3r5 () {
- if [ -e "${STAGING_DIR_HOST}/boot/u-boot-spl.bin-${UBOOT_DFU_CONFIG}" ]; then
- cd ${WORKDIR}/imggen/
- make ${EXTRA_OEMAKE_DFU} $@
- if [ -f "${WORKDIR}/imggen/${SYSFW_TIBOOT3}" ]; then
- mv "${WORKDIR}/imggen/${SYSFW_TIBOOT3}" "${WORKDIR}/imggen/${SYSFW_TIBOOT3}"-dfu
- fi
- make clean
- fi
-}
-
-do_deploy:append:k3r5 () {
- if [ -f "${WORKDIR}/imggen/${SYSFW_TIBOOT3}-dfu" ]; then
- install -m 644 ${WORKDIR}/imggen/${SYSFW_TIBOOT3}-dfu ${DEPLOYDIR}/
- fi
-}
diff --git a/recipes-bsp/u-boot/u-boot-toradex-ti_2023.04.bb b/recipes-bsp/u-boot/u-boot-toradex-ti_2023.04.bb
index 749dd2b..bb5a5c1 100644
--- a/recipes-bsp/u-boot/u-boot-toradex-ti_2023.04.bb
+++ b/recipes-bsp/u-boot/u-boot-toradex-ti_2023.04.bb
@@ -23,14 +23,11 @@ UBOOT_INITIAL_ENV = "u-boot-initial-env"
COMPATIBLE_MACHINE = "(ti-soc)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-# preserve and deploy u-boot-initial-env if building for the Cortex-A53 core
-# even if u-boot-ti.inc do_deploy() tries to delete it.
-DEPLOY_INITIAL_ENV = "install -D -m 644 ${B}/sd/u-boot-initial-env ${DEPLOYDIR}/ || true"
-DEPLOY_INITIAL_ENV:k3r5 = ":"
-do_deploy:append () {
- ${DEPLOY_INITIAL_ENV}
-}
do_deploy:append:k3r5 () {
+ # remove any u-boot-initial-env* file not already removed by the
+ # u-boot-ti.inc
+ rm -f ${DEPLOYDIR}/u-boot-initial-env*
+
if [ -n "${UBOOT_CONFIG}" ]
then
for config in ${UBOOT_MACHINE}; do
@@ -39,7 +36,7 @@ do_deploy:append:k3r5 () {
j=$(expr $j + 1);
if [ $j -eq $i ]
then
- if [ "${type}" = "dfu" ]; then
+ if [ "${type}" = "${UBOOT_DFU_CONFIG}" ]; then
TARGETSUFFIX="-dfu"
else
TARGETSUFFIX=""