From 051be66b764b10aef4bb5167def972ea1025099e Mon Sep 17 00:00:00 2001
From: Federico Pellegrin <fede@evolware.org>
Date: Sun, 27 Jan 2019 07:39:10 +0100
Subject: [PATCH] sam0 flashpage: wait for READY bit in INTFLAG after write
 command

---
 cpu/sam0_common/periph/flashpage.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/cpu/sam0_common/periph/flashpage.c b/cpu/sam0_common/periph/flashpage.c
index 7e24130284..2a3462aec2 100644
--- a/cpu/sam0_common/periph/flashpage.c
+++ b/cpu/sam0_common/periph/flashpage.c
@@ -93,7 +93,11 @@ void flashpage_write_raw(void *target_addr, const void *data, size_t len)
         *dst++ = *data_addr++;
     }
     _NVMCTRL->CTRLA.reg = (NVMCTRL_CTRLA_CMDEX_KEY | NVMCTRL_CTRLA_CMD_WP);
-
+#ifdef CPU_SAML1X
+    while(!_NVMCTRL->STATUS.bit.READY) {}
+#else
+    while (!_NVMCTRL->INTFLAG.bit.READY) {}
+#endif
     _lock();
 }
 
-- 
GitLab