diff --git a/drivers/entropy/entropy_gecko_trng.c b/drivers/entropy/entropy_gecko_trng.c index 8eda146c52ef9..1eec4ff5edf45 100644 --- a/drivers/entropy/entropy_gecko_trng.c +++ b/drivers/entropy/entropy_gecko_trng.c @@ -76,17 +76,16 @@ static int entropy_gecko_trng_get_entropy(const struct device *dev, ARG_UNUSED(dev); +#ifdef CONFIG_CRYPTO_ACC_GECKO_TRNG + CMU_ClockEnable(cmuClock_CRYPTOACC, true); +#endif + while (length) { #ifndef CONFIG_CRYPTO_ACC_GECKO_TRNG available = TRNG0->FIFOLEVEL * 4; #else - CMU_ClockEnable(cmuClock_CRYPTOACC, true); available = S2_FIFO_LEVEL * 4; #endif - if (available == 0) { - return -EINVAL; - } - count = SL_MIN(length, available); entropy_gecko_trng_read(buffer, count); buffer += count; diff --git a/soc/silabs/silabs_siwx91x/Kconfig.defconfig b/soc/silabs/silabs_siwx91x/Kconfig.defconfig index 28db3e653709e..848201bca2532 100644 --- a/soc/silabs/silabs_siwx91x/Kconfig.defconfig +++ b/soc/silabs/silabs_siwx91x/Kconfig.defconfig @@ -13,6 +13,22 @@ configdefault SYS_CLOCK_TICKS_PER_SEC configdefault UART_NS16550_DW8250_DW_APB default y +configdefault ZERO_LATENCY_IRQS + default y + +configdefault ZERO_LATENCY_LEVELS + default 2 + +if PM_DEVICE + +configdefault PM_DEVICE_RUNTIME + default y + +configdefault POWER_DOMAIN + default y + +endif # PM_DEVICE + if SILABS_SIWX91X_NWP # WiseConnect create threads with realtime priority. Default (10kHz) clock tick