]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
Merge patch series "Improve Verdin AM62P thermal setup by generalizing ft_board_setup...
authorTom Rini <trini@konsulko.com>
Wed, 9 Jul 2025 14:40:36 +0000 (08:40 -0600)
committerTom Rini <trini@konsulko.com>
Wed, 9 Jul 2025 14:40:36 +0000 (08:40 -0600)
João Paulo Gonçalves <jpaulo.silvagoncalves@gmail.com> 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
1  2 
arch/arm/Kconfig
boot/Kconfig
boot/image-fdt.c
configs/verdin-am62p_a53_defconfig

Simple merge
diff --cc boot/Kconfig
Simple merge
index 97b6385ab7ce56b8364bd86852e9ce1dc99b1d83,1c5d9426b869ca4ad5babf8398d41abe0f02437d..3f0ac54f76fa21c57add76033592d6ba2b3cec9b
@@@ -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:
Simple merge