diff --git a/src/isp.c b/src/isp.c index c378d4c5..37d6b481 100644 --- a/src/isp.c +++ b/src/isp.c @@ -126,6 +126,7 @@ int isp_init(void) heap_top = 0xe00000; break; case V13_5: + case V13_6_2: heap_top = 0xf00000; break; default: @@ -136,6 +137,7 @@ int isp_init(void) case ISP_VER_T6020: switch (os_firmware.version) { case V13_5: + case V13_6_2: heap_top = 0xf00000; break; default: diff --git a/src/kboot.c b/src/kboot.c index bd8ed539..ce36401c 100644 --- a/src/kboot.c +++ b/src/kboot.c @@ -1930,7 +1930,18 @@ static int dt_set_isp_fwdata(void) if (firmware_set_fdt(dt, fdt_node, "apple,firmware-version", &os_firmware) < 0) bail("FDT: Could not set apple,firmware-version for %s\n", fdt_path); - if (firmware_set_fdt(dt, fdt_node, "apple,firmware-compat", &os_firmware) < 0) + const struct fw_version_info *compat; + + switch (os_firmware.version) { + case V13_6_2: + compat = &fw_versions[V13_5]; + break; + default: + compat = &os_firmware; + break; + } + + if (firmware_set_fdt(dt, fdt_node, "apple,firmware-compat", compat) < 0) bail("FDT: Could not set apple,firmware-compat for %s\n", fdt_path); if (isp_get_heap(&phys, &iova, &size)) {