diff --git a/README.md b/README.md index 69b1e51..c2125cf 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,16 @@ This `BR2_EXTERNAL` tree provides following Buildroot configurations: 1. `ti_release_am62x_sk_defconfig` for Linux 2. `ti_release_am62x_sk_rt_defconfig` for RT-Linux -3. `ti_release_am62lx_evm_defconfig` for Linux -4. `ti_release_am62lx_evm_rt_defconfig` for RT-Linux +3. `ti_release_am62p_sk_defconfig` for Linux +4. `ti_release_am62p_sk_rt_defconfig` for RT-Linux +5. `ti_release_am62lx_evm_defconfig` for Linux +6. `ti_release_am62lx_evm_rt_defconfig` for RT-Linux It supports following variants of AM62x EVM and AM62Lx EVM: - [SK-AM62](https://www.ti.com/tool/SK-AM62) - [SK-AM62B](https://www.ti.com/tool/SK-AM62B) - [SK-AM62B-P1](https://www.ti.com/tool/SK-AM62B-P1) +- [SK-AM62P-LP](https://www.ti.com/tool/SK-AM62P-LP) - [AM62L-EVM](https://www.ti.com/tool/TMDS62LEVM) It builds and packages following main components: @@ -74,6 +77,7 @@ information refer | Platform | Buildroot version tag | Buildroot External Tree Tag | | ----------- | --------------------- |-----------------------------| | SK-AM62B | 2026.02 | 12.00.00.07.04 | +| SK-AM62P | 2026.02 | 12.00.00.07.04 | | AM62L-EVM | 2026.02 | 12.00.00.07.04 | - Clone the Buildroot repository to local machine. @@ -111,6 +115,12 @@ $ make BR2_EXTERNAL=../buildroot-external-TI ti_release_am62x_sk_defconfig # For AM62X RT-Linux $ make BR2_EXTERNAL=../buildroot-external-TI ti_release_am62x_sk_rt_defconfig +# For AM62P Linux +$ make BR2_EXTERNAL=../buildroot-external-TI ti_release_am62p_sk_defconfig + +# For AM62P RT-Linux +$ make BR2_EXTERNAL=../buildroot-external-TI ti_release_am62p_sk_rt_defconfig + # For AM62LX Linux $ make BR2_EXTERNAL=../buildroot-external-TI ti_release_am62lx_evm_defconfig @@ -153,6 +163,7 @@ with the console on UART. You can log-in as `root` with no password. # Going further * [PROCESSOR-SDK-AM62X](https://www.ti.com/tool/PROCESSOR-SDK-AM62X#overview) +* [PROCESSOR-SDK-AM62P](https://www.ti.com/tool/PROCESSOR-SDK-AM62P) * [AM62L-PROCESSOR-SDK](https://www.ti.com/tool/AM62L-PROCESSOR-SDK) # References diff --git a/board/ti/am62p-sk/post-build-ti.sh b/board/ti/am62p-sk/post-build-ti.sh new file mode 100755 index 0000000..f309b45 --- /dev/null +++ b/board/ti/am62p-sk/post-build-ti.sh @@ -0,0 +1,36 @@ +#!/bin/sh -x + +dtb_file="" + +while [ $# -gt 0 ]; do + case "$1" in + -d) + # Check if the next argument exists and is not another flag + if [ -n "$2" ] && [ "${2#-}" = "$2" ]; then + dtb_file="$2" + shift + else + echo "Error: Missing or invalid filename after -d flag" + exit 1 + fi + ;; + *) + ;; + esac + shift +done + +if [ -n "$dtb_file" ]; then + echo "dtb file provided : $dtb_file" +else + echo "No dtb file provided with -d flag" + exit 1 +fi + +mkdir -p $TARGET_DIR/boot/dtb/ti +mkdir -p $TARGET_DIR/lib/firmware/ti-connectivity + +cp $BINARIES_DIR/Image $TARGET_DIR/boot +cp $BINARIES_DIR/$dtb_file $TARGET_DIR/boot/dtb/ti +cp $BUILD_DIR/ti-k3-boot-firmware-*/ti-ipc/am62pxx/am62p-mcu-r5f0_0-fw $TARGET_DIR/lib/firmware/ +cp $BUILD_DIR/ti-k3-boot-firmware-*/ti-connectivity/* $TARGET_DIR/lib/firmware/ti-connectivity/ diff --git a/board/ti/am62p-sk/readme.txt b/board/ti/am62p-sk/readme.txt new file mode 100644 index 0000000..a5d9fcd --- /dev/null +++ b/board/ti/am62p-sk/readme.txt @@ -0,0 +1,43 @@ +Texas Instuments SK-AM62P Test and Development Board + +Description +=========== + +This configuration will build a complete image for the TI SK-AM62P +board using TI sources: https://www.ti.com/tool/SK-AM62P-LP. + +How to Build +============ + +Select the default configuration for the target: + +For non-RT linux build +$ make ti_release_am62p_sk_defconfig + +For RT linux build +$ make ti_release_am62p_sk_rt_defconfig + +Optional: modify the configuration: + +$ make menuconfig + +IMPORTANT: make sure to use the tiboot3 firmware that match with the TI +K3 SoC boot ROM (tiboot3-am62px-{gp/hs-fs/hs}-*.bin) used on the board. + +HS-FS should be the default for all TI AM6x devices. + +Build: + +$ make + +To copy the resulting output image file to an SD card use dd: + +$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M + +How to Run +========== + +Insert the SD card into the SK-AM62P board, and power it up through the +USB Type-C connector. The system should come up. You can use a +micro-USB cable to connect to the connector labeled UART to +communicate with the board. diff --git a/configs/ti_release_am62p_sk_defconfig b/configs/ti_release_am62p_sk_defconfig new file mode 100644 index 0000000..7caacf0 --- /dev/null +++ b/configs/ti_release_am62p_sk_defconfig @@ -0,0 +1,76 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_TI_PATH)/board/ti/common/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="am62pxx-evm" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_TI_PATH)/board/ti/am62p-sk/rootfs-overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_TI_PATH)/board/ti/am62p-sk/post-build-ti.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_BUILD_SCRIPT_ARGS="-d k3-am62p5-sk.dtb" +BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="-c $(BR2_EXTERNAL_TI_PATH)/board/ti/common/am6xx/genimage_ti.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.ti.com/git/ti-linux-kernel/ti-linux-kernel.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="12.00.00.07" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_DL_DIR)/linux/git/kernel/configs/ti_arm64_prune.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am62p5-sk" +BR2_PACKAGE_LINUX_TOOLS_PERF=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_ALSA_UTILS=y +BR2_PACKAGE_ALSA_UTILS_AMIXER=y +BR2_PACKAGE_ALSA_UTILS_APLAY=y +BR2_PACKAGE_GIT=y +BR2_PACKAGE_SDL2=y +BR2_PACKAGE_SDL2_IMAGE=y +BR2_PACKAGE_WESTON=y +BR2_PACKAGE_MEMTESTER=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_MOSQUITTO=y +BR2_PACKAGE_BASH=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="76500ceaeefcda967d8a1f4e30bb04f9fe0425a2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="K3_PM_SYSTEM_SUSPEND=1" +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_CUSTOM_GIT=y +BR2_TARGET_OPTEE_OS_CUSTOM_REPO_URL="https://github.com/OP-TEE/optee_os.git" +BR2_TARGET_OPTEE_OS_CUSTOM_REPO_VERSION="f2a7ad0638aeff5243593b33cc56ad064cae7615" +BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y +BR2_TARGET_OPTEE_OS_PLATFORM="k3-am62px" +BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES="CFG_TEE_CORE_LOG_LEVEL=1" +BR2_TARGET_TI_K3_R5_LOADER=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL="https://git.ti.com/git/ti-u-boot/ti-u-boot.git" +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION="12.00.00.07" +BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am62px_evm_r5" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://git.ti.com/git/ti-u-boot/ti-u-boot.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="12.00.00.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am62px_evm_a53" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_USE_BINMAN=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="tispl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_TI_LVGL_DEMO=n +BR2_PACKAGE_K3CONF=y diff --git a/configs/ti_release_am62p_sk_rt_defconfig b/configs/ti_release_am62p_sk_rt_defconfig new file mode 100644 index 0000000..738ff3d --- /dev/null +++ b/configs/ti_release_am62p_sk_rt_defconfig @@ -0,0 +1,76 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_TI_PATH)/board/ti/common/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="am62pxx-evm" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_TI_PATH)/board/ti/am62p-sk/rootfs-overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_TI_PATH)/board/ti/am62p-sk/post-build-ti.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_BUILD_SCRIPT_ARGS="-d k3-am62p5-sk.dtb" +BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="-c $(BR2_EXTERNAL_TI_PATH)/board/ti/common/am6xx/genimage_ti.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.ti.com/git/ti-linux-kernel/ti-linux-kernel.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="12.00.00.07" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_DL_DIR)/linux/git/kernel/configs/ti_arm64_prune.config $(BR2_DL_DIR)/linux/git/kernel/configs/ti_rt.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am62p5-sk" +BR2_PACKAGE_LINUX_TOOLS_PERF=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_ALSA_UTILS=y +BR2_PACKAGE_ALSA_UTILS_AMIXER=y +BR2_PACKAGE_ALSA_UTILS_APLAY=y +BR2_PACKAGE_GIT=y +BR2_PACKAGE_SDL2=y +BR2_PACKAGE_SDL2_IMAGE=y +BR2_PACKAGE_WESTON=y +BR2_PACKAGE_MEMTESTER=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_MOSQUITTO=y +BR2_PACKAGE_BASH=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="76500ceaeefcda967d8a1f4e30bb04f9fe0425a2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="K3_PM_SYSTEM_SUSPEND=1" +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_CUSTOM_GIT=y +BR2_TARGET_OPTEE_OS_CUSTOM_REPO_URL="https://github.com/OP-TEE/optee_os.git" +BR2_TARGET_OPTEE_OS_CUSTOM_REPO_VERSION="f2a7ad0638aeff5243593b33cc56ad064cae7615" +BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y +BR2_TARGET_OPTEE_OS_PLATFORM="k3-am62px" +BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES="CFG_TEE_CORE_LOG_LEVEL=1" +BR2_TARGET_TI_K3_R5_LOADER=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL="https://git.ti.com/git/ti-u-boot/ti-u-boot.git" +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION="12.00.00.07" +BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am62px_evm_r5" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://git.ti.com/git/ti-u-boot/ti-u-boot.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="12.00.00.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am62px_evm_a53" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_USE_BINMAN=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="tispl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_TI_LVGL_DEMO=n +BR2_PACKAGE_K3CONF=y