All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] arm: mediatek: mt8188: run SPL and pre-relocation U-Boot with caches
@ 2026-10-30  8:57 Steffen Dirkwinkel
  2026-10-30  8:57 ` [PATCH 1/2] arm: mediatek: mt8188: enable the caches in SPL Steffen Dirkwinkel
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Steffen Dirkwinkel @ 2026-10-30  8:57 UTC (permalink / raw)
  To: GSS_MTK_Uboot_upstream, u-boot
  Cc: Tom Rini, Ilias Apalodimas, Ryder Lee, Weijie Gao, Chunfeng Yun,
	Igor Belwon, David Lechner, Julien Stephan, Steffen Dirkwinkel,
	Carlo Caione, Chris Chen

Running u-boot without caches is slow, especially if using rsa
signatures. This series turns the caches in u-boot spl and proper on
early.

Measured on an MT8370 module (Beckhoff SM0101, not upstream yet) with TF-A
BL2 as DDR loader and SPL loading a 2.7 MB FIT (BL31, OP-TEE, U-Boot,
SHA-256 hashes) from SPI NOR:

SPL, from its banner and from selecting the FIT to the first BL31
output:

  caches   signature   SPL total              FIT -> BL31
  off      -           864.0 / 864.3 ms       808.1 / 808.3 ms
  on       -           95.8 / 95.8 ms         95.8 / 95.8 ms
  off      RSA-3072    1903.3 / 1903.8 ms     1836.7 / 1836.8 ms
  on       RSA-3072    142.0 / 142.0 ms       142.0 / 142.0 ms

U-Boot proper, from bootstage marks before each initcall:

  initcall          caches off       caches on
  initf_dm          349.8 / 349.7    4.6 / 4.6 ms
  serial_init       204.7 / 204.7    3.0 / 3.0 ms
  dram_init         162.2 / 162.1    2.3 / 2.3 ms
  relocation copy    22.0 / 22.0     0.4 / 0.4 ms
  board_init_f() to main_loop()
                    819 / 819        87 / 87 ms

Autoboot prompt after power-on, which includes a 5 s USB download wait
in the BootROM:

                    unsigned FIT            RSA-3072 signed FIT
  without series    8412 / 8411 ms          9436 / 9437 ms
  patch 1           7650 / 7651 ms          7660 / 7657 ms
  both patches      6902 / 6906 / 6894 ms   6928 / 6924 ms

The module tests used a v2026.10 based tree with the Genio SPL support
cherry picked.
On v2027.01-rc1 the Genio 510 and 700 EVK configurations build with both
patches, but I didn't test on the evk.

I used an LLM to help write and test the patches.

---
Steffen Dirkwinkel (2):
      arm: mediatek: mt8188: enable the caches in SPL
      arm: mediatek: mt8188: run board_init_f() with the caches on

 arch/arm/mach-mediatek/cpu.c         | 14 ++++++++++++++
 arch/arm/mach-mediatek/mt8188/init.c | 31 +++++++++++++++++++++++++++++++
 arch/arm/mach-mediatek/spl.c         |  7 +++++++
 3 files changed, 52 insertions(+)
---
base-commit: dfcfc4c9f78d1743f490a497082a4ec8e058aae8
change-id: 20261027-std-upstream-mt8188-spl-caches-2f4271625329

Best regards,
--  
Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>


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

end of thread, other threads:[~2026-10-30 14:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-30  8:57 [PATCH 0/2] arm: mediatek: mt8188: run SPL and pre-relocation U-Boot with caches Steffen Dirkwinkel
2026-10-30  8:57 ` [PATCH 1/2] arm: mediatek: mt8188: enable the caches in SPL Steffen Dirkwinkel
2026-10-30 14:21   ` Carlo Caione
2026-10-30 14:27     ` Carlo Caione
2026-10-30  8:57 ` [PATCH 2/2] arm: mediatek: mt8188: run board_init_f() with the caches on Steffen Dirkwinkel
2026-10-30 14:10 ` [PATCH 0/2] arm: mediatek: mt8188: run SPL and pre-relocation U-Boot with caches Carlo Caione

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.