nrf5340: pretick decoupled from workaround anomaly 160
Coupling in code between workarounds for anomaly 160 and anomaly 165 (pretick) is decreased. Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
This commit is contained in:
parent
3eef769209
commit
adec56bcee
2 changed files with 9 additions and 1 deletions
|
@ -53,6 +53,7 @@ config SOC_NRF53_ANOMALY_160_WORKAROUND
|
||||||
|
|
||||||
config SOC_NRF53_RTC_PRETICK
|
config SOC_NRF53_RTC_PRETICK
|
||||||
bool "Pre-tick workaround for nRF5340 anomaly 165"
|
bool "Pre-tick workaround for nRF5340 anomaly 165"
|
||||||
|
depends on (SYS_CLOCK_EXISTS && SOC_NRF5340_CPUNET) || SOC_NRF5340_CPUAPP
|
||||||
select NRFX_DPPI
|
select NRFX_DPPI
|
||||||
select ARM_ON_ENTER_CPU_IDLE_HOOK if SOC_NRF5340_CPUNET
|
select ARM_ON_ENTER_CPU_IDLE_HOOK if SOC_NRF5340_CPUNET
|
||||||
select ARM_ON_ENTER_CPU_IDLE_PREPARE_HOOK if SOC_NRF5340_CPUNET
|
select ARM_ON_ENTER_CPU_IDLE_PREPARE_HOOK if SOC_NRF5340_CPUNET
|
||||||
|
|
|
@ -133,6 +133,7 @@ static bool nrf53_anomaly_160_check(void)
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_SOC_NRF53_ANOMALY_160_WORKAROUND */
|
||||||
|
|
||||||
#if defined(CONFIG_SOC_NRF53_RTC_PRETICK) && defined(CONFIG_SOC_NRF5340_CPUNET)
|
#if defined(CONFIG_SOC_NRF53_RTC_PRETICK) && defined(CONFIG_SOC_NRF5340_CPUNET)
|
||||||
|
|
||||||
|
@ -337,6 +338,8 @@ void z_arm_on_enter_cpu_idle_prepare(void)
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_SOC_NRF53_RTC_PRETICK && CONFIG_SOC_NRF5340_CPUNET */
|
#endif /* CONFIG_SOC_NRF53_RTC_PRETICK && CONFIG_SOC_NRF5340_CPUNET */
|
||||||
|
|
||||||
|
#if defined(CONFIG_SOC_NRF53_ANOMALY_160_WORKAROUND) || \
|
||||||
|
(defined(CONFIG_SOC_NRF53_RTC_PRETICK) && defined(CONFIG_SOC_NRF5340_CPUNET))
|
||||||
bool z_arm_on_enter_cpu_idle(void)
|
bool z_arm_on_enter_cpu_idle(void)
|
||||||
{
|
{
|
||||||
bool ok_to_sleep = true;
|
bool ok_to_sleep = true;
|
||||||
|
@ -357,6 +360,7 @@ bool z_arm_on_enter_cpu_idle(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_SOC_NRF53_ANOMALY_160_WORKAROUND)
|
||||||
if (ok_to_sleep) {
|
if (ok_to_sleep) {
|
||||||
ok_to_sleep = nrf53_anomaly_160_check();
|
ok_to_sleep = nrf53_anomaly_160_check();
|
||||||
|
|
||||||
|
@ -371,6 +375,7 @@ bool z_arm_on_enter_cpu_idle(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_SOC_NRF53_ANOMALY_160_WORKAROUND */
|
||||||
|
|
||||||
#if defined(CONFIG_SOC_NRF53_RTC_PRETICK) && defined(CONFIG_SOC_NRF5340_CPUNET)
|
#if defined(CONFIG_SOC_NRF53_RTC_PRETICK) && defined(CONFIG_SOC_NRF5340_CPUNET)
|
||||||
if (!ok_to_sleep) {
|
if (!ok_to_sleep) {
|
||||||
|
@ -382,7 +387,9 @@ bool z_arm_on_enter_cpu_idle(void)
|
||||||
|
|
||||||
return ok_to_sleep;
|
return ok_to_sleep;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_SOC_NRF53_ANOMALY_160_WORKAROUND */
|
#endif /* CONFIG_SOC_NRF53_ANOMALY_160_WORKAROUND ||
|
||||||
|
* (CONFIG_SOC_NRF53_RTC_PRETICK && CONFIG_SOC_NRF5340_CPUNET)
|
||||||
|
*/
|
||||||
|
|
||||||
#if CONFIG_SOC_NRF53_RTC_PRETICK
|
#if CONFIG_SOC_NRF53_RTC_PRETICK
|
||||||
#ifdef CONFIG_SOC_NRF5340_CPUAPP
|
#ifdef CONFIG_SOC_NRF5340_CPUAPP
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue