Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v5] configs/stm32mp135f-dk: new defconfig
@ 2025-01-29 18:32 Raphael Gallais-Pou
  2025-02-03 13:21 ` Arnout Vandecappelle via buildroot
  0 siblings, 1 reply; 3+ messages in thread
From: Raphael Gallais-Pou @ 2025-01-29 18:32 UTC (permalink / raw)
  To: buildroot; +Cc: Marleen Vos, Bartosz Bilas, Thomas Petazzoni, Dario Binacchi

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

Signed-off-by: Raphael Gallais-Pou <rgallaispou@gmail.com>
---
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/20241216-master-v4-1-010141012037@gmail.com

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/20241114-master-v3-1-8895d5a60a0f@gmail.com

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/20241017-master-v2-1-7cf8d42d5d81@gmail.com

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/20240814-master-v1-0-7834f3deddcb@gmail.com
---
 .../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(-)

diff --git a/board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash b/board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash
index 95bd23c8d022ab5d49b4979b5da47bbdaf105798..42d02c9f7836ccaacf82acfcbc524402cea9c9a3 100644
--- a/board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash
+++ b/board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash
@@ -1,2 +1,2 @@
 # Locally calculated
-sha256  f048267b7b88316c9ca708c68d15a9ae802dcfc943c3188c1273eb958c433281  linux-6.9.8.tar.xz
+sha256  c954f60197008f1e1f32a1e77293903cf3801d2543ec4bf521f5651eb7f133ce  linux-6.11.6.tar.xz
diff --git a/board/stmicroelectronics/common/stm32mp1xx/patches/optee-os/optee-os.hash b/board/stmicroelectronics/common/stm32mp1xx/patches/optee-os/optee-os.hash
new file mode 100644
index 0000000000000000000000000000000000000000..73d4e2c4dafb1a4a94fa26d61017e92faa7d101e
--- /dev/null
+++ b/board/stmicroelectronics/common/stm32mp1xx/patches/optee-os/optee-os.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256  03b91fd7dfdf890e3966f931f07634a2b6a2911bbee2a02ecc48d4a40cf6a9b8  optee-os-4.3.0-git4.tar.gz
diff --git a/board/stmicroelectronics/stm32mp135f-dk/linux.config b/board/stmicroelectronics/stm32mp135f-dk/linux.config
new file mode 100644
index 0000000000000000000000000000000000000000..25f570846af19baf87caa69c0cfb6fb415f00537
--- /dev/null
+++ b/board/stmicroelectronics/stm32mp135f-dk/linux.config
@@ -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=y
diff --git a/board/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/extlinux.conf b/board/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/extlinux.conf
new file mode 100644
index 0000000000000000000000000000000000000000..0cc49d6a560a90846ead993ff02d38cc7cadc7e7
--- /dev/null
+++ b/board/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/extlinux.conf
@@ -0,0 +1,4 @@
+label stm32mp135f-dk-buildroot
+  kernel /boot/zImage
+  devicetree /boot/stm32mp135f-dk.dtb
+  append root=/dev/mmcblk0p4 rootwait
diff --git a/board/stmicroelectronics/stm32mp135f-dk/readme.txt b/board/stmicroelectronics/stm32mp135f-dk/readme.txt
new file mode 100644
index 0000000000000000000000000000000000000000..46879f88cf00d501966181624ca9a318d2ce94d2
--- /dev/null
+++ b/board/stmicroelectronics/stm32mp135f-dk/readme.txt
@@ -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.
diff --git a/configs/stm32mp135f_dk_defconfig b/configs/stm32mp135f_dk_defconfig
new file mode 100644
index 0000000000000000000000000000000000000000..387fe3a4143235dfca12a97d1ccbd7e34e4fe149
--- /dev/null
+++ b/configs/stm32mp135f_dk_defconfig
@@ -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

Best regards,
-- 
Raphael Gallais-Pou <rgallaispou@gmail.com>

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Buildroot] [PATCH v5] configs/stm32mp135f-dk: new defconfig
  2025-01-29 18:32 [Buildroot] [PATCH v5] configs/stm32mp135f-dk: new defconfig Raphael Gallais-Pou
@ 2025-02-03 13:21 ` Arnout Vandecappelle via buildroot
  2025-02-03 13:55   ` Raphaël Gallais-Pou
  0 siblings, 1 reply; 3+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2025-02-03 13:21 UTC (permalink / raw)
  To: Raphael Gallais-Pou, buildroot
  Cc: Bartosz Bilas, Dario Binacchi, Marleen Vos, Thomas Petazzoni

  Hi Raphael,

On 29/01/2025 19:32, Raphael Gallais-Pou wrote:
> 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
> 
> Signed-off-by: Raphael Gallais-Pou <rgallaispou@gmail.com>

  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



> ---
> 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/20241216-master-v4-1-010141012037@gmail.com
> 
> 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/20241114-master-v3-1-8895d5a60a0f@gmail.com
> 
> 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/20241017-master-v2-1-7cf8d42d5d81@gmail.com
> 
> 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/20240814-master-v1-0-7834f3deddcb@gmail.com
> ---
>   .../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(-)
> 
> diff --git a/board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash b/board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash
> index 95bd23c8d022ab5d49b4979b5da47bbdaf105798..42d02c9f7836ccaacf82acfcbc524402cea9c9a3 100644
> --- a/board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash
> +++ b/board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash
> @@ -1,2 +1,2 @@
>   # Locally calculated
> -sha256  f048267b7b88316c9ca708c68d15a9ae802dcfc943c3188c1273eb958c433281  linux-6.9.8.tar.xz
> +sha256  c954f60197008f1e1f32a1e77293903cf3801d2543ec4bf521f5651eb7f133ce  linux-6.11.6.tar.xz
> diff --git a/board/stmicroelectronics/common/stm32mp1xx/patches/optee-os/optee-os.hash b/board/stmicroelectronics/common/stm32mp1xx/patches/optee-os/optee-os.hash
> new file mode 100644
> index 0000000000000000000000000000000000000000..73d4e2c4dafb1a4a94fa26d61017e92faa7d101e
> --- /dev/null
> +++ b/board/stmicroelectronics/common/stm32mp1xx/patches/optee-os/optee-os.hash
> @@ -0,0 +1,2 @@
> +# Locally calculated
> +sha256  03b91fd7dfdf890e3966f931f07634a2b6a2911bbee2a02ecc48d4a40cf6a9b8  optee-os-4.3.0-git4.tar.gz
> diff --git a/board/stmicroelectronics/stm32mp135f-dk/linux.config b/board/stmicroelectronics/stm32mp135f-dk/linux.config
> new file mode 100644
> index 0000000000000000000000000000000000000000..25f570846af19baf87caa69c0cfb6fb415f00537
> --- /dev/null
> +++ b/board/stmicroelectronics/stm32mp135f-dk/linux.config
> @@ -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=y
> diff --git a/board/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/extlinux.conf b/board/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/extlinux.conf
> new file mode 100644
> index 0000000000000000000000000000000000000000..0cc49d6a560a90846ead993ff02d38cc7cadc7e7
> --- /dev/null
> +++ b/board/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/extlinux.conf
> @@ -0,0 +1,4 @@
> +label stm32mp135f-dk-buildroot
> +  kernel /boot/zImage
> +  devicetree /boot/stm32mp135f-dk.dtb
> +  append root=/dev/mmcblk0p4 rootwait
> diff --git a/board/stmicroelectronics/stm32mp135f-dk/readme.txt b/board/stmicroelectronics/stm32mp135f-dk/readme.txt
> new file mode 100644
> index 0000000000000000000000000000000000000000..46879f88cf00d501966181624ca9a318d2ce94d2
> --- /dev/null
> +++ b/board/stmicroelectronics/stm32mp135f-dk/readme.txt
> @@ -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.
> diff --git a/configs/stm32mp135f_dk_defconfig b/configs/stm32mp135f_dk_defconfig
> new file mode 100644
> index 0000000000000000000000000000000000000000..387fe3a4143235dfca12a97d1ccbd7e34e4fe149
> --- /dev/null
> +++ b/configs/stm32mp135f_dk_defconfig
> @@ -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
> 
> Best regards,

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Buildroot] [PATCH v5] configs/stm32mp135f-dk: new defconfig
  2025-02-03 13:21 ` Arnout Vandecappelle via buildroot
@ 2025-02-03 13:55   ` Raphaël Gallais-Pou
  0 siblings, 0 replies; 3+ messages in thread
From: Raphaël Gallais-Pou @ 2025-02-03 13:55 UTC (permalink / raw)
  To: Arnout Vandecappelle, buildroot
  Cc: Bartosz Bilas, Dario Binacchi, Marleen Vos, Thomas Petazzoni



Le 03/02/2025 à 14:21, Arnout Vandecappelle a écrit :
>   Hi Raphael,

Hi Arnout,

Many thanks for merging this work.  I am really thankful.
> 
> On 29/01/2025 19:32, Raphael Gallais-Pou wrote:
>> 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
>>
>> Signed-off-by: Raphael Gallais-Pou <rgallaispou@gmail.com>
> 
>   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
> 
> 
>   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
> 
> 
> 
>> ---
>> 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/20241216-master- 
>> v4-1-010141012037@gmail.com
>>
>> 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/20241114-master- 
>> v3-1-8895d5a60a0f@gmail.com
>>
>> 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/20241017-master- 
>> v2-1-7cf8d42d5d81@gmail.com
>>
>> 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/20240814-master- 
>> v1-0-7834f3deddcb@gmail.com
>> ---
>>   .../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(-)
>>
>> diff --git a/board/stmicroelectronics/common/stm32mp1xx/patches/linux/ 
>> linux.hash b/board/stmicroelectronics/common/stm32mp1xx/patches/linux/ 
>> linux.hash
>> index 
>> 95bd23c8d022ab5d49b4979b5da47bbdaf105798..42d02c9f7836ccaacf82acfcbc524402cea9c9a3 100644
>> --- a/board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash
>> +++ b/board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash
>> @@ -1,2 +1,2 @@
>>   # Locally calculated
>> -sha256  
>> f048267b7b88316c9ca708c68d15a9ae802dcfc943c3188c1273eb958c433281  
>> linux-6.9.8.tar.xz
>> +sha256  
>> c954f60197008f1e1f32a1e77293903cf3801d2543ec4bf521f5651eb7f133ce  
>> linux-6.11.6.tar.xz
>> diff --git a/board/stmicroelectronics/common/stm32mp1xx/patches/optee- 
>> os/optee-os.hash b/board/stmicroelectronics/common/stm32mp1xx/patches/ 
>> optee-os/optee-os.hash
>> new file mode 100644
>> index 
>> 0000000000000000000000000000000000000000..73d4e2c4dafb1a4a94fa26d61017e92faa7d101e
>> --- /dev/null
>> +++ b/board/stmicroelectronics/common/stm32mp1xx/patches/optee-os/ 
>> optee-os.hash
>> @@ -0,0 +1,2 @@
>> +# Locally calculated
>> +sha256  
>> 03b91fd7dfdf890e3966f931f07634a2b6a2911bbee2a02ecc48d4a40cf6a9b8  
>> optee-os-4.3.0-git4.tar.gz
>> diff --git a/board/stmicroelectronics/stm32mp135f-dk/linux.config b/ 
>> board/stmicroelectronics/stm32mp135f-dk/linux.config
>> new file mode 100644
>> index 
>> 0000000000000000000000000000000000000000..25f570846af19baf87caa69c0cfb6fb415f00537
>> --- /dev/null
>> +++ b/board/stmicroelectronics/stm32mp135f-dk/linux.config
>> @@ -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=y
>> diff --git a/board/stmicroelectronics/stm32mp135f-dk/overlay/boot/ 
>> extlinux/extlinux.conf b/board/stmicroelectronics/stm32mp135f-dk/ 
>> overlay/boot/extlinux/extlinux.conf
>> new file mode 100644
>> index 
>> 0000000000000000000000000000000000000000..0cc49d6a560a90846ead993ff02d38cc7cadc7e7
>> --- /dev/null
>> +++ b/board/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/ 
>> extlinux.conf
>> @@ -0,0 +1,4 @@
>> +label stm32mp135f-dk-buildroot
>> +  kernel /boot/zImage
>> +  devicetree /boot/stm32mp135f-dk.dtb
>> +  append root=/dev/mmcblk0p4 rootwait
>> diff --git a/board/stmicroelectronics/stm32mp135f-dk/readme.txt b/ 
>> board/stmicroelectronics/stm32mp135f-dk/readme.txt
>> new file mode 100644
>> index 
>> 0000000000000000000000000000000000000000..46879f88cf00d501966181624ca9a318d2ce94d2
>> --- /dev/null
>> +++ b/board/stmicroelectronics/stm32mp135f-dk/readme.txt
>> @@ -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.
>> diff --git a/configs/stm32mp135f_dk_defconfig b/configs/ 
>> stm32mp135f_dk_defconfig
>> new file mode 100644
>> index 
>> 0000000000000000000000000000000000000000..387fe3a4143235dfca12a97d1ccbd7e34e4fe149
>> --- /dev/null
>> +++ b/configs/stm32mp135f_dk_defconfig
>> @@ -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
>>
>> Best regards,
> 

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-02-03 13:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-29 18:32 [Buildroot] [PATCH v5] configs/stm32mp135f-dk: new defconfig Raphael Gallais-Pou
2025-02-03 13:21 ` Arnout Vandecappelle via buildroot
2025-02-03 13:55   ` Raphaël Gallais-Pou

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox