From 78ca54afdcf10acccb96b18aa9d8edb2fe4ef7c8 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Sun, 10 Sep 2023 22:52:09 +0900 Subject: [PATCH] kboot: Try isp/isp0 for reserving firmware Signed-off-by: Hector Martin --- src/kboot.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/kboot.c b/src/kboot.c index c7a27f22..5ac4ae65 100644 --- a/src/kboot.c +++ b/src/kboot.c @@ -1517,7 +1517,7 @@ static int dt_vram_reserved_region(const char *dcp_alias, const char *disp_alias disp_reserved_regions_vram, ®ion, 1); } -static int dt_reserve_asc_firmware(const char *adt_path, const char *fdt_path, bool remap) +static int dt_reserve_asc_firmware(const char *adt_path, const char *adt_path_alt, const char *fdt_path, bool remap) { int ret = 0; @@ -1528,6 +1528,8 @@ static int dt_reserve_asc_firmware(const char *adt_path, const char *fdt_path, b } int node = adt_path_offset(adt, adt_path); + if (node < 0 && adt_path_alt) + node = adt_path_offset(adt, adt_path_alt); if (node < 0) bail("ADT: '%s' not found\n", adt_path); @@ -2159,11 +2161,11 @@ int kboot_prepare_dt(void *fdt) return -1; if (dt_disable_missing_devs("i2c", "i2c@", 8)) return -1; - if (dt_reserve_asc_firmware("/arm-io/sio", "sio", true)) + if (dt_reserve_asc_firmware("/arm-io/sio", NULL, "sio", true)) return -1; if (dt_set_sio_fwdata()) return -1; - if (dt_reserve_asc_firmware("/arm-io/isp", "isp", false)) + if (dt_reserve_asc_firmware("/arm-io/isp", "/arm-io/isp0", "isp", false)) return -1; if (dt_set_isp_fwdata()) return -1;