aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--atmel-samd/shared_dma.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/atmel-samd/shared_dma.c b/atmel-samd/shared_dma.c
index bffd37880..7b1fd003f 100644
--- a/atmel-samd/shared_dma.c
+++ b/atmel-samd/shared_dma.c
@@ -131,6 +131,7 @@ enum status_code shared_dma_write(Sercom* sercom, const uint8_t* buffer, uint32_
sercom->SPI.DATA.reg;
}
sercom->SPI.STATUS.bit.BUFOVF = 1;
+ sercom->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_ERROR;
return general_dma_tx.job_status;
}
@@ -148,6 +149,7 @@ enum status_code shared_dma_read(Sercom* sercom, uint8_t* buffer, uint32_t lengt
dma_descriptor_get_config_defaults(&descriptor_config);
descriptor_config.beat_size = DMA_BEAT_SIZE_BYTE;
descriptor_config.src_increment_enable = false;
+ descriptor_config.dst_increment_enable = true;
descriptor_config.block_transfer_count = length;
// DATA register is consistently addressed across all SERCOM modes.
descriptor_config.source_address = ((uint32_t)&sercom->SPI.DATA.reg);