|
24 | 24 |
|
25 | 25 | #include <pbdrv/block_device.h> |
26 | 26 | #include <pbdrv/clock.h> |
27 | | -#include <pbdrv/compiler.h> |
28 | 27 | #include <pbdrv/gpio.h> |
29 | 28 |
|
30 | 29 | #include <tiam1808/edma.h> |
@@ -243,7 +242,7 @@ static void spi_bus_init(void) { |
243 | 242 |
|
244 | 243 | // Request DMA channels. This only needs to be done for the initial events (and not for linked parameter sets) |
245 | 244 | EDMA3RequestChannel(SOC_EDMA30CC_0_REGS, EDMA3_CHANNEL_TYPE_DMA, EDMA3_CHA_SPI0_TX, EDMA3_CHA_SPI0_TX, 0); |
246 | | - EDMA3RequestChannel(SOC_EDMA30CC_0_REGS, EDMA3_CHANNEL_TYPE_DMA, EDMA3_CHA_SPI1_RX, EDMA3_CHA_SPI1_RX, 0); |
| 245 | + EDMA3RequestChannel(SOC_EDMA30CC_0_REGS, EDMA3_CHANNEL_TYPE_DMA, EDMA3_CHA_SPI0_RX, EDMA3_CHA_SPI0_RX, 0); |
247 | 246 |
|
248 | 247 | // Enable! |
249 | 248 | SPIEnable(SOC_SPI_0_REGS); |
@@ -487,8 +486,8 @@ static pbio_error_t spi_begin_for_flash( |
487 | 486 |
|
488 | 487 | spi_dev.status = SPI_STATUS_WAIT_TX | SPI_STATUS_WAIT_RX; |
489 | 488 |
|
490 | | - // TODO: eventually needs DMA cache management |
491 | | - pbdrv_compiler_memory_barrier(); |
| 489 | + // TODO: pbio probably needs a framework for memory barriers and DMA cache management |
| 490 | + __asm__ volatile ("" ::: "memory"); |
492 | 491 |
|
493 | 492 | EDMA3EnableTransfer(SOC_EDMA30CC_0_REGS, EDMA3_CHA_SPI0_TX, EDMA3_TRIG_MODE_EVENT); |
494 | 493 | EDMA3EnableTransfer(SOC_EDMA30CC_0_REGS, EDMA3_CHA_SPI0_RX, EDMA3_TRIG_MODE_EVENT); |
@@ -806,8 +805,8 @@ static pbio_error_t pbdrv_block_device_ev3_spi_begin_for_adc(const uint32_t *cmd |
806 | 805 |
|
807 | 806 | spi_dev.status = SPI_STATUS_WAIT_TX | SPI_STATUS_WAIT_RX; |
808 | 807 |
|
809 | | - // TODO: eventually needs DMA cache management |
810 | | - pbdrv_compiler_memory_barrier(); |
| 808 | + // TODO: pbio probably needs a framework for memory barriers and DMA cache management |
| 809 | + __asm__ volatile ("" ::: "memory"); |
811 | 810 |
|
812 | 811 | EDMA3EnableTransfer(SOC_EDMA30CC_0_REGS, EDMA3_CHA_SPI0_TX, EDMA3_TRIG_MODE_EVENT); |
813 | 812 | EDMA3EnableTransfer(SOC_EDMA30CC_0_REGS, EDMA3_CHA_SPI0_RX, EDMA3_TRIG_MODE_EVENT); |
|
0 commit comments