Skip to content

Commit 87ab3e3

Browse files
Martinhoff-makerfabiobaltieri
authored andcommitted
soc: silabs: siwx91x: introduce zero latency irq
The HAL used by the SiWx91x SoC implements a mechanism to protect atomic sections. Since this HAL also supports a zero-latency interrupt (ZLI) mechanism, we need to ensure the same number of bits are used for ZLI interrupts. The interrupt priority level (2) depends on a hardcoded value in the Simplicity SDK (CORE_ATOMIC_BASE_PRIORITY_LEVEL). Without this fix, arch_irq_lock (which sets the BASEPRI register to 0x4 when zero-latency interrupts are not enabled) is overridden by CORE_EnterAtomic in the HAL, which sets BASEPRI to 0xC since the HAL does not use the BASEPRI_MAX function. IRQ might then fires since it's register with a lowest priority in Zephyr. Signed-off-by: Martin Hoff <[email protected]>
1 parent ce6c26a commit 87ab3e3

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

soc/silabs/silabs_siwx91x/Kconfig.defconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ configdefault SYS_CLOCK_TICKS_PER_SEC
1313
configdefault UART_NS16550_DW8250_DW_APB
1414
default y
1515

16+
configdefault ZERO_LATENCY_IRQS
17+
default y
18+
19+
configdefault ZERO_LATENCY_LEVELS
20+
default 2
21+
1622
if PM_DEVICE
1723

1824
configdefault PM_DEVICE_RUNTIME

0 commit comments

Comments
 (0)