@@ -64,8 +64,7 @@ static int spi_mcux_dma_tx_load(const struct device *dev, const uint8_t *buf, si
64
64
stream -> dma_cfg .channel_direction = MEMORY_TO_PERIPHERAL ;
65
65
}
66
66
67
- /* Dest is always LPSPI tx fifo */
68
- blk_cfg -> dest_address = LPSPI_GetTxRegisterAddress (base );
67
+ blk_cfg -> dest_address = (uint32_t ) & (base -> TDR );
69
68
70
69
return dma_config (stream -> dma_dev , stream -> channel , & stream -> dma_cfg );
71
70
}
@@ -87,7 +86,7 @@ static int spi_mcux_dma_rx_load(const struct device *dev, uint8_t *buf, size_t l
87
86
blk_cfg -> dest_address = (uint32_t )buf ;
88
87
}
89
88
90
- blk_cfg -> source_address = LPSPI_GetRxRegisterAddress ( base );
89
+ blk_cfg -> source_address = ( uint32_t ) & ( base -> RDR );
91
90
92
91
return dma_config (stream -> dma_dev , stream -> channel , & stream -> dma_cfg );
93
92
}
@@ -173,7 +172,7 @@ static void spi_mcux_dma_callback(const struct device *dev, void *arg, uint32_t
173
172
}
174
173
175
174
while (IS_ENABLED (CONFIG_SOC_FAMILY_NXP_IMXRT ) &&
176
- (LPSPI_GetStatusFlags ( base ) & kLPSPI_ModuleBusyFlag )) {
175
+ (base -> SR & LPSPI_SR_MBF_MASK )) {
177
176
/* wait until module is idle */
178
177
}
179
178
@@ -190,11 +189,11 @@ static void spi_mcux_dma_callback(const struct device *dev, void *arg, uint32_t
190
189
error :
191
190
LOG_ERR ("DMA callback error with channel %d err %d." , channel , status );
192
191
done :
193
- LPSPI_DisableDMA ( base , kLPSPI_TxDmaEnable | kLPSPI_RxDmaEnable );
192
+ base -> DER &= ~( LPSPI_DER_TDDE_MASK | LPSPI_DER_RDDE_MASK );
194
193
base -> TCR &= ~LPSPI_TCR_CONT_MASK ;
195
194
lpspi_wait_tx_fifo_empty (spi_dev );
196
195
spi_context_cs_control (ctx , false);
197
- LPSPI_FlushFifo ( base , true, true) ;
196
+ base -> CR |= LPSPI_CR_RTF_MASK | LPSPI_CR_RRF_MASK ;
198
197
spi_context_complete (ctx , spi_dev , status );
199
198
}
200
199
@@ -227,9 +226,9 @@ static int transceive_dma(const struct device *dev, const struct spi_config *spi
227
226
return ret ;
228
227
}
229
228
230
- LPSPI_FlushFifo ( base , true, true) ;
229
+ base -> CR |= LPSPI_CR_RTF_MASK | LPSPI_CR_RRF_MASK ;
231
230
232
- LPSPI_EnableDMA ( base , kLPSPI_TxDmaEnable | kLPSPI_RxDmaEnable ) ;
231
+ base -> DER |= LPSPI_DER_TDDE_MASK | LPSPI_DER_RDDE_MASK ;
233
232
234
233
ret = spi_context_wait_for_completion (ctx );
235
234
out :
0 commit comments