[Buildroot] [PATCH v2 4/4] board/ti: add new boards

Giulio Benetti giulio.benetti at benettiengineering.com
Sun Jul 31 01:15:17 UTC 2022


Hi Xuanhao, Anand(sorry I didn't mention you before),

On 28/07/22 18:40, Xuanhao Shi wrote:
> Adds support for ti's am62x_sk board and am64x_sk board.

Please split this patch into 2 patches, one for each board

> Adds the configs for generating output sdcard image.
> Adds the defconfigs for am62x_sk and am64x_sk.
> Adds to DEVELOPERS.

Can you please add for the 2 upcoming board patches a description
of the boards, which IOs they have, what they are meant for and an URL
to the product? You can look at a git log of any other recent board
commit.

> Signed-off-by: Xuanhao Shi <x-shi at ti.com>
> ---
>   DEVELOPERS                     | 16 ++++++++++++
>   board/ti/am62x_sk/genimage.cfg | 27 ++++++++++++++++++++
>   board/ti/am62x_sk/readme.txt   | 46 ++++++++++++++++++++++++++++++++++
>   board/ti/am64x_sk/genimage.cfg | 27 ++++++++++++++++++++
>   board/ti/am64x_sk/readme.txt   | 46 ++++++++++++++++++++++++++++++++++
>   configs/am62x_sk_defconfig     | 45 +++++++++++++++++++++++++++++++++
>   configs/am64x_sk_defconfig     | 45 +++++++++++++++++++++++++++++++++
>   7 files changed, 252 insertions(+)
>   create mode 100644 board/ti/am62x_sk/genimage.cfg
>   create mode 100644 board/ti/am62x_sk/readme.txt
>   create mode 100644 board/ti/am64x_sk/genimage.cfg
>   create mode 100644 board/ti/am64x_sk/readme.txt
>   create mode 100644 configs/am62x_sk_defconfig
>   create mode 100644 configs/am64x_sk_defconfig
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index cb98c3883d..63689f54a0 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -127,6 +127,14 @@ F:	package/dcron/
>   F:	package/libxmlrpc/
>   F:	package/python-docopt/
>   
> +N:	Anand Gadiyar <gadiyar at ti.com>
> +F:	board/ti/am62x_sk/
> +F:	board/ti/am64x_sk/
> +F:	boot/ti-k3-image-gen/
> +F:	boot/ti-k3-r5-loader/

The 2 lines above should be part of the previous patches for the
2 packages

> +F:	configs/am62x_sk_defconfig
> +F:	configs/am64x_sk_defconfig
> +
>   N:	André Zwing <nerv at dawncrow.de>
>   F:	package/libkrb5/
>   F:	package/openal/
> @@ -3004,6 +3012,14 @@ F:	package/python-pyusb/
>   N:	Wojciech Niziński <niziak at spox.org>
>   F:	package/fwup/
>   
> +N:	Xuanhao Shi <X15000177 at gmail.com>
> +F:	board/ti/am62x_sk/
> +F:	board/ti/am64x_sk/
> +F:	boot/ti-k3-image-gen/
> +F:	boot/ti-k3-r5-loader/

Ditto

> +F:	configs/am62x_sk_defconfig
> +F:	configs/am64x_sk_defconfig
> +
>   N:	Yair Ben Avraham <yairba at protonmail.com>
>   F:	package/casync/
>   F:	package/gloox/
> diff --git a/board/ti/am62x_sk/genimage.cfg b/board/ti/am62x_sk/genimage.cfg
> new file mode 100644
> index 0000000000..26304fe98f
> --- /dev/null
> +++ b/board/ti/am62x_sk/genimage.cfg
> @@ -0,0 +1,27 @@
> +image boot.vfat {
> +	vfat {
> +		files = {
> +			"tiboot3.bin",
> +			"tispl.bin",
> +			"u-boot.img",
> +		}
> +	}
> +
> +	size = 16M
> +}
> +
> +image sdcard.img {
> +	hdimage {
> +	}
> +
> +	partition u-boot {
> +		partition-type = 0xC
> +		bootable = "true"
> +		image = "boot.vfat"
> +	}
> +
> +	partition rootfs {
> +		partition-type = 0x83
> +		image = "rootfs.ext4"
> +	}
> +}
> diff --git a/board/ti/am62x_sk/readme.txt b/board/ti/am62x_sk/readme.txt
> new file mode 100644
> index 0000000000..aa66aa79b3
> --- /dev/null
> +++ b/board/ti/am62x_sk/readme.txt
> @@ -0,0 +1,46 @@
> +Texas Instuments AM62x Evaluation Modules
> +
> +Description
> +===========
> +
> +These configurations will build a complete image and
> +device tree blobs for the the TI AM62x_sk board.
> +
> +How to build it
> +===============
> +
> +Select the default configuration for the target:
> +$ make am62x_sk_defconfig
> +
> +Optional: modify the configuration:
> +$ make menuconfig
> +
> +Build:
> +$ make
> +
> +Result of the build:
> +===================
> +output/images/
> ++-- soc
> ++-- ti-connectivity
> ++-- bl31.bin
> ++-- boot.vfat
> ++-- Image
> ++-- k3-am625-sk.dtb
> ++-- r5-u-boot-spl.bin
> ++-- rootfs.ext2
> ++-- rootfs.ext4
> ++-- rootfs.tar
> ++-- sdcard.img
> ++-- tee.bin
> ++-- tee-header_v2.bin
> ++-- tee-pageable_v2.bin
> ++-- tee-pager_v2.bin
> ++-- tiboot3.bin
> ++-- tispl.bin
> ++-- u-boot.img
> +
> +To copy the image file to the sdcard use dd:
> +$ dd if=output/images/sdcard.img of=/dev/XXX

s/XXX/sdX

> +
> +

Do we need any special cable connection like USB or uart?

> diff --git a/board/ti/am64x_sk/genimage.cfg b/board/ti/am64x_sk/genimage.cfg
> new file mode 100644
> index 0000000000..26304fe98f
> --- /dev/null
> +++ b/board/ti/am64x_sk/genimage.cfg
> @@ -0,0 +1,27 @@
> +image boot.vfat {
> +	vfat {
> +		files = {
> +			"tiboot3.bin",
> +			"tispl.bin",
> +			"u-boot.img",
> +		}
> +	}
> +
> +	size = 16M
> +}
> +
> +image sdcard.img {
> +	hdimage {
> +	}
> +
> +	partition u-boot {
> +		partition-type = 0xC
> +		bootable = "true"
> +		image = "boot.vfat"
> +	}
> +
> +	partition rootfs {
> +		partition-type = 0x83
> +		image = "rootfs.ext4"
> +	}
> +}
> diff --git a/board/ti/am64x_sk/readme.txt b/board/ti/am64x_sk/readme.txt
> new file mode 100644
> index 0000000000..a0b4929dc6
> --- /dev/null
> +++ b/board/ti/am64x_sk/readme.txt
> @@ -0,0 +1,46 @@
> +Texas Instuments AM64x Evaluation Modules
> +
> +Description
> +===========
> +
> +These configurations will build a complete image and
> +device tree blobs for the the TI AM64x_sk board.
> +
> +How to build it
> +===============
> +
> +Select the default configuration for the target:
> +$ make am64x_sk_defconfig
> +
> +Optional: modify the configuration:
> +$ make menuconfig
> +
> +Build:
> +$ make
> +
> +Result of the build:
> +===================
> +output/images/
> ++-- soc
> ++-- ti-connectivity
> ++-- bl31.bin
> ++-- boot.vfat
> ++-- Image
> ++-- k3-am642-sk.dtb
> ++-- r5-u-boot-spl.bin
> ++-- rootfs.ext2
> ++-- rootfs.ext4
> ++-- rootfs.tar
> ++-- sdcard.img
> ++-- tee.bin
> ++-- tee-header_v2.bin
> ++-- tee-pageable_v2.bin
> ++-- tee-pager_v2.bin
> ++-- tiboot3.bin
> ++-- tispl.bin
> ++-- u-boot.img
> +
> +To copy the image file to the sdcard use dd:
> +$ dd if=output/images/sdcard.img of=/dev/XXX
> +
> +

Ditto

> diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig
> new file mode 100644
> index 0000000000..752feb8634
> --- /dev/null
> +++ b/configs/am62x_sk_defconfig
> @@ -0,0 +1,45 @@
> +BR2_aarch64=y
> +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y

Is this mandatory ^^^? Or can we let the user to choose the libc?

> +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
> +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/am64x_sk/genimage.cfg"
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19-rc8"

We're very close to 5.19 release, so I ask you to send the final
patches with 5.19

> +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am625-sk"
> +BR2_LINUX_KERNEL_INSTALL_TARGET=y
> +BR2_PACKAGE_LINUX_FIRMWARE=y
> +BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_ROOTFS_EXT2_SIZE="256M"

Do we need such big rootfs? Usually 120M is the used default.

> +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.7.0"
> +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="SPD=opteed"
> +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="3.18.0"
> +BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> +BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> +BR2_TARGET_TI_K3_IMAGE_GEN=y
> +BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
> +BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> +BR2_TARGET_TI_K3_R5_LOADER_BOARD="am62x_evm"
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10-rc1"
> +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am62x_evm_a53"
> +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=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"

I don't know the boot-flow of this processor, so you need the SPL and
then again another SPL and u-boot too?

> +BR2_PACKAGE_HOST_GENIMAGE=y
> diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
> new file mode 100644
> index 0000000000..22d49288cb
> --- /dev/null
> +++ b/configs/am64x_sk_defconfig
> @@ -0,0 +1,45 @@
> +BR2_aarch64=y
> +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
> +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/am64x_sk/genimage.cfg"
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19-rc8"
> +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am642-sk"
> +BR2_LINUX_KERNEL_INSTALL_TARGET=y
> +BR2_PACKAGE_LINUX_FIRMWARE=y
> +BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=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_VERSION=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.7.0"
> +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="SPD=opteed"
> +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="3.18.0"
> +BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> +BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> +BR2_TARGET_TI_K3_IMAGE_GEN=y
> +BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
> +BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> +BR2_TARGET_TI_K3_R5_LOADER_BOARD="am64x_evm"
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10-rc1"
> +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am64x_evm_a53"
> +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=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_GENIMAGE=y

For all this defconfig see above.

Thank you!

Best regards
-- 
Giulio Benetti
Benetti Engineering sas



More information about the buildroot mailing list