From patchwork Thu Oct 22 15:13:58 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4890 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id BD3653F0E6 for ; Thu, 22 Oct 2026 17:14:15 +0200 (CEST) Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-48df5b058ddsf1309302f8f.0 for ; Thu, 22 Oct 2026 08:14:15 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1792682055; cv=pass; d=google.com; s=arc-20260327; b=oYnMDKb3Rso9zIIxbocpikUJpXK7qb+24cSqSlZA6/ylTP+kOop60Jy46vH+i2lRHf luFMxc0I2/x8DU5sWqrbi9x4zTmK9XwdCPnfnBP8dTN06nv+5KUOsSTpgD75LzTjiwli XGq+RcL9B297uimfqdl0BXPz+jDqg0qTBkcZ+hRFQUW3Wpo+2aBFjGgHvdxu0idBkh7y DEHzOX0L2XvbNsNlEhHp7yT8p+JbIzNmy7IhXuovxhRFmTOy6mRY4DlCCYh1409zmEU7 DWn7Pw1eKwH/U9okSlb6FqK3MgriRUQ71ZdVgXQjQjAecT5pG+detGPIDdVfxkSkkTvL prMg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=ERT6PQS3yL5XvcD6LXauORSU8+PR5joDjBPH6rJ2E0k=; fh=zTAl5bLBYu8DJ2FK4FD3hJTRWmf1hZgEguPLpT9fi9g=; b=l+4zBIvcVWwjUZ0eZKj4oW6UNBunSh/C1rquVVt4o1eUZJ4Y26trAEmJ1sZ5ZiJSQ4 tdPMtSawS+m/fkMncOelPseId6xge1Q38CTTlD++4KqBLJZ3eN/ekjrNbj4HwheHxE/J dMdVhl1WcpTbD1JzKJgVvt7VHxrw7N+KyA2q7SZALXESLPc2rdsgVkFDQcQR3Cq2AZeD zqzcEde46ISvTTHUbVw2bsyznR5zyF8tsMKLGwlwYAb/oDOO8mCgMmNZLTRXF1RIPRsf eJFEoP69k5YqfP0LDUFfx9UgDbU+1k9q8/2qN7MRoXRULIK4UArz4V6EODqrJs47yNsM aOlw==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Mn2aNSXQ; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1792682055; x=1793286855; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:content-type :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to:content-type; bh=ERT6PQS3yL5XvcD6LXauORSU8+PR5joDjBPH6rJ2E0k=; b=dxRA+nuSEJZdb3SUTpUSgy719W4XDTS6HKvVhfYZDZuhHxt8IbTmUpKKojv+qIKMpf SaJkx2xR49Du5CdFE97oHLBhEMexauQGdBo+U2ZUWfmmsWydanFM823/luiS3AX1FUUI EbAyT6JUI5zE2p5Z5yh+Mo8slGZ100FCxU8C0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792682055; x=1793286855; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :content-type:x-original-authentication-results:x-original-sender :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-gm-gg:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ERT6PQS3yL5XvcD6LXauORSU8+PR5joDjBPH6rJ2E0k=; b=tE4kJ1zpivtfg/MRwMOBMuS+b7zFsNm5FklOaZN9g6hVbCYn9Oc/qwjKZLf5Hlu8xa g2uyygomUvQYcWw19WB3zxFlIHzykA+3Az+J8/MQIJ9cNNLPFGTnVStJHgvTQHJDJ74w zNuRVutxSkpnLfVqAGT8TmIfjcTvA7YR2jGiZPdTu1UcQJvKj27+x23OSsioXqtsDqtY Pwcjy/Jjz5jWa7j9kySlzcYXDULk82RiCL6XrwDF/FDPj0YRBheFc73+/HYqA5jzTQiH 2BIoOknJkZacmYZ6zoONazqsMzhiUU28TJPP0fwWNK5fKFV1VnOD6RaFGh6aYCmlxKAC d4pw== X-Forwarded-Encrypted: i=2; AKwUvBzQEo+0ACHhqvKKopE2z6CqCNTnNIrCFMKgb5yJfVyJYX0kRiTnI4vEMAwgTWLZbBgJNr9KT3nP6PprBrqL@patchwork.amarulasolutions.com X-Gm-Message-State: AFq9FYKxkovpCh1sP/FR7m7naRYkNS3YBpjxAXijCiH4Qa2yICqO0/Ye P7N7tMp/H09Z9oR3GyEgLkRpy6ni5qjy6lySFNqAXFGfBM/1WzRye6b4vOVUcvs6WqYjcRvW3CK 4WQ== X-Received: by 2002:a05:6000:4a0e:b0:48b:f93:3b87 with SMTP id ffacd0b85a97d-48e264c117emr10858472f8f.30.1792682055296; Thu, 22 Oct 2026 08:14:15 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="ATskLdf/tKEMwlt8vBy2DZm8yUnjXaDxFzQbEmuLc5lCpL8Vfw==" Received: by 2002:a05:6000:25ed:b0:48b:2f3:f5f9 with SMTP id ffacd0b85a97d-48e2464ce2bls2420185f8f.1.-pod-prod-03-eu; Thu, 22 Oct 2026 08:14:13 -0700 (PDT) X-Forwarded-Encrypted: i=2; AKwUvBzNMt32rDqVg+R61ucXAkwBWBFTckKtdIEHymL5+STEe8HU4aWWgKS69Zlb11fsnlmX3mkRJvqavLXcxSRG@amarulasolutions.com X-Received: by 2002:a5d:5f41:0:b0:48d:f39b:83de with SMTP id ffacd0b85a97d-48e2642d367mr11876483f8f.3.1792682053383; Thu, 22 Oct 2026 08:14:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1792682053; cv=none; d=google.com; s=arc-20260327; b=ZpIRzbhvlEcAQenKKyAb8WnGYz69sDQf3Ec9OLBU73rJubfeJqJAybuW97jEs4BJJO CcdxsVLuLOCbLhDi7bdfe5ysc/zcKdbGUCJ/ex5mQQp+djMIcDsFfu5Vn4wmSeg/BsoR TgKgoZz5qJrdG1CryfD9TZQOkeAJAf5Bx0XqkEB6J6nSYN9KQi06n8olWZBuKvJjz5si I22s6UD2OtT2P6PAXX9Lj1iJUGz6rc9nOHV6yKL+TYcVnRbIP4RUznUMWZUJrWeb+pXl Zq0JcRxbMscjh0/4siE2zxVLysYvqc+ACQE1sUh6MQJUSWhavF/R0VWR5EKHjtDg1X/b EHAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=MbKpS3rxCiadnMIEx2I7bMFCm7T1XCMiqI6xe9/pEoc=; fh=pne+M/34km+iYjcWejoQTn9v75yY61umu9RRE+SFeps=; b=ddPLcO/vHj1mq8wICBwg+5tMk5nS40JSCBsOWciFGl99mPBYaenkSrEsgohm3dlVKh bUHK/0OgEqHFbIZv+jBFCSyYhlRLucA1C1K70/C3pmgbavblWDyI4V30VkL2dZBb9T3b vYLmgfSbFqtHV7OwDH0ftuV5EMLb6XxDFbNSt5YK+a8vQ1srtr+AskMzXGWbMkKFmzll SE2Q1Icia+GVo98olcUo/tHSI9UW8AHm+u/hvZ1dJ5dJDNsHSn1/3+HiyQWU6BvofCmu nEYdca0mSOHiZqnGmHnw0g+tCDnxb3Qc5GfBtgplzYcfaz3kbD+SpMoK203CB/xLqquN cysQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Mn2aNSXQ; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id ffacd0b85a97d-48e25dcc292sor1051477f8f.15.2026.10.22.08.14.13 for (Google Transport Security); Thu, 22 Oct 2026 08:14:13 -0700 (PDT) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Forwarded-Encrypted: i=1; AKwUvBzYP0I5tgMi4BxYl0mte8B3b1khb4LqLmUVrLZRUvgcoTIbIu0dsJw5+2tJNOhLw9Gx6/RveomtR7Y8h1qk@amarulasolutions.com X-Gm-Gg: AYBFou1fGfNXjXtz1rqjEJ9kGC5bXNNV1MN2zjNWX+A2zy2mVvKuLslUvNqvsirgFYA /gItJaiQIKo+LBzni5nharBXbT3NQHWsim6u85dM2ZJw+75eFLMVYGPAd7s0wokLCxH6156TWIf QaY9gRnTdWWpQhNNHJ2crVSRfjEIgs0m9LpL+C4mOCIczUQG/6M05rHsWCtgEpJ/VchwuTw40H8 kY+S1ktDPegK7uhB6uMfvW1JCKq7L/tIe7l3F2969GyYK8rKCypAHN6EGjLeECXFkKphWC3qdLp CTNd7O+HVbBN563ng1Bs5y4V2tvRIRCImkmQDg4SJKibxC3zLxm3G6/3lTlikTj30IlaoWW8ygM noHOQEAjuizV4pH4HfLvPjRiAzLHCo1bmf6nbTm1ipI2S2XCppHXgFN/oY7X3DQug8ZKHtqsD1f cQaLBlV9e241r4mQKTSRk3FknxQRsToLBRZG9WWW1V4HsYlKW0F+ULmZ0wvz6/2xVYg13s+h9cP fInTq4xbRT08zA+QUgCBFywJ4o+cqIQLKMDIe2OZIu+NIUA58/LYhDgsTkyqTj7sgCx3EYm7xNV KH6H8im++zeXq8doXC2KxWA2n5xSKNB8jqpUPOaGczDFA2ZrMFebSW79PGbK/n/1w+PQgP8R6T+ sc+d6tdZPcE8/JpcJnp/73MN9xiPvJt2X4X7PJekNO5AejfzrVB1O X-Received: by 2002:a05:6000:161b:b0:48c:7caa:12cd with SMTP id ffacd0b85a97d-48e264b1606mr7881355f8f.22.1792682052154; Thu, 22 Oct 2026 08:14:12 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-79-14-29-58.business.telecomitalia.it. [79.14.29.58]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48e25827087sm12732367f8f.21.2026.10.22.08.14.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Oct 2026 08:14:11 -0700 (PDT) From: Dario Binacchi To: buildroot@buildroot.org Cc: Dario Binacchi , Dick Olsson , Sergey Matyukevich , Thomas Petazzoni , linux-amarula@amarulasolutions.com Subject: [PATCH 6/6] configs/stm32mp257f_ev1_defconfig: new defconfig Date: Thu, 22 Oct 2026 17:13:58 +0200 Message-ID: <20261022151358.2260712-7-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20261022151358.2260712-1-dario.binacchi@amarulasolutions.com> References: <20261022151358.2260712-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Mn2aNSXQ; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Add support for the STM32MP257F Evaluation board (EV1) [1]. The goal is an image built from upstream components: - TF-A v2.15.0 - U-Boot 2026.10 - Linux 7.3 configured, where possible, with the same build options used by the official STMicroelectronics OpenSTLinux Yocto layers [2]. This was not possible for OP-TEE OS. Indeed upstream OP-TEE OS does not support yet, on STM32MP25, the STPMIC2 PMIC and the SCMI voltage domains, which the mainline Linux device tree requires for the microSD card supplies [3]. Until this is resolved, the STMicroelectronics downstream version (4.0.0-stm32mp-r3) has to be used. Host bmap-tools is enabled to speed up the flashing of the microSD card, which is much faster than with dd. [1] https://www.st.com/en/evaluation-tools/stm32mp257f-ev1.html [2] https://github.com/STMicroelectronics/meta-st-stm32mp/tree/openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18 [3] https://github.com/OP-TEE/optee_os/issues/8027 Signed-off-by: Dario Binacchi --- DEVELOPERS | 2 + .../stm32mp257f-ev1/genimage.cfg | 52 ++++++++++++++ .../overlay/boot/extlinux/extlinux.conf | 4 ++ .../overlay/etc/fwumdata.config | 4 ++ .../arm-trusted-firmware.hash | 2 + ...-arm-smc-id-of-the-SMC-watchdog-on-s.patch | 53 ++++++++++++++ .../stm32mp257f-ev1/patches/linux/linux.hash | 2 + ...2mp25-rename-the-PCIe-bus-SCMI-clock.patch | 44 ++++++++++++ .../patches/optee-os/optee-os.hash | 2 + .../stm32mp257f-ev1/patches/uboot/uboot.hash | 2 + .../stm32mp257f-ev1/post-image.sh | 18 +++++ .../stm32mp257f-ev1/readme.txt | 72 +++++++++++++++++++ configs/stm32mp257f_ev1_defconfig | 66 +++++++++++++++++ 13 files changed, 323 insertions(+) create mode 100644 board/stmicroelectronics/stm32mp257f-ev1/genimage.cfg create mode 100644 board/stmicroelectronics/stm32mp257f-ev1/overlay/boot/extlinux/extlinux.conf create mode 100644 board/stmicroelectronics/stm32mp257f-ev1/overlay/etc/fwumdata.config create mode 100644 board/stmicroelectronics/stm32mp257f-ev1/patches/arm-trusted-firmware/arm-trusted-firmware.hash create mode 100644 board/stmicroelectronics/stm32mp257f-ev1/patches/linux/0001-arm64-dts-st-fix-arm-smc-id-of-the-SMC-watchdog-on-s.patch create mode 100644 board/stmicroelectronics/stm32mp257f-ev1/patches/linux/linux.hash create mode 100644 board/stmicroelectronics/stm32mp257f-ev1/patches/optee-os/0001-dts-stm32mp25-rename-the-PCIe-bus-SCMI-clock.patch create mode 100644 board/stmicroelectronics/stm32mp257f-ev1/patches/optee-os/optee-os.hash create mode 100644 board/stmicroelectronics/stm32mp257f-ev1/patches/uboot/uboot.hash create mode 100755 board/stmicroelectronics/stm32mp257f-ev1/post-image.sh create mode 100644 board/stmicroelectronics/stm32mp257f-ev1/readme.txt create mode 100644 configs/stm32mp257f_ev1_defconfig diff --git a/DEVELOPERS b/DEVELOPERS index c188cd301f2c..24ea83e428ec 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -811,6 +811,7 @@ F: board/bsh/ F: board/stmicroelectronics/stm32f746-disco/ F: board/stmicroelectronics/stm32f769-disco/ F: board/stmicroelectronics/stm32h747-disco/ +F: board/stmicroelectronics/stm32mp257f-ev1/ F: boot/stm32-ddr-phy-binary/ F: boot/ti-k3-boot-firmware/ F: configs/imx6ulz_bsh_smm_m2_defconfig @@ -819,6 +820,7 @@ F: configs/imx8mn_bsh_smm_s2_pro_defconfig F: configs/stm32f746_disco_sd_defconfig F: configs/stm32f769_disco_sd_defconfig F: configs/stm32h747_disco_sd_defconfig +F: configs/stm32mp257f_ev1_defconfig F: package/aespipe/ F: package/armadillo/ F: package/atf/ diff --git a/board/stmicroelectronics/stm32mp257f-ev1/genimage.cfg b/board/stmicroelectronics/stm32mp257f-ev1/genimage.cfg new file mode 100644 index 000000000000..aec66cc7c490 --- /dev/null +++ b/board/stmicroelectronics/stm32mp257f-ev1/genimage.cfg @@ -0,0 +1,52 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition fsbla1 { + image = "tf-a-stm32mp257f-ev1.stm32" + size = 256K + } + + partition fsbla2 { + image = "tf-a-stm32mp257f-ev1.stm32" + size = 256K + } + + partition metadata1 { + image = "fwu-mdata.bin" + partition-type-uuid = "${FWU_MDATA_TYPE_UUID}" + size = 256K + } + + partition metadata2 { + image = "fwu-mdata.bin" + partition-type-uuid = "${FWU_MDATA_TYPE_UUID}" + size = 256K + } + + partition fip-a { + image = "fip.bin" + partition-type-uuid = "${FIP_TYPE_UUID}" + partition-uuid = "${FIP_A_UUID}" + size = 4M + } + + partition fip-b { + image = "fip.bin" + partition-type-uuid = "${FIP_TYPE_UUID}" + partition-uuid = "${FIP_B_UUID}" + size = 4M + } + + partition u-boot-env { + partition-type-uuid = "3de21764-95bd-54bd-a5c3-4abe786f38a8" + size = 512K + } + + partition rootfs { + image = "rootfs.ext4" + partition-uuid = "e91c4e10-16e6-4c0e-bd0e-77becf4a3582" + bootable = "yes" + } +} diff --git a/board/stmicroelectronics/stm32mp257f-ev1/overlay/boot/extlinux/extlinux.conf b/board/stmicroelectronics/stm32mp257f-ev1/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 000000000000..7871513cba0c --- /dev/null +++ b/board/stmicroelectronics/stm32mp257f-ev1/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label stm32mp257f-ev1-buildroot + kernel /boot/Image.gz + devicetree /boot/stm32mp257f-ev1.dtb + append root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait console=ttySTM0,115200 earlycon diff --git a/board/stmicroelectronics/stm32mp257f-ev1/overlay/etc/fwumdata.config b/board/stmicroelectronics/stm32mp257f-ev1/overlay/etc/fwumdata.config new file mode 100644 index 000000000000..c172b26cb284 --- /dev/null +++ b/board/stmicroelectronics/stm32mp257f-ev1/overlay/etc/fwumdata.config @@ -0,0 +1,4 @@ +# FWU metadata location: +# metadata1 and metadata2 partitions of the SD card (see genimage.cfg) +/dev/mmcblk0p3 0x0 0x78 +/dev/mmcblk0p4 0x0 0x78 diff --git a/board/stmicroelectronics/stm32mp257f-ev1/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/stmicroelectronics/stm32mp257f-ev1/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 000000000000..2e24bcd0de5b --- /dev/null +++ b/board/stmicroelectronics/stm32mp257f-ev1/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b807d8bf190b7c46b4260729b4bbe2f7df83cd1086edcb181d66595ae6598d23 arm-trusted-firmware-v2.15.0-git4.tar.gz diff --git a/board/stmicroelectronics/stm32mp257f-ev1/patches/linux/0001-arm64-dts-st-fix-arm-smc-id-of-the-SMC-watchdog-on-s.patch b/board/stmicroelectronics/stm32mp257f-ev1/patches/linux/0001-arm64-dts-st-fix-arm-smc-id-of-the-SMC-watchdog-on-s.patch new file mode 100644 index 000000000000..ba1324dc13e3 --- /dev/null +++ b/board/stmicroelectronics/stm32mp257f-ev1/patches/linux/0001-arm64-dts-st-fix-arm-smc-id-of-the-SMC-watchdog-on-s.patch @@ -0,0 +1,53 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Mateusz Nowicki +Date: Mon, 7 Sep 2026 09:14:11 +0000 +Subject: [PATCH] arm64: dts: st: fix arm,smc-id of the SMC watchdog on + stm32mp2 + +OP-TEE implements the STM32MP2 watchdog SMC service with function ID +0xbc000000 (CFG_WDT_SM_HANDLER_ID), not 0xb200005a. With the current +value the arm_smc_wdt probe fails with -EIO and the IWDG started by the +bootloader is never refreshed. + +Fixes: 89fca38168c9 ("arm64: dts: st: add arm-wdt node for watchdog support on stm32mp251") +Fixes: e9b03ef21386 ("arm64: dts: st: introduce stm32mp23 SoCs family") +Signed-off-by: Mateusz Nowicki +Reviewed-by: Antonio Borneo +Link: https://lore.kernel.org/r/20260907091400.55954-1-mateusz.nowicki@posteo.net +Signed-off-by: Alexandre Torgue +Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=ae4d08bbe3f4f5ec920dbdba26091adf0ae6ba71 +Signed-off-by: Dario Binacchi +--- + arch/arm64/boot/dts/st/stm32mp231.dtsi | 2 +- + arch/arm64/boot/dts/st/stm32mp251.dtsi | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm64/boot/dts/st/stm32mp231.dtsi b/arch/arm64/boot/dts/st/stm32mp231.dtsi +index 0feb8943efae..1f297163fae2 100644 +--- a/arch/arm64/boot/dts/st/stm32mp231.dtsi ++++ b/arch/arm64/boot/dts/st/stm32mp231.dtsi +@@ -35,7 +35,7 @@ arm-pmu { + + arm_wdt: watchdog { + compatible = "arm,smc-wdt"; +- arm,smc-id = <0xb200005a>; ++ arm,smc-id = <0xbc000000>; + status = "disabled"; + }; + +diff --git a/arch/arm64/boot/dts/st/stm32mp251.dtsi b/arch/arm64/boot/dts/st/stm32mp251.dtsi +index 44938c036e30..ea1b04002b28 100644 +--- a/arch/arm64/boot/dts/st/stm32mp251.dtsi ++++ b/arch/arm64/boot/dts/st/stm32mp251.dtsi +@@ -36,7 +36,7 @@ arm-pmu { + + arm_wdt: watchdog { + compatible = "arm,smc-wdt"; +- arm,smc-id = <0xb200005a>; ++ arm,smc-id = <0xbc000000>; + status = "disabled"; + }; + +-- +2.43.0 + diff --git a/board/stmicroelectronics/stm32mp257f-ev1/patches/linux/linux.hash b/board/stmicroelectronics/stm32mp257f-ev1/patches/linux/linux.hash new file mode 100644 index 000000000000..a28e591f3694 --- /dev/null +++ b/board/stmicroelectronics/stm32mp257f-ev1/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v7.x/sha256sums.asc +sha256 87363c24f10e06321eb362765521094e94471f6bff8bce2d6b3e40f39f004953 linux-7.3.tar.xz diff --git a/board/stmicroelectronics/stm32mp257f-ev1/patches/optee-os/0001-dts-stm32mp25-rename-the-PCIe-bus-SCMI-clock.patch b/board/stmicroelectronics/stm32mp257f-ev1/patches/optee-os/0001-dts-stm32mp25-rename-the-PCIe-bus-SCMI-clock.patch new file mode 100644 index 000000000000..3320ba0ba236 --- /dev/null +++ b/board/stmicroelectronics/stm32mp257f-ev1/patches/optee-os/0001-dts-stm32mp25-rename-the-PCIe-bus-SCMI-clock.patch @@ -0,0 +1,44 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Tue, 20 Oct 2026 12:26:20 +0200 +Subject: [PATCH] dts: stm32mp25: rename the PCIe bus SCMI clock + +The PCIe bus clock is exposed to the Cortex-A35 agent through SCMI with +the ck_icn_p_pcie domain name, which is also the name of the same clock +in the mainline Linux stm32mp25 RCC driver. When the mainline kernel +is used, the SCMI clock driver registers ck_icn_p_pcie first and the +RCC driver fails to probe, leaving the system without clock tree, +console and SD card: + + stm32mp25_rcc 44200000.clock-controller: error -EEXIST: failed to register clk 'ck_icn_p_pcie' (ck_icn_p_pcie+0x8/0x38) + stm32mp25_rcc 44200000.clock-controller: probe with driver stm32mp25_rcc failed with error -17 + +Mainline Linux does not use this SCMI clock: the PCIe nodes reference +the RCC clock directly (<&rcc CK_BUS_PCIE>). + +Rename the SCMI clock domain to ck_scmi_icn_pcie. Only the name exposed +through SCMI changes: the SCMI clock ID (CK_SCMI_ICN_PCIE) is unchanged, +so device trees referencing this clock by its ID are not affected. + +Upstream: https://github.com/STMicroelectronics/optee_os/pull/5 +Signed-off-by: Dario Binacchi +--- + core/arch/arm/dts/stm32mp25-st-scmi-cfg.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/core/arch/arm/dts/stm32mp25-st-scmi-cfg.dtsi b/core/arch/arm/dts/stm32mp25-st-scmi-cfg.dtsi +index f0c164ffdcf1..284e8208a8a8 100644 +--- a/core/arch/arm/dts/stm32mp25-st-scmi-cfg.dtsi ++++ b/core/arch/arm/dts/stm32mp25-st-scmi-cfg.dtsi +@@ -857,7 +857,7 @@ + + clock@84 { + reg = ; +- domain-name = "ck_icn_p_pcie"; ++ domain-name = "ck_scmi_icn_pcie"; + clocks = <&rcc CK_BUS_PCIE>; + flags = ; + }; +-- +2.43.0 + diff --git a/board/stmicroelectronics/stm32mp257f-ev1/patches/optee-os/optee-os.hash b/board/stmicroelectronics/stm32mp257f-ev1/patches/optee-os/optee-os.hash new file mode 100644 index 000000000000..2003fe484ae0 --- /dev/null +++ b/board/stmicroelectronics/stm32mp257f-ev1/patches/optee-os/optee-os.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 0fb0ef4c2d303bea8c2c7e2dfbab6e04bc92da631b778b1ba834ee320f869f03 optee-os-4.0.0-stm32mp-r3.tar.gz diff --git a/board/stmicroelectronics/stm32mp257f-ev1/patches/uboot/uboot.hash b/board/stmicroelectronics/stm32mp257f-ev1/patches/uboot/uboot.hash new file mode 100644 index 000000000000..66c72d3afd51 --- /dev/null +++ b/board/stmicroelectronics/stm32mp257f-ev1/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 3f856da3cbbc93af51ff95fde18588a348b4a26723b01d9841e999d988481015 u-boot-2026.10.tar.bz2 diff --git a/board/stmicroelectronics/stm32mp257f-ev1/post-image.sh b/board/stmicroelectronics/stm32mp257f-ev1/post-image.sh new file mode 100755 index 000000000000..c68774cdb814 --- /dev/null +++ b/board/stmicroelectronics/stm32mp257f-ev1/post-image.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +BOARD_DIR="$(dirname "$0")" + +# GPT partition type and partition UUIDs, also used by genimage.cfg +export FWU_MDATA_TYPE_UUID="8a7a84a0-8387-40f6-ab41-a8b9a5a60d23" +export FIP_TYPE_UUID="19d5df83-11b0-457b-be2c-7559c13142a5" +export FIP_A_UUID="4fd84c93-54ef-463f-a7ef-ae25ff887087" +export FIP_B_UUID="09c54952-d5bf-45af-acee-335303766fb3" + +# FWU metadata (v2): 1 image (the FIP) per bank, 2 banks (fip-a, fip-b) +"${HOST_DIR}/bin/mkfwumdata" -g -i 1 -b 2 -v 2 \ + "${FWU_MDATA_TYPE_UUID},${FIP_TYPE_UUID},${FIP_A_UUID},${FIP_B_UUID}" \ + "${BINARIES_DIR}/fwu-mdata.bin" + +support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg" diff --git a/board/stmicroelectronics/stm32mp257f-ev1/readme.txt b/board/stmicroelectronics/stm32mp257f-ev1/readme.txt new file mode 100644 index 000000000000..9c253c24be2d --- /dev/null +++ b/board/stmicroelectronics/stm32mp257f-ev1/readme.txt @@ -0,0 +1,72 @@ +STM32MP257F Evaluation board + +Intro +===== + +This configuration supports the STM32MP257F Evaluation board (EV1) +platform: + + https://www.st.com/en/evaluation-tools/stm32mp257f-ev1.html + +It uses mainline Linux, U-Boot and TF-A, the STMicroelectronics +downstream version of OP-TEE OS, and boots from the microSD card using +the FWU (Firmware Update) multi bank layout of the TF-A FIP: two FIP +banks (fip-a and fip-b) and two redundant copies of the FWU metadata +(metadata1 and metadata2) selecting the active bank. + +The STMicroelectronics downstream OP-TEE OS is used because upstream +OP-TEE OS does not support yet, on STM32MP25, the STPMIC2 PMIC, the PWR +regulators and their exposure through the SCMI voltage domain protocol, +which the mainline Linux device tree requires for the microSD card +supplies. See the related upstream discussion: + + https://github.com/OP-TEE/optee_os/issues/8027 + +How to build +============ + + $ make stm32mp257f_ev1_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, together with its block +map "sdcard.img.bmap". + +Copy the bootable "sdcard.img" onto a microSD card with "bmaptool", +which only writes the blocks actually used by the image: + + $ sudo bmaptool copy output/images/sdcard.img /dev/sdX + +Alternatively, with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Boot the board +============== + + (1) Set the boot switches to boot from the microSD card and insert + the microSD card. + + (2) Plug a USB cable in the ST-LINK connector and run your serial + communication program on /dev/ttyACM0 (115200 8N1). + + (3) Power-up the board. + + (4) The system will start, with the console on UART. + +FWU metadata +============ + +The FWU metadata is generated at build time by the host mkfwumdata +tool, with fip-a as active bank. It can be inspected and modified +from Linux with the fwumdata tool, configured by /etc/fwumdata.config: + + # fwumdata -l + +For example, to boot the FIP from the fip-b partition: + + # fwumdata -a 1 -p 0 + # reboot diff --git a/configs/stm32mp257f_ev1_defconfig b/configs/stm32mp257f_ev1_defconfig new file mode 100644 index 000000000000..ca434ee5dd6c --- /dev/null +++ b/configs/stm32mp257f_ev1_defconfig @@ -0,0 +1,66 @@ +BR2_aarch64=y +BR2_cortex_a35=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32mp257f-ev1/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_OVERLAY="board/stmicroelectronics/stm32mp257f-ev1/overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/stmicroelectronics/stm32mp257f-ev1/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="7.3" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_IMAGEGZ=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="st/stm32mp257f-ev1" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_UBOOT_TOOLS=y +BR2_PACKAGE_UBOOT_TOOLS_FWUMDATA=y +BR2_PACKAGE_OPTEE_CLIENT=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.15.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=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="STM32MP25=1 STM32MP_SDMMC=1 STM32MP_DDR4_TYPE=1 PSA_FWU_SUPPORT=1 STM32MP_BL33_EL1=0 PSCI_OS_INIT_MODE=1 DTB_FILE_NAME=stm32mp257f-ev1.dtb BL32_EXTRA2= 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_TARBALL=y +BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL_LOCATION="$(call github,STMicroelectronics,optee_os,4.0.0-stm32mp-r3)/optee-os-4.0.0-stm32mp-r3.tar.gz" +BR2_TARGET_OPTEE_OS_NEEDS_DTC=y +BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y +BR2_TARGET_OPTEE_OS_NEEDS_CMAKE=y +# BR2_TARGET_OPTEE_OS_SDK is not set +# BR2_TARGET_OPTEE_OS_SERVICES is not set +BR2_TARGET_OPTEE_OS_PLATFORM="stm32mp2" +BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR="257F_EV1" +BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES="CFG_WITH_TUI=n" +BR2_TARGET_STM32_DDR_PHY_BINARY=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp25" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=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=st/stm32mp257f-ev1" +BR2_PACKAGE_HOST_BMAP_TOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_MKFWUMDATA=y