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 <maciej.meijer@nordicsemi.no>
This commit is contained in:
parent
198230bef2
commit
982abadd34
1 changed files with 8 additions and 0 deletions
|
@ -5,12 +5,14 @@
|
|||
|
||||
#define DT_DRV_COMPAT nordic_nrf_vevif_task_tx
|
||||
|
||||
#include <zephyr/kernel.h>
|
||||
#include <zephyr/devicetree.h>
|
||||
#include <zephyr/drivers/mbox.h>
|
||||
|
||||
#include <haly/nrfy_vpr.h>
|
||||
|
||||
#define TASKS_IDX_MAX NRF_VPR_TASKS_TRIGGER_MAX
|
||||
#define VEVIF_RETRIGGER_DELAY_USEC 12
|
||||
|
||||
struct mbox_vevif_task_tx_conf {
|
||||
NRF_VPR_Type *vpr;
|
||||
|
@ -39,6 +41,12 @@ static int vevif_task_tx_send(const struct device *dev, uint32_t id, const struc
|
|||
|
||||
nrfy_vpr_task_trigger(config->vpr, nrfy_vpr_trigger_task_get(id));
|
||||
|
||||
#ifdef CONFIG_SOC_NRF54H20
|
||||
k_busy_wait(VEVIF_RETRIGGER_DELAY_USEC);
|
||||
|
||||
nrfy_vpr_task_trigger(config->vpr, nrfy_vpr_trigger_task_get(id));
|
||||
#endif /* CONFIG_SOC_NRF54H20 */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue