Skip to content

Commit 982abad

Browse files
meijemackartben
authored andcommitted
mbox: workaround for missing ic-msg
When a LD sends an ic-msg to SCFW - it happens that sometimes that SCFW does not handle the request. For the moment the problem is solved by sending a second vevif event shortly after the initial request. Signed-off-by: Maciej Meijer <[email protected]>
1 parent 198230b commit 982abad

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

drivers/mbox/mbox_nrf_vevif_task_tx.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55

66
#define DT_DRV_COMPAT nordic_nrf_vevif_task_tx
77

8+
#include <zephyr/kernel.h>
89
#include <zephyr/devicetree.h>
910
#include <zephyr/drivers/mbox.h>
1011

1112
#include <haly/nrfy_vpr.h>
1213

1314
#define TASKS_IDX_MAX NRF_VPR_TASKS_TRIGGER_MAX
15+
#define VEVIF_RETRIGGER_DELAY_USEC 12
1416

1517
struct mbox_vevif_task_tx_conf {
1618
NRF_VPR_Type *vpr;
@@ -39,6 +41,12 @@ static int vevif_task_tx_send(const struct device *dev, uint32_t id, const struc
3941

4042
nrfy_vpr_task_trigger(config->vpr, nrfy_vpr_trigger_task_get(id));
4143

44+
#ifdef CONFIG_SOC_NRF54H20
45+
k_busy_wait(VEVIF_RETRIGGER_DELAY_USEC);
46+
47+
nrfy_vpr_task_trigger(config->vpr, nrfy_vpr_trigger_task_get(id));
48+
#endif /* CONFIG_SOC_NRF54H20 */
49+
4250
return 0;
4351
}
4452

0 commit comments

Comments
 (0)