From 439b8431dbfdd597b2c5d5177835ed43013fcd5a Mon Sep 17 00:00:00 2001 From: Kai Vehmanen Date: Fri, 14 Aug 2026 10:41:26 +0300 Subject: [PATCH 1/2] boards: intel: defer secondary CPU start via devicetree CONFIG_SMP_BOOT_DELAY was removed in Zephyr (commit 7a72151634e8 "kernel: smp: replace SMP_BOOT_DELAY with per-CPU devicetree deferral") in favor of the per-CPU 'zephyr,deferred-start' devicetree property. SOF relied on CONFIG_SMP_BOOT_DELAY=y (default y if SMP) so that no secondary DSP core was started at kernel boot; the cores are brought up on demand by SOF/host power management. Add per-board overlays marking every secondary core (cpu1..cpuN-1) with 'zephyr,deferred-start' to keep that behavior. The boot core (cpu0) is unaffected by the property. Signed-off-by: Kai Vehmanen --- app/boards/intel_adsp_ace15_mtpm.overlay | 17 ++++++++++++++ app/boards/intel_adsp_ace20_lnl.overlay | 25 +++++++++++++++++++++ app/boards/intel_adsp_ace30_ptl.overlay | 25 +++++++++++++++++++++ app/boards/intel_adsp_ace30_ptl_sim.overlay | 25 +++++++++++++++++++++ app/boards/intel_adsp_ace30_wcl.overlay | 17 ++++++++++++++ app/boards/intel_adsp_ace30_wcl_sim.overlay | 17 ++++++++++++++ app/boards/intel_adsp_ace40_nvl.overlay | 21 +++++++++++++++++ app/boards/intel_adsp_ace40_nvls.overlay | 13 +++++++++++ app/boards/intel_adsp_cavs25.overlay | 21 +++++++++++++++++ app/boards/intel_adsp_cavs25_tgph.overlay | 13 +++++++++++ 10 files changed, 194 insertions(+) create mode 100644 app/boards/intel_adsp_ace15_mtpm.overlay create mode 100644 app/boards/intel_adsp_ace20_lnl.overlay create mode 100644 app/boards/intel_adsp_ace30_ptl.overlay create mode 100644 app/boards/intel_adsp_ace30_ptl_sim.overlay create mode 100644 app/boards/intel_adsp_ace30_wcl.overlay create mode 100644 app/boards/intel_adsp_ace30_wcl_sim.overlay create mode 100644 app/boards/intel_adsp_ace40_nvl.overlay create mode 100644 app/boards/intel_adsp_ace40_nvls.overlay create mode 100644 app/boards/intel_adsp_cavs25.overlay create mode 100644 app/boards/intel_adsp_cavs25_tgph.overlay diff --git a/app/boards/intel_adsp_ace15_mtpm.overlay b/app/boards/intel_adsp_ace15_mtpm.overlay new file mode 100644 index 000000000000..7efe8468237b --- /dev/null +++ b/app/boards/intel_adsp_ace15_mtpm.overlay @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2026 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Secondary DSP cores are started on demand, not at kernel boot. + * Replaces the former CONFIG_SMP_BOOT_DELAY=y default. + */ + +&cpu1 { + zephyr,deferred-start; +}; + +&cpu2 { + zephyr,deferred-start; +}; diff --git a/app/boards/intel_adsp_ace20_lnl.overlay b/app/boards/intel_adsp_ace20_lnl.overlay new file mode 100644 index 000000000000..5b342a8c4ebe --- /dev/null +++ b/app/boards/intel_adsp_ace20_lnl.overlay @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2026 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Secondary DSP cores are started on demand, not at kernel boot. + * Replaces the former CONFIG_SMP_BOOT_DELAY=y default. + */ + +&cpu1 { + zephyr,deferred-start; +}; + +&cpu2 { + zephyr,deferred-start; +}; + +&cpu3 { + zephyr,deferred-start; +}; + +&cpu4 { + zephyr,deferred-start; +}; diff --git a/app/boards/intel_adsp_ace30_ptl.overlay b/app/boards/intel_adsp_ace30_ptl.overlay new file mode 100644 index 000000000000..5b342a8c4ebe --- /dev/null +++ b/app/boards/intel_adsp_ace30_ptl.overlay @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2026 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Secondary DSP cores are started on demand, not at kernel boot. + * Replaces the former CONFIG_SMP_BOOT_DELAY=y default. + */ + +&cpu1 { + zephyr,deferred-start; +}; + +&cpu2 { + zephyr,deferred-start; +}; + +&cpu3 { + zephyr,deferred-start; +}; + +&cpu4 { + zephyr,deferred-start; +}; diff --git a/app/boards/intel_adsp_ace30_ptl_sim.overlay b/app/boards/intel_adsp_ace30_ptl_sim.overlay new file mode 100644 index 000000000000..5b342a8c4ebe --- /dev/null +++ b/app/boards/intel_adsp_ace30_ptl_sim.overlay @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2026 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Secondary DSP cores are started on demand, not at kernel boot. + * Replaces the former CONFIG_SMP_BOOT_DELAY=y default. + */ + +&cpu1 { + zephyr,deferred-start; +}; + +&cpu2 { + zephyr,deferred-start; +}; + +&cpu3 { + zephyr,deferred-start; +}; + +&cpu4 { + zephyr,deferred-start; +}; diff --git a/app/boards/intel_adsp_ace30_wcl.overlay b/app/boards/intel_adsp_ace30_wcl.overlay new file mode 100644 index 000000000000..7efe8468237b --- /dev/null +++ b/app/boards/intel_adsp_ace30_wcl.overlay @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2026 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Secondary DSP cores are started on demand, not at kernel boot. + * Replaces the former CONFIG_SMP_BOOT_DELAY=y default. + */ + +&cpu1 { + zephyr,deferred-start; +}; + +&cpu2 { + zephyr,deferred-start; +}; diff --git a/app/boards/intel_adsp_ace30_wcl_sim.overlay b/app/boards/intel_adsp_ace30_wcl_sim.overlay new file mode 100644 index 000000000000..7efe8468237b --- /dev/null +++ b/app/boards/intel_adsp_ace30_wcl_sim.overlay @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2026 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Secondary DSP cores are started on demand, not at kernel boot. + * Replaces the former CONFIG_SMP_BOOT_DELAY=y default. + */ + +&cpu1 { + zephyr,deferred-start; +}; + +&cpu2 { + zephyr,deferred-start; +}; diff --git a/app/boards/intel_adsp_ace40_nvl.overlay b/app/boards/intel_adsp_ace40_nvl.overlay new file mode 100644 index 000000000000..bc36004c69d1 --- /dev/null +++ b/app/boards/intel_adsp_ace40_nvl.overlay @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2026 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Secondary DSP cores are started on demand, not at kernel boot. + * Replaces the former CONFIG_SMP_BOOT_DELAY=y default. + */ + +&cpu1 { + zephyr,deferred-start; +}; + +&cpu2 { + zephyr,deferred-start; +}; + +&cpu3 { + zephyr,deferred-start; +}; diff --git a/app/boards/intel_adsp_ace40_nvls.overlay b/app/boards/intel_adsp_ace40_nvls.overlay new file mode 100644 index 000000000000..c1ed80e0fbd8 --- /dev/null +++ b/app/boards/intel_adsp_ace40_nvls.overlay @@ -0,0 +1,13 @@ +/* + * Copyright (c) 2026 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Secondary DSP cores are started on demand, not at kernel boot. + * Replaces the former CONFIG_SMP_BOOT_DELAY=y default. + */ + +&cpu1 { + zephyr,deferred-start; +}; diff --git a/app/boards/intel_adsp_cavs25.overlay b/app/boards/intel_adsp_cavs25.overlay new file mode 100644 index 000000000000..bc36004c69d1 --- /dev/null +++ b/app/boards/intel_adsp_cavs25.overlay @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2026 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Secondary DSP cores are started on demand, not at kernel boot. + * Replaces the former CONFIG_SMP_BOOT_DELAY=y default. + */ + +&cpu1 { + zephyr,deferred-start; +}; + +&cpu2 { + zephyr,deferred-start; +}; + +&cpu3 { + zephyr,deferred-start; +}; diff --git a/app/boards/intel_adsp_cavs25_tgph.overlay b/app/boards/intel_adsp_cavs25_tgph.overlay new file mode 100644 index 000000000000..c1ed80e0fbd8 --- /dev/null +++ b/app/boards/intel_adsp_cavs25_tgph.overlay @@ -0,0 +1,13 @@ +/* + * Copyright (c) 2026 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Secondary DSP cores are started on demand, not at kernel boot. + * Replaces the former CONFIG_SMP_BOOT_DELAY=y default. + */ + +&cpu1 { + zephyr,deferred-start; +}; From fbe82adb29636c5dcbdfc91ec33b814336e8f1c1 Mon Sep 17 00:00:00 2001 From: Kai Vehmanen Date: Fri, 14 Aug 2026 10:22:24 +0300 Subject: [PATCH 2/2] west.yml: update zephyr to bfa1218a9e63 Total of 1438 commits. Changes include: 7a72151634e8 kernel: smp: replace SMP_BOOT_DELAY with per-CPU devicetree deferral 8ab6cd9190ad arch: xtensa: mmu: defer TLB flush on ASID free using dirty bitmap 3590f4b45b6a arch: xtensa: mmu: add PTEVADDR 0x60000000 option, cap ASID range cf244b983d8a arch: xtensa: mmu: add ASID recycling for memory domains 78ca43befcd4 xtensa: skip mmu/mpu swapping if same memory domain 54a45000c0d0 xtensa: move CONFIG_ARCH_HAS_DIRECTED_IPIS to SoC d9db3de0d46b arch: xtensa: fix arch_user_string_nlen() reading past maxsize d73ef2de7b83 drivers: dai: intel: ssp: Fix aux data size check for DMA transmission 48fb236912d9 counter: ace_v1x: fix header include issue 85c1c4c21945 kernel: userspace: reject size overflow in dynamic object allocation 2cb53feca11e llext-edk: Properly get topdir when --sysbuild is used d46238fd276a logging: do not pass an uninitialized spinlock key da95dbff265e logging: log_mgmt: Add missing cache releasing Additional changes: - app/Kconfig: drop the SMP_BOOT_DELAY default, because Zephyr commit 7a72151634e8 replaced CONFIG_SMP_BOOT_DELAY with per-CPU devicetree deferral and the symbol no longer exists. Signed-off-by: Kai Vehmanen --- app/Kconfig | 3 --- west.yml | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/app/Kconfig b/app/Kconfig index 56ada456367e..339a16bed3e8 100644 --- a/app/Kconfig +++ b/app/Kconfig @@ -1,9 +1,6 @@ config SCHED_CPU_MASK_PIN_ONLY default y if SMP -config SMP_BOOT_DELAY - default y if SMP - # Allow compiler to determine whether to generate FLIX instructions. choice COMPILER_CODEGEN_VLIW default COMPILER_CODEGEN_VLIW_AUTO if "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "xt-clang" diff --git a/west.yml b/west.yml index a684deb8871a..5f55086e589b 100644 --- a/west.yml +++ b/west.yml @@ -43,7 +43,7 @@ manifest: - name: zephyr repo-path: zephyr - revision: fbd71c30f7b9083de9826577edb57d360efc01ed + revision: bfa1218a9e63a9621316178ca2c3125d16844a96 remote: zephyrproject # Import some projects listed in zephyr/west.yml@revision