From: Tom Rini Date: Wed, 9 Jul 2025 14:40:36 +0000 (-0600) Subject: Merge patch series "Improve Verdin AM62P thermal setup by generalizing ft_board_setup... X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=971bd7614c5df1b77063fab9b0a5cae6afc77d3b;p=thirdparty%2Fu-boot.git Merge patch series "Improve Verdin AM62P thermal setup by generalizing ft_board_setup_ex()" João Paulo Gonçalves says: In some use cases, board-specific device tree changes must not be overwritten by system fixups. Although U-Boot provides ft_board_setup_ex() for this purpose, it is currently only used on TI Keystone. This series makes ft_board_setup_ex() a generic option, allowing its use by other architectures and boards. Additionally, considering that Toradex Verdin-AM62P hardware lifetime guarantees are based on a 105°C junction temperature (while TI AM62Px supports up to 125°C), this series implements necessary changes within TI K3 AM62P and Toradex board code. These changes include exporting common fixup device Tree functions used in TI K3 for board-code access and also fixup for AM62P thermal zones to correctly reflect the number of CPU nodes according to the SoC part number. Link: https://lore.kernel.org/r/20250623-am62p-fdt-fixup-trip-points-v1-0-12355eb6a72f@toradex.com --- 971bd7614c5df1b77063fab9b0a5cae6afc77d3b diff --cc boot/image-fdt.c index 97b6385ab7c,1c5d9426b86..3f0ac54f76f --- a/boot/image-fdt.c +++ b/boot/image-fdt.c @@@ -698,22 -683,11 +699,20 @@@ int image_setup_libfdt(struct bootm_hea of_size = ret; /* Create a new LMB reservation */ - if (CONFIG_IS_ENABLED(LMB) && lmb) - lmb_reserve(map_to_sysmem(blob), of_size, LMB_NONE); + if (CONFIG_IS_ENABLED(LMB) && lmb) { + phys_addr_t fdt_addr; + + fdt_addr = map_to_sysmem(blob); + ret = lmb_alloc_mem(LMB_MEM_ALLOC_ADDR, 0, &fdt_addr, + of_size, LMB_NONE); + if (ret) { + printf("Failed to reserve memory for the fdt at %#llx\n", + (u64)fdt_addr); + } + } - #if defined(CONFIG_ARCH_KEYSTONE) - if (IS_ENABLED(CONFIG_OF_BOARD_SETUP)) + if (IS_ENABLED(CONFIG_OF_BOARD_SETUP_EXTENDED) && !skip_board_fixup) ft_board_setup_ex(blob, gd->bd); - #endif return 0; err: