diff --git a/src/shared/drivers/dma/DMA.cpp b/src/shared/drivers/dma/DMA.cpp
index 07679e4f915c0dc2f2223815d7261e21e59b1de5..fef96ad5672529bef0377cacdd0df0c70a2e54a3 100644
--- a/src/shared/drivers/dma/DMA.cpp
+++ b/src/shared/drivers/dma/DMA.cpp
@@ -499,22 +499,23 @@ void DMAStream::waitForTransferComplete()
         transferCompleteFlag, -1);
 }
 
-bool DMAStream::timedWaitForHalfTransfer(uint64_t timeout_ns)
+bool DMAStream::timedWaitForHalfTransfer(std::chrono::nanoseconds timeout_ns)
 {
     return waitForInterruptEventImpl(
         currentSetup.enableHalfTransferInterrupt,
         std::bind(&DMAStream::getHalfTransferFlagStatus, this),
         std::bind(&DMAStream::clearHalfTransferFlag, this), halfTransferFlag,
-        timeout_ns);
+        timeout_ns.count());
 }
 
-bool DMAStream::timedWaitForTransferComplete(uint64_t timeout_ns)
+bool DMAStream::timedWaitForTransferComplete(
+    std::chrono::nanoseconds timeout_ns)
 {
     return waitForInterruptEventImpl(
         currentSetup.enableTransferCompleteInterrupt,
         std::bind(&DMAStream::getTransferCompleteFlagStatus, this),
         std::bind(&DMAStream::clearTransferCompleteFlag, this),
-        transferCompleteFlag, timeout_ns);
+        transferCompleteFlag, timeout_ns.count());
 }
 
 void DMAStream::setHalfTransferCallback(std::function<void()> callback)
diff --git a/src/shared/drivers/dma/DMA.h b/src/shared/drivers/dma/DMA.h
index 8fda416dbd9a7b59718410b2e8fea646da569afe..754e9ba8f77d4b8a696a9beda98f261ced9c700b 100644
--- a/src/shared/drivers/dma/DMA.h
+++ b/src/shared/drivers/dma/DMA.h
@@ -27,6 +27,7 @@
 #include <kernel/sync.h>
 #include <utils/TimedPollingFlag.h>
 
+#include <chrono>
 #include <functional>
 #include <map>
 
@@ -187,9 +188,9 @@ public:
 
     void waitForTransferComplete();
 
-    bool timedWaitForHalfTransfer(uint64_t timeout_ns);
+    bool timedWaitForHalfTransfer(std::chrono::nanoseconds timeout_ns);
 
-    bool timedWaitForTransferComplete(uint64_t timeout_ns);
+    bool timedWaitForTransferComplete(std::chrono::nanoseconds timeout_ns);
 
     void setHalfTransferCallback(std::function<void()> callback);