[Buildroot] [PATCH v3 2/4] configs/stm32mp157*: use trusted configuration
Bartosz Bilas
b.bilas at grinn-global.com
Tue Oct 13 17:29:01 UTC 2020
Hi Shlomi,
On 12.10.2020 22:11, Shlomi Vaknin wrote:
> Hi Bartek,
>
> בתאריך יום ב׳, 12 באוק׳ 2020 ב-21:08 מאת Bartosz Bilas
> <b.bilas at grinn-global.com <mailto:b.bilas at grinn-global.com>>:
>
> Hi Shlomi,
>
> On 07.10.2020 16:49, Shlomi Vaknin wrote:
>> Adding support for trusted configuration for stm32mp157c-dk2 and stm32mp157a-dk1.
>> This patch change using uboot spl as fsbl to using arm trusted firmware.
>> The reason for this change is that st recommends to use this configuration (or optee)
>> and not the basic.
>
>> In addition, this commit enables gadget support in `linux.config`.
> This should be committed as a separate patch because it's not
> related to the trusted configuration at all.
>> In addition, removing partition-type from genimage.cfg is mandatory,
>> since it creates a hybrid MBR partition table which causes ATF to not find ssbl parition.
>>
>> Signed-off-by: Shlomi Vaknin<shlomi.39sd at gmail.com> <mailto:shlomi.39sd at gmail.com>
>> ---
>> .../{genimage.cfg => genimage.cfg.template} | 7 ++-
>> .../common/stm32mp157/post-image.sh | 43 +++++++++++++++++++
>> .../stm32mp157a-dk1/linux.config | 24 ++++-------
>> .../stm32mp157c-dk2/linux.config | 20 ++++-----
>> configs/stm32mp157a_dk1_defconfig | 14 +++---
>> configs/stm32mp157c_dk2_defconfig | 14 +++---
>> 6 files changed, 78 insertions(+), 44 deletions(-)
>> rename board/stmicroelectronics/common/stm32mp157/{genimage.cfg => genimage.cfg.template} (63%)
>> create mode 100755 board/stmicroelectronics/common/stm32mp157/post-image.sh
>>
>> diff --git a/board/stmicroelectronics/common/stm32mp157/genimage.cfg b/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template
>> similarity index 63%
>> rename from board/stmicroelectronics/common/stm32mp157/genimage.cfg
>> rename to board/stmicroelectronics/common/stm32mp157/genimage.cfg.template
>> index d1ce530cc5..f341c19f2f 100644
>> --- a/board/stmicroelectronics/common/stm32mp157/genimage.cfg
>> +++ b/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template
>> @@ -4,20 +4,19 @@ image sdcard.img {
>> }
>>
>> partition fsbl1 {
>> - image = "u-boot-spl.stm32"
>> + image = "%ATFBIN%"
>> }
>>
>> partition fsbl2 {
>> - image = "u-boot-spl.stm32"
>> + image = "%ATFBIN%"
>> }
>>
>> partition ssbl {
>> - image = "u-boot.img"
>> + image = "u-boot.stm32"
>> }
>>
>> partition rootfs {
>> image = "rootfs.ext4"
>> - partition-type = 0x83
>> bootable = "yes"
>> }
>> }
>> diff --git a/board/stmicroelectronics/common/stm32mp157/post-image.sh b/board/stmicroelectronics/common/stm32mp157/post-image.sh
>> new file mode 100755
>> index 0000000000..c00a5c6f6c
>> --- /dev/null
>> +++ b/board/stmicroelectronics/common/stm32mp157/post-image.sh
>> @@ -0,0 +1,43 @@
>> +#!/usr/bin/env bash
>> +
>> +#
>> +# atf_image extracts the ATF binary image from DTB_FILE_NAME that appears in
>> +# BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES in ${BR_CONFIG},
>> +# then prints the corresponding file name for the genimage
>> +# configuration file
>> +#
>> +atf_image()
>> +{
>> + local ATF_VARIABLES="$(sed -n 's/^BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="\([\/a-zA-Z0-9_=. \-]*\)"$/\1/p' ${BR2_CONFIG})"
>> +
>> + if grep -Eq "DTB_FILE_NAME=stm32mp157c-dk2.dtb" <<< ${ATF_VARIABLES}; then
>> + echo "tf-a-stm32mp157c-dk2.stm32"
>> + elif grep -Eq "DTB_FILE_NAME=stm32mp157a-dk1.dtb" <<< ${ATF_VARIABLES}; then
>> + echo "tf-a-stm32mp157a-dk1.stm32"
>> + fi
>> +}
>> +
>> +main()
>> +{
>> + local ATFBIN="$(atf_image)"
>> + local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
>> + local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
>> +
>> + sed -e "s/%ATFBIN%/${ATFBIN}/" \
>> + board/stmicroelectronics/common/stm32mp157/genimage.cfg.template > ${GENIMAGE_CFG}
>> +
>> + rm -rf "${GENIMAGE_TMP}"
>> +
>> + genimage \
>> + --rootpath "${TARGET_DIR}" \
>> + --tmppath "${GENIMAGE_TMP}" \
>> + --inputpath "${BINARIES_DIR}" \
>> + --outputpath "${BINARIES_DIR}" \
>> + --config "${GENIMAGE_CFG}"
>> +
>> + rm -f ${GENIMAGE_CFG}
>> +
>> + exit $?
>> +}
>> +
>> +main $@
>> diff --git a/board/stmicroelectronics/stm32mp157a-dk1/linux.config b/board/stmicroelectronics/stm32mp157a-dk1/linux.config
>> index 95c834e431..47729ea97c 100644
>> --- a/board/stmicroelectronics/stm32mp157a-dk1/linux.config
>> +++ b/board/stmicroelectronics/stm32mp157a-dk1/linux.config
>> @@ -47,15 +47,10 @@ CONFIG_CAN=y
>> CONFIG_CAN_M_CAN=y
>> CONFIG_DEVTMPFS=y
>> CONFIG_DEVTMPFS_MOUNT=y
>> -CONFIG_DMA_CMA=y
>> -CONFIG_CMA_SIZE_MBYTES=128
>> CONFIG_SIMPLE_PM_BUS=y
>> CONFIG_MTD=y
>> CONFIG_MTD_CMDLINE_PARTS=y
>> CONFIG_MTD_BLOCK=y
>> -CONFIG_MTD_M25P80=y
>> -CONFIG_MTD_NAND=y
>> -CONFIG_MTD_NAND_STM32_FMC2=y
>> CONFIG_MTD_SPI_NOR=y
>> # CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
>> CONFIG_MTD_UBI=y
>> @@ -107,13 +102,6 @@ CONFIG_REGULATOR_STPMIC1=y
>> CONFIG_DRM=y
>> CONFIG_DRM_STM=y
>> CONFIG_DRM_STM_DSI=y
>> -# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
>> -# CONFIG_DRM_SII902X is not set
>> -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
>> -# CONFIG_LCD_CLASS_DEVICE is not set
>> -# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
>> -# CONFIG_BACKLIGHT_GENERIC is not set
>> -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
>> CONFIG_SOUND=y
>> CONFIG_SND=y
>> CONFIG_SND_DYNAMIC_MINORS=y
>> @@ -129,12 +117,17 @@ CONFIG_USB_DWC2=y
>> CONFIG_USB_CHIPIDEA=y
>> CONFIG_USB_CHIPIDEA_HOST=y
>> CONFIG_USB_ISP1760=y
>> +CONFIG_USB_ISP1760_HOST_ROLE=y
>> CONFIG_USB_HSIC_USB3503=y
>> CONFIG_USB_GPIO_VBUS=y
>> CONFIG_USB_ISP1301=y
>> CONFIG_USB_ULPI=y
>> +CONFIG_USB_GADGET=y
>> +CONFIG_USB_CONFIGFS=m
>> +CONFIG_USB_CONFIGFS_ACM=y
>> +CONFIG_USB_CONFIGFS_ECM=y
>> +CONFIG_USB_CONFIGFS_MASS_STORAGE=y
>> CONFIG_TYPEC=y
>> -CONFIG_TYPEC_STUSB=y
>> CONFIG_MMC=y
>> CONFIG_MMC_BLOCK_MINORS=16
>> CONFIG_MMC_ARMMMCI=y
>> @@ -157,15 +150,12 @@ CONFIG_STM32_IPCC=y
>> CONFIG_REMOTEPROC=y
>> CONFIG_STM32_RPROC=y
>> CONFIG_RPMSG_VIRTIO=y
>> -CONFIG_RPMSG_TTY=y
>> CONFIG_IIO=y
>> CONFIG_IIO_SW_TRIGGER=y
>> CONFIG_SD_ADC_MODULATOR=y
>> CONFIG_STM32_ADC_CORE=y
>> CONFIG_STM32_ADC=y
>> -CONFIG_STM32_ADC_TEMP=y
>> CONFIG_STM32_DFSDM_ADC=y
>> -CONFIG_STM32_LPTIMER_CNT=y
>> CONFIG_STM32_DAC=y
>> CONFIG_IIO_HRTIMER_TRIGGER=y
>> CONFIG_IIO_STM32_LPTIMER_TRIGGER=y
>> @@ -179,4 +169,6 @@ CONFIG_MSDOS_FS=y
>> CONFIG_VFAT_FS=y
>> CONFIG_TMPFS=y
>> CONFIG_TMPFS_POSIX_ACL=y
>> +CONFIG_DMA_CMA=y
>> +CONFIG_CMA_SIZE_MBYTES=128
>> CONFIG_PRINTK_TIME=y
> Are these changes related to the trusted configuration or it's a
> result of resync with newer kernel configuration?
>
>
> The changes are the effect of running linux-update-defconfig after
> adding the gadget support. I remember that I looked at some of the
> variables that were removed, and found out that they are no longer
> exist in the kernel.
So this patch shouldn't be within this series because it isn't related
to trusted configuration ;) Please send a separate patch where you add
gadget support in the kernel configuration.
>
>> diff --git a/board/stmicroelectronics/stm32mp157c-dk2/linux.config b/board/stmicroelectronics/stm32mp157c-dk2/linux.config
>> index 878a0c39f1..c03eb748b4 100644
>> --- a/board/stmicroelectronics/stm32mp157c-dk2/linux.config
>> +++ b/board/stmicroelectronics/stm32mp157c-dk2/linux.config
>> @@ -47,15 +47,10 @@ CONFIG_CAN=y
>> CONFIG_CAN_M_CAN=y
>> CONFIG_DEVTMPFS=y
>> CONFIG_DEVTMPFS_MOUNT=y
>> -CONFIG_DMA_CMA=y
>> -CONFIG_CMA_SIZE_MBYTES=128
>> CONFIG_SIMPLE_PM_BUS=y
>> CONFIG_MTD=y
>> CONFIG_MTD_CMDLINE_PARTS=y
>> CONFIG_MTD_BLOCK=y
>> -CONFIG_MTD_M25P80=y
>> -CONFIG_MTD_NAND=y
>> -CONFIG_MTD_NAND_STM32_FMC2=y
>> CONFIG_MTD_SPI_NOR=y
>> # CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
>> CONFIG_MTD_UBI=y
>> @@ -82,7 +77,6 @@ CONFIG_SERIAL_STM32_CONSOLE=y
>> CONFIG_SERIAL_DEV_BUS=y
>> CONFIG_HW_RANDOM=y
>> CONFIG_I2C_CHARDEV=y
>> -CONFIG_I2C_MUX=y
>> CONFIG_I2C_STM32F7=y
>> CONFIG_SPI=y
>> CONFIG_SPI_STM32=y
>> @@ -109,8 +103,6 @@ CONFIG_DRM_STM=y
>> CONFIG_DRM_STM_DSI=y
>> CONFIG_DRM_PANEL_ORISETECH_OTM8009A=y
>> CONFIG_DRM_SII902X=y
>> -CONFIG_BACKLIGHT_LCD_SUPPORT=y
>> -# CONFIG_LCD_CLASS_DEVICE is not set
>> CONFIG_BACKLIGHT_CLASS_DEVICE=y
>> # CONFIG_BACKLIGHT_GENERIC is not set
>> CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
>> @@ -129,12 +121,17 @@ CONFIG_USB_DWC2=y
>> CONFIG_USB_CHIPIDEA=y
>> CONFIG_USB_CHIPIDEA_HOST=y
>> CONFIG_USB_ISP1760=y
>> +CONFIG_USB_ISP1760_HOST_ROLE=y
>> CONFIG_USB_HSIC_USB3503=y
>> CONFIG_USB_GPIO_VBUS=y
>> CONFIG_USB_ISP1301=y
>> CONFIG_USB_ULPI=y
>> +CONFIG_USB_GADGET=y
>> +CONFIG_USB_CONFIGFS=m
>> +CONFIG_USB_CONFIGFS_ACM=y
>> +CONFIG_USB_CONFIGFS_ECM=y
>> +CONFIG_USB_CONFIGFS_MASS_STORAGE=y
>> CONFIG_TYPEC=y
>> -CONFIG_TYPEC_STUSB=y
>> CONFIG_MMC=y
>> CONFIG_MMC_BLOCK_MINORS=16
>> CONFIG_MMC_ARMMMCI=y
>> @@ -157,15 +154,12 @@ CONFIG_STM32_IPCC=y
>> CONFIG_REMOTEPROC=y
>> CONFIG_STM32_RPROC=y
>> CONFIG_RPMSG_VIRTIO=y
>> -CONFIG_RPMSG_TTY=y
>> CONFIG_IIO=y
>> CONFIG_IIO_SW_TRIGGER=y
>> CONFIG_SD_ADC_MODULATOR=y
>> CONFIG_STM32_ADC_CORE=y
>> CONFIG_STM32_ADC=y
>> -CONFIG_STM32_ADC_TEMP=y
>> CONFIG_STM32_DFSDM_ADC=y
>> -CONFIG_STM32_LPTIMER_CNT=y
>> CONFIG_STM32_DAC=y
>> CONFIG_IIO_HRTIMER_TRIGGER=y
>> CONFIG_IIO_STM32_LPTIMER_TRIGGER=y
>> @@ -179,4 +173,6 @@ CONFIG_MSDOS_FS=y
>> CONFIG_VFAT_FS=y
>> CONFIG_TMPFS=y
>> CONFIG_TMPFS_POSIX_ACL=y
>> +CONFIG_DMA_CMA=y
>> +CONFIG_CMA_SIZE_MBYTES=128
>> CONFIG_PRINTK_TIME=y
> same here.
>> diff --git a/configs/stm32mp157a_dk1_defconfig b/configs/stm32mp157a_dk1_defconfig
>> index f172539c02..cdbb5a8cdf 100644
>> --- a/configs/stm32mp157a_dk1_defconfig
>> +++ b/configs/stm32mp157a_dk1_defconfig
>> @@ -2,8 +2,7 @@ BR2_arm=y
>> BR2_cortex_a7=y
>> BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7=y
>> BR2_ROOTFS_OVERLAY="board/stmicroelectronics/stm32mp157a-dk1/overlay/"
>> -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
>> -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/stmicroelectronics/common/stm32mp157/genimage.cfg"
>> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/stmicroelectronics/common/stm32mp157/post-image.sh"
>> BR2_LINUX_KERNEL=y
>> BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>> BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.7.10"
>> @@ -16,15 +15,18 @@ BR2_TARGET_ROOTFS_EXT2=y
>> BR2_TARGET_ROOTFS_EXT2_4=y
>> BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
>> # BR2_TARGET_ROOTFS_TAR is not set
>> +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
>> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1"
>> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157a-dk1.dtb"
>> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="*.stm32"
>> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y
>> BR2_TARGET_UBOOT=y
>> BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
>> BR2_TARGET_UBOOT_CUSTOM_VERSION=y
>> BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07"
>> -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_basic"
>> +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted"
>> BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/stm32mp157a-dk1/uboot-fragment.config"
>> # BR2_TARGET_UBOOT_FORMAT_BIN is not set
>> -BR2_TARGET_UBOOT_FORMAT_IMG=y
>> -BR2_TARGET_UBOOT_SPL=y
>> -BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.stm32"
>> +BR2_TARGET_UBOOT_FORMAT_STM32=y
>> BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157a-dk1"
>> BR2_PACKAGE_HOST_GENIMAGE=y
>> diff --git a/configs/stm32mp157c_dk2_defconfig b/configs/stm32mp157c_dk2_defconfig
>> index 49cfb0733c..6251491e0f 100644
>> --- a/configs/stm32mp157c_dk2_defconfig
>> +++ b/configs/stm32mp157c_dk2_defconfig
>> @@ -2,8 +2,7 @@ BR2_arm=y
>> BR2_cortex_a7=y
>> BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7=y
>> BR2_ROOTFS_OVERLAY="board/stmicroelectronics/stm32mp157c-dk2/overlay/"
>> -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
>> -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/stmicroelectronics/common/stm32mp157/genimage.cfg"
>> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/stmicroelectronics/common/stm32mp157/post-image.sh"
>> BR2_LINUX_KERNEL=y
>> BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>> BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.7.10"
>> @@ -16,15 +15,18 @@ BR2_TARGET_ROOTFS_EXT2=y
>> BR2_TARGET_ROOTFS_EXT2_4=y
>> BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
>> # BR2_TARGET_ROOTFS_TAR is not set
>> +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
>> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1"
>> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157c-dk2.dtb"
>> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="*.stm32"
>> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y
>> BR2_TARGET_UBOOT=y
>> BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
>> BR2_TARGET_UBOOT_CUSTOM_VERSION=y
>> BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07"
>> -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_basic"
>> +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted"
>> BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/stm32mp157c-dk2/uboot-fragment.config"
>> # BR2_TARGET_UBOOT_FORMAT_BIN is not set
>> -BR2_TARGET_UBOOT_FORMAT_IMG=y
>> -BR2_TARGET_UBOOT_SPL=y
>> -BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.stm32"
>> +BR2_TARGET_UBOOT_FORMAT_STM32=y
>> BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-dk2"
>> BR2_PACKAGE_HOST_GENIMAGE=y
> Best
> Bartek
>
Best
Bartek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20201013/b6efc7cc/attachment.html>
More information about the buildroot
mailing list