From: Baocheng Su Date: Tue, 22 Oct 2024 06:04:22 +0000 (+0200) Subject: board: siemens: iot2050: Generalize the fdt fixup X-Git-Url: http://git.dujemihanovic.xyz/html/static/git-favicon.png?a=commitdiff_plain;h=bb89e03dd42a8a8a0131dcfbbaabe2385c0b4669;p=u-boot.git board: siemens: iot2050: Generalize the fdt fixup The fdt fixup logic actually also applies to other possible variants who also have device tree overlays. So generalize this part by extracting it from the m.2 specific function and make it a standalone one. Since now we only have M.2 variant consuming the overlay, it may not have immediate effect for other variant, however this makes the future variant more easier to apply fdt fixups. Signed-off-by: Baocheng Su Signed-off-by: Jan Kiszka --- diff --git a/board/siemens/iot2050/board.c b/board/siemens/iot2050/board.c index 16082ae2af..fad6bc0473 100644 --- a/board/siemens/iot2050/board.c +++ b/board/siemens/iot2050/board.c @@ -245,23 +245,14 @@ void set_board_info_env(void) env_save(); } -static void m2_overlay_prepare(void) +static void do_overlay_prepare(const char *overlay_path) { #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) - const char *overlay_path; void *overlay; u64 loadaddr; ofnode node; int ret; - if (connector_mode == BKEY_PCIEX2) - return; - - if (connector_mode == BKEY_PCIE_EKEY_PCIE) - overlay_path = "/fit-images/bkey-ekey-pcie-overlay"; - else - overlay_path = "/fit-images/bkey-usb3-overlay"; - node = ofnode_path(overlay_path); if (!ofnode_valid(node)) goto fit_error; @@ -288,6 +279,21 @@ fit_error: #endif } +static void m2_overlay_prepare(void) +{ + const char *overlay_path; + + if (connector_mode == BKEY_PCIEX2) + return; + + if (connector_mode == BKEY_PCIE_EKEY_PCIE) + overlay_path = "/fit-images/bkey-ekey-pcie-overlay"; + else + overlay_path = "/fit-images/bkey-usb3-overlay"; + + do_overlay_prepare(overlay_path); +} + static void m2_connector_setup(void) { ulong m2_manual_config = env_get_ulong("m2_manual_config", 10, @@ -466,7 +472,7 @@ int board_late_init(void) } #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) -static void m2_fdt_fixup(void *blob) +static void variants_fdt_fixup(void *blob) { void *overlay_copy = NULL; void *fdt_copy = NULL; @@ -506,14 +512,14 @@ cleanup: return; fixup_error: - pr_err("Could not apply M.2 device tree overlay\n"); + pr_err("Could not apply device tree overlay\n"); goto cleanup; } int ft_board_setup(void *blob, struct bd_info *bd) { if (board_is_m2()) - m2_fdt_fixup(blob); + variants_fdt_fixup(blob); return 0; }