diff options
-rw-r--r-- | conf/machine/aquila-am69-k3r5.conf | 26 | ||||
-rw-r--r-- | conf/machine/aquila-am69.conf | 79 | ||||
-rw-r--r-- | conf/machine/verdin-am62-k3r5.conf | 8 | ||||
-rw-r--r-- | recipes-bsp/ti-sci-fw/ti-sci-fw_git.bbappend | 23 | ||||
-rw-r--r-- | recipes-bsp/u-boot/u-boot-toradex-ti_2023.04.bb | 13 |
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="" |