configs/stm32mp135f-dk: new defconfig
PATCH v5 1/1 configs/stm32mp135f-dk: new defconfig
Add new defconfig for STMicroelectronics board STM32MP135F-DK.
STM32MP135F-DK features can be found here:
https://www.st.com/en/evaluation-tools/stm32mp135f-dk.html
---
This commit series is a first attempt to improve the organization and functionality of the STM32 platform in Buildroot. It comes with two patches:
1. Reorder common ST folder:
- Rename the common ST folder from stm32mp157 to stm32mp1xx.
- Update references and paths in related configuration files.
- Prepare to receive new stm32mp13 board.
2. Add new defconfig for STM32MP13:
- Introduce a new defconfig file (stm32mp13_dk).
- Boot following the TF-A/OP-TEE/U-Boot/Linux chain.
v1:
- Include generic "multi_v7" defconfig for Linux configuration.
v2:
- Include a minimalistic defconfig for Linux configuration.
---
Changes in v5:
- Rebase on latest buildroot/master...
- ... in order to use BR2_TARGET_OPTEE_OS_CUSTOM_VERSION
introduced in 0f3791f25f - boot/optee-os: add custom version option.
- Link to v4: https://lore.kernel.org/r/[email protected]
Changes in v4:
- Rebase on latest buildroot/next branch.
- Add BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11 option to fix build
- Link to v3: https://lore.kernel.org/r/[email protected]
Changes in v3:
- Change Linux config as per discussed here
https://lists.busybox.net/pipermail/buildroot/2024-November/767651.html
- As introduced in edc0a6b1a4, remove comments in defconfig.
- Use Linux stable v6.11.6 version instead of mainline.
- Use BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_10_VERSION
- Remove 'E=0' option in TF-A build command line.
- Use GIT URL and tag version method instead of tarball for OP-TEE
- Change Linux & OP-TEE hashes accordingly
- Link to v2: https://lore.kernel.org/r/[email protected]
Changes in v2:
- Removed merged patch:
https://gitlab.com/buildroot.org/buildroot/-/commit/f21db2bd83bf3073a50b8bcd79af6e7aed6fb000
- Include a minimalistic defconfig for Linux configuration
- Removed BR2_PACKAGE_HOST_BMAP_TOOLS option.
- Move BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL to the according section.
- Hardcode OP-TEE version using tarball link.
- Use BR2_GLOBAL_PATCH_DIR and add OP-TEE hash to common folder.
- Link to v1: https://lore.kernel.org/r/[email protected]
--- .../common/stm32mp1xx/patches/linux/linux.hash | 2 +- .../stm32mp1xx/patches/optee-os/optee-os.hash | 2 + .../stmicroelectronics/stm32mp135f-dk/linux.config | 190 +++++++++++++++++++++ .../overlay/boot/extlinux/extlinux.conf | 4 + board/stmicroelectronics/stm32mp135f-dk/readme.txt | 38 +++++ configs/stm32mp135f_dk_defconfig | 50 ++++++ 6 files changed, 285 insertions(+), 1 deletion(-)
board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash +1 -1
@@ -1,2 +1,2 @@ # Locally calculated -sha256 f048267b7b88316c9ca708c68d15a9ae802dcfc943c3188c1273eb958c433281 linux-6.9.8.tar.xz +sha256 c954f60197008f1e1f32a1e77293903cf3801d2543ec4bf521f5651eb7f133ce linux-6.11.6.tar.xz
board/stmicroelectronics/common/stm32mp1xx/patches/optee-os/optee-os.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally calculated +sha256 03b91fd7dfdf890e3966f931f07634a2b6a2911bbee2a02ecc48d4a40cf6a9b8 optee-os-4.3.0-git4.tar.gz
board/stmicroelectronics/stm32mp135f-dk/linux.config new file +190 -0
190 lines not on this page · raw message
board/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/extlinux.conf new file +4 -0
@@ -0,0 +1,4 @@ +label stm32mp135f-dk-buildroot + kernel /boot/zImage + devicetree /boot/stm32mp135f-dk.dtb + append root=/dev/mmcblk0p4 rootwait
board/stmicroelectronics/stm32mp135f-dk/readme.txt new file +38 -0
@@ -0,0 +1,38 @@ +STM32MP135F Discovery Kit + +Intro +===== + +This configuration supports the STM32MP135F Discovery Kit (DK) +platform: + + https://www.st.com/en/evaluation-tools/stm32mp135f-dk.html + +How to build +============ + + $ make stm32mp135f_dk_defconfig + $ make + +How to write the microSD card +============================= + +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an microSD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Boot the board +============== + + (1) Insert the microSD card in connector CN15 + + (2) Plug a micro-USB cable in connector CN11 and run your serial + communication program on /dev/ttyACM0. + + (3) Plug a USB-C cable in CN6 to power-up the board. + + (4) The system will start, with the console on UART, but also visible + on the screen.
configs/stm32mp135f_dk_defconfig new file +50 -0
50 lines not on this page · raw message
---
base-commit: 15891236dbfb20ea971877918e9579b246f7c43c
change-id: 20240729-master-3a7c9cb9c96b
Best regards,
Signature · 6 lines
Raphael Gallais-Pou <[email protected]> _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Hi Raphael,
Quoted 6 lines · Raphael Gallais-Pou
Add new defconfig for STMicroelectronics board STM32MP135F-DK.
STM32MP135F-DK features can be found here:
https://www.st.com/en/evaluation-tools/stm32mp135f-dk.htmlSigned-off-by Raphael Gallais-Pou <[email protected]>
Since it's already v5, I've applied to master. However, there were a few
things we decided in September about defconfigs [1]. Since these things haven't made it into the manual yet, you're forgiven for not knowing :-)
In particular, the following points are not followed by the defconfig.
* The defconfig should use a Bootlin toolchain (stable, glibc) if that is available and works.
* If the kernel config builds modules, and the board has hotpluggable hardware (USB), then it makes sense to also enable mdev.
Again, since this is new stuff, it's completely optional to apply it. But it
sure would be nice if you could do so!
Thank you,
Regards,
Arnout
[1] https://elinux.org/Buildroot:DeveloperDaysELCE2024#Rules_for_defconfigs
Quoted 385 lines
---
This commit series is a first attempt to improve the organization and functionality of the STM32 platform in Buildroot. It comes with two patches:1. Reorder common ST folder:
- Rename the common ST folder from stm32mp157 to stm32mp1xx.
- Update references and paths in related configuration files.
- Prepare to receive new stm32mp13 board.2. Add new defconfig for STM32MP13:
- Introduce a new defconfig file (stm32mp13_dk).
- Boot following the TF-A/OP-TEE/U-Boot/Linux chain.
v1:
- Include generic "multi_v7" defconfig for Linux configuration. v2:
- Include a minimalistic defconfig for Linux configuration.
---
Changes in v5:
- Rebase on latest buildroot/master...
- ... in order to useBR2_TARGET_OPTEE_OS_CUSTOM_VERSION
introduced in0f3791f25f- boot/optee-os: add custom version option.
- Link to v4: https://lore.kernel.org/r/[email protected]Changes in v4:
- Rebase on latest buildroot/next branch.
- AddBR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11option to fix build
- Link to v3: https://lore.kernel.org/r/[email protected]Changes in v3:
- Change Linux config as per discussed here
https://lists.busybox.net/pipermail/buildroot/2024-November/767651.html
- As introduced inedc0a6b1a4, remove comments in defconfig.
- Use Linux stable v6.11.6 version instead of mainline.
- UseBR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_10_VERSION
- Remove 'E=0' option in TF-A build command line.
- Use GIT URL and tag version method instead of tarball for OP-TEE
- Change Linux & OP-TEE hashes accordingly
- Link to v2: https://lore.kernel.org/r/[email protected]Changes in v2:
- Removed merged patch:
https://gitlab.com/buildroot.org/buildroot/-/commit/f21db2bd83bf3073a50b8bcd79af6e7aed6fb000
- Include a minimalistic defconfig for Linux configuration
- RemovedBR2_PACKAGE_HOST_BMAP_TOOLSoption.
- MoveBR2_LINUX_KERNEL_NEEDS_HOST_OPENSSLto the according section.
- Hardcode OP-TEE version using tarball link.
- UseBR2_GLOBAL_PATCH_DIRand add OP-TEE hash to common folder.
- Link to v1: https://lore.kernel.org/r/[email protected]--- .../common/stm32mp1xx/patches/linux/linux.hash | 2 +- .../stm32mp1xx/patches/optee-os/optee-os.hash | 2 + .../stmicroelectronics/stm32mp135f-dk/linux.config | 190 +++++++++++++++++++++ .../overlay/boot/extlinux/extlinux.conf | 4 + board/stmicroelectronics/stm32mp135f-dk/readme.txt | 38 +++++ configs/stm32mp135f_dk_defconfig | 50 ++++++ 6 files changed, 285 insertions(+), 1 deletion(-)board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash +1
-1@@ -1,2 +1,2 @@ # Locally calculated -sha256 f048267b7b88316c9ca708c68d15a9ae802dcfc943c3188c1273eb958c433281 linux-6.9.8.tar.xz +sha256 c954f60197008f1e1f32a1e77293903cf3801d2543ec4bf521f5651eb7f133ce linux-6.11.6.tar.xzboard/stmicroelectronics/common/stm32mp1xx/patches/optee-os/optee-os.hash new file +2
-0@@ -0,0 +1,2 @@ +# Locally calculated +sha256 03b91fd7dfdf890e3966f931f07634a2b6a2911bbee2a02ecc48d4a40cf6a9b8 optee-os-4.3.0-git4.tar.gzboard/stmicroelectronics/stm32mp135f-dk/linux.config new file +190
-0@@ -0,0 +1,190 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_USELIB=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_BLK_DEV_INITRD=y +CONFIG_ARCH_STM32=y +CONFIG_ARM_THUMBEE=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_ARM_ERRATA_754322=y +CONFIG_ARM_ERRATA_754327=y +CONFIG_ARM_ERRATA_764369=y +CONFIG_ARM_ERRATA_775420=y +CONFIG_ARM_ERRATA_798181=y +CONFIG_SMP=y +CONFIG_MCPM=y +CONFIG_HIGHMEM=y +CONFIG_FORCE_MAX_ZONEORDER=12 +CONFIG_SECCOMP=y +# CONFIG_ATAGS is not set +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_CMDLINE_PARTITION=y +CONFIG_CMA=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +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_ARM_SCMI_PROTOCOL=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 +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_SRAM=y +CONFIG_EEPROM_AT24=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_KS8851=y +CONFIG_SMSC911X=y +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=y +CONFIG_MDIO_BITBANG=y +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_EDT_FT5X06=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_STPMIC1_ONKEY=y +CONFIG_SERIAL_STM32=y +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 +CONFIG_SPI_STM32_QSPI=y +CONFIG_PINCTRL_MCP23S08=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_STMFX=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_WATCHDOG=y +CONFIG_STPMIC1_WATCHDOG=y +CONFIG_MFD_STM32_LPTIMER=y +CONFIG_MFD_STPMIC1=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_ARM_SCMI=y +CONFIG_REGULATOR_STM32_BOOSTER=y +CONFIG_REGULATOR_STM32_VREFBUF=y +CONFIG_REGULATOR_STM32_PWR=y +CONFIG_REGULATOR_STPMIC1=y +CONFIG_DRM=y +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 +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_USB=m +CONFIG_USB_OTG=y +CONFIG_USB_XHCI_HCD=m +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_OHCI_HCD=m +CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_USB_DWC2=m +CONFIG_USB_CHIPIDEA=m +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_ISP1760=m +CONFIG_USB_HSIC_USB3503=m +CONFIG_USB_GPIO_VBUS=y +CONFIG_USB_ISP1301=m +CONFIG_USB_ULPI=y +CONFIG_TYPEC=y +CONFIG_TYPEC_STUSB=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK_MINORS=16 +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_DW=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_PWM=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STM32=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +CONFIG_COMMON_CLK_SCMI=y +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_STM32=y +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 +CONFIG_PWM=y +CONFIG_PWM_STM32=y +CONFIG_PWM_STM32_LP=y +CONFIG_RESET_SCMI=y +CONFIG_PHY_STM32_USBPHYC=y +CONFIG_NVMEM_STM32_ROMEM=y +CONFIG_TEE=y +CONFIG_OPTEE=y +CONFIG_COUNTER=y +CONFIG_STM32_LPTIMER_CNT=y +CONFIG_STM32_TIMER_CNT=y +CONFIG_EXT4_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_PRINTK_TIME=yboard/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/extlinux.conf new file +4
-0@@ -0,0 +1,4 @@ +label stm32mp135f-dk-buildroot + kernel /boot/zImage + devicetree /boot/stm32mp135f-dk.dtb + append root=/dev/mmcblk0p4 rootwaitboard/stmicroelectronics/stm32mp135f-dk/readme.txt new file +38
-0@@ -0,0 +1,38 @@ +STM32MP135F Discovery Kit + +Intro +===== + +This configuration supports the STM32MP135F Discovery Kit (DK) +platform: + + https://www.st.com/en/evaluation-tools/stm32mp135f-dk.html + +How to build +============ + + $ make stm32mp135f_dk_defconfig + $ make + +How to write the microSD card +============================= + +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an microSD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Boot the board +============== + + (1) Insert the microSD card in connector CN15 + + (2) Plug a micro-USB cable in connector CN11 and run your serial + communication program on /dev/ttyACM0. + + (3) Plug a USB-C cable in CN6 to power-up the board. + + (4) The system will start, with the console on UART, but also visible + on the screen.configs/stm32mp135f_dk_defconfig new file +50
-1@@ -0,0 +1,50 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11=y +BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/common/stm32mp1xx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_OVERLAY="board/stmicroelectronics/stm32mp135f-dk/overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/stmicroelectronics/common/stm32mp1xx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.11.6" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32mp135f-dk/linux.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="st/stm32mp135f-dk" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_OPTEE_CLIENT=y +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_LATEST_LTS_2_10_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-nodtb.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 DTB_FILE_NAME=stm32mp135f-dk.dtb BL33_CFG=$(BINARIES_DIR)/u-boot.dtb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin *.stm32" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_CUSTOM_VERSION=y +BR2_TARGET_OPTEE_OS_CUSTOM_VERSION_VALUE="4.3.0" +BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y +BR2_TARGET_OPTEE_OS_PLATFORM="stm32mp1" +BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR="135F_DK" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp13" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin u-boot.dtb" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp135f-dk" +BR2_PACKAGE_HOST_GENIMAGE=y ---base-commit:
15891236dbfb20ea971877918e9579b246f7c43c
change-id: 20240729-master-3a7c9cb9c96b
Quoted 1 line
Best regards,
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Le 03/02/2025 à 14:21, Arnout Vandecappelle a écrit :
Quoted 1 line
Hi Raphael,
Hi Arnout,
Many thanks for merging this work. I am really thankful.
Quoted 9 lines · Raphael Gallais-Pou
Quoted 6 lines
Add new defconfig for STMicroelectronics board STM32MP135F-DK.
STM32MP135F-DK features can be found here:
https://www.st.com/en/evaluation-tools/stm32mp135f-dk.htmlSigned-off-by Raphael Gallais-Pou <[email protected]>
Quoted 7 lines
Since it's already v5, I've applied to master. However, there were a
few things we decided in September about defconfigs [1]. Since these things haven't made it into the manual yet, you're forgiven for not knowing :-)In particular, the following points are not followed by the defconfig.
* The defconfig should use a Bootlin toolchain (stable, glibc) if that is available and works.
* If the kernel config builds modules, and the board has hotpluggable hardware (USB), then it makes sense to also enable mdev.
Effectively I was not aware of those rules. I will try to send in the future weeks those changes. Eventhough this is optional, the more it suits the standard rules, the better.
Thanks again !
Regards,
Raphaël
Quoted 410 lines
Again, since this is new stuff, it's completely optional to apply it.
But it sure would be nice if you could do so!Thank you,
Regards,
Arnout[1] https://elinux.org/Buildroot:DeveloperDaysELCE2024#Rules_for_defconfigs
Quoted 395 lines
---
This commit series is a first attempt to improve the organization and functionality of the STM32 platform in Buildroot. It comes with two patches:1. Reorder common ST folder:
- Rename the common ST folder from stm32mp157 to stm32mp1xx.
- Update references and paths in related configuration files.
- Prepare to receive new stm32mp13 board.2. Add new defconfig for STM32MP13:
- Introduce a new defconfig file (stm32mp13_dk).
- Boot following the TF-A/OP-TEE/U-Boot/Linux chain.
v1:
- Include generic "multi_v7" defconfig for Linux configuration. v2:
- Include a minimalistic defconfig for Linux configuration.
---
Changes in v5:
- Rebase on latest buildroot/master...
- ... in order to useBR2_TARGET_OPTEE_OS_CUSTOM_VERSIONintroduced in0f3791f25f- boot/optee-os: add custom version option.
- Link to v4: https://lore.kernel.org/r/20241216-master-
[email protected]Changes in v4:
- Rebase on latest buildroot/next branch.
- AddBR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11option to fix build
- Link to v3: https://lore.kernel.org/r/20241114-master-
[email protected]Changes in v3:
- Change Linux config as per discussed here
https://lists.busybox.net/pipermail/buildroot/2024-November/767651.html
- As introduced inedc0a6b1a4, remove comments in defconfig.
- Use Linux stable v6.11.6 version instead of mainline.
- UseBR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_10_VERSION
- Remove 'E=0' option in TF-A build command line.
- Use GIT URL and tag version method instead of tarball for OP-TEE
- Change Linux & OP-TEE hashes accordingly
- Link to v2: https://lore.kernel.org/r/20241017-master-
[email protected]Changes in v2:
- Removed merged patch:
https://gitlab.com/buildroot.org/buildroot/-/commit/f21db2bd83bf3073a50b8bcd79af6e7aed6fb000
- Include a minimalistic defconfig for Linux configuration
- RemovedBR2_PACKAGE_HOST_BMAP_TOOLSoption.
- MoveBR2_LINUX_KERNEL_NEEDS_HOST_OPENSSLto the according section.
- Hardcode OP-TEE version using tarball link.
- UseBR2_GLOBAL_PATCH_DIRand add OP-TEE hash to common folder.
- Link to v1: https://lore.kernel.org/r/20240814-master-
[email protected]
---
.../common/stm32mp1xx/patches/linux/linux.hash | 2 +- .../stm32mp1xx/patches/optee-os/optee-os.hash | 2 +.../stmicroelectronics/stm32mp135f-dk/linux.config| 190 +++++++++++
++++++++++
.../overlay/boot/extlinux/extlinux.conf | 4 +board/stmicroelectronics/stm32mp135f-dk/readme.txt| 38 +++++ configs/stm32mp135f_dk_defconfig | 50 ++++++6 files changed, 285 insertions(+), 1 deletion(-)board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash +0
-1@@ -1,2 +1,2 @@ # Locally calculated -sha256
f048267b7b88316c9ca708c68d15a9ae802dcfc943c3188c1273eb958c433281linux-6.9.8.tar.xz +sha256c954f60197008f1e1f32a1e77293903cf3801d2543ec4bf521f5651eb7f133celinux-6.11.6.tar.xzboard/stmicroelectronics/common/stm32mp1xx/patches/optee-os/ new file +0
-0optee-os.hash
board/stmicroelectronics/common/stm32mp1xx/patches/optee-os/ new file +2
-0@@ -0,0 +1,2 @@ +# Locally calculated +sha256
03b91fd7dfdf890e3966f931f07634a2b6a2911bbee2a02ecc48d4a40cf6a9b8optee-os-4.3.0-git4.tar.gzboard/stmicroelectronics/stm32mp135f-dk/linux.config new file +190
-0@@ -0,0 +1,190 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_USELIB=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_BLK_DEV_INITRD=y +CONFIG_ARCH_STM32=y +CONFIG_ARM_THUMBEE=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_ARM_ERRATA_754322=y +CONFIG_ARM_ERRATA_754327=y +CONFIG_ARM_ERRATA_764369=y +CONFIG_ARM_ERRATA_775420=y +CONFIG_ARM_ERRATA_798181=y +CONFIG_SMP=y +CONFIG_MCPM=y +CONFIG_HIGHMEM=y +CONFIG_FORCE_MAX_ZONEORDER=12 +CONFIG_SECCOMP=y +# CONFIG_ATAGS is not set +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_CMDLINE_PARTITION=y +CONFIG_CMA=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +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_ARM_SCMI_PROTOCOL=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 +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_SRAM=y +CONFIG_EEPROM_AT24=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_KS8851=y +CONFIG_SMSC911X=y +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=y +CONFIG_MDIO_BITBANG=y +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_EDT_FT5X06=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_STPMIC1_ONKEY=y +CONFIG_SERIAL_STM32=y +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 +CONFIG_SPI_STM32_QSPI=y +CONFIG_PINCTRL_MCP23S08=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_STMFX=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_WATCHDOG=y +CONFIG_STPMIC1_WATCHDOG=y +CONFIG_MFD_STM32_LPTIMER=y +CONFIG_MFD_STPMIC1=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_ARM_SCMI=y +CONFIG_REGULATOR_STM32_BOOSTER=y +CONFIG_REGULATOR_STM32_VREFBUF=y +CONFIG_REGULATOR_STM32_PWR=y +CONFIG_REGULATOR_STPMIC1=y +CONFIG_DRM=y +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 +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_USB=m +CONFIG_USB_OTG=y +CONFIG_USB_XHCI_HCD=m +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_OHCI_HCD=m +CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_USB_DWC2=m +CONFIG_USB_CHIPIDEA=m +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_ISP1760=m +CONFIG_USB_HSIC_USB3503=m +CONFIG_USB_GPIO_VBUS=y +CONFIG_USB_ISP1301=m +CONFIG_USB_ULPI=y +CONFIG_TYPEC=y +CONFIG_TYPEC_STUSB=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK_MINORS=16 +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_DW=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_PWM=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STM32=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +CONFIG_COMMON_CLK_SCMI=y +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_STM32=y +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 +CONFIG_PWM=y +CONFIG_PWM_STM32=y +CONFIG_PWM_STM32_LP=y +CONFIG_RESET_SCMI=y +CONFIG_PHY_STM32_USBPHYC=y +CONFIG_NVMEM_STM32_ROMEM=y +CONFIG_TEE=y +CONFIG_OPTEE=y +CONFIG_COUNTER=y +CONFIG_STM32_LPTIMER_CNT=y +CONFIG_STM32_TIMER_CNT=y +CONFIG_EXT4_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_PRINTK_TIME=yboard/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/ new file +0
-0extlinux.conf
board/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/ new file +4
-0@@ -0,0 +1,4 @@ +label stm32mp135f-dk-buildroot + kernel /boot/zImage + devicetree /boot/stm32mp135f-dk.dtb + append root=/dev/mmcblk0p4 rootwaitboard/stmicroelectronics/stm32mp135f-dk/readme.txt new file +38
-0@@ -0,0 +1,38 @@ +STM32MP135F Discovery Kit + +Intro +===== + +This configuration supports the STM32MP135F Discovery Kit (DK) +platform: + + https://www.st.com/en/evaluation-tools/stm32mp135f-dk.html + +How to build +============ + + $ make stm32mp135f_dk_defconfig + $ make + +How to write the microSD card +============================= + +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an microSD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Boot the board +============== + + (1) Insert the microSD card in connector CN15 + + (2) Plug a micro-USB cable in connector CN11 and run your serial + communication program on /dev/ttyACM0. + + (3) Plug a USB-C cable in CN6 to power-up the board. + + (4) The system will start, with the console on UART, but also visible + on the screen.configs/stm32mp135f_dk_defconfig new file +4
-0@@ -0,0 +1,50 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11=y +BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/common/stm32mp1xx/patches"
configs/stm32mp135f_dk_defconfig new file +4
-0+BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_OVERLAY="board/stmicroelectronics/stm32mp135f-dk/overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/stmicroelectronics/common/
stm32mp1xx/post-image.sh"configs/stm32mp135f_dk_defconfig new file +5
-0+BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.11.6" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/
stm32mp135f-dk/linux.config"configs/stm32mp135f_dk_defconfig new file +18
-0+BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="st/stm32mp135f-dk" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_OPTEE_CLIENT=y +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_LATEST_LTS_2_10_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-nodtb.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1DTB_FILE_NAME=stm32mp135f-dk.dtb BL33_CFG=$(BINARIES_DIR)/u-boot.dtb"
configs/stm32mp135f_dk_defconfig new file +19
-0+BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin *.stm32" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_CUSTOM_VERSION=y +BR2_TARGET_OPTEE_OS_CUSTOM_VERSION_VALUE="4.3.0" +BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y +BR2_TARGET_OPTEE_OS_PLATFORM="stm32mp1" +BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR="135F_DK" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp13" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin u-boot.dtb" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp135f-dk" +BR2_PACKAGE_HOST_GENIMAGE=y
Quoted 6 lines
Quoted 5 lines
---
base-commit:15891236dbfb20ea971877918e9579b246f7c43c
change-id: 20240729-master-3a7c9cb9c96bBest regards,
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot