Skip to content
Snippets Groups Projects
Commit 53fc43c6 authored by Graeme Russ's avatar Graeme Russ Committed by Wolfgang Denk
Browse files

Timer: Fix at91rm9200/spi.c timer usage

parent 4769be21
No related branches found
No related tags found
No related merge requests found
...@@ -108,6 +108,7 @@ void AT91F_SpiEnable(int cs) ...@@ -108,6 +108,7 @@ void AT91F_SpiEnable(int cs)
unsigned int AT91F_SpiWrite ( AT91PS_DataflashDesc pDesc ) unsigned int AT91F_SpiWrite ( AT91PS_DataflashDesc pDesc )
{ {
unsigned int timeout; unsigned int timeout;
unsigned long start;
pDesc->state = BUSY; pDesc->state = BUSY;
...@@ -132,12 +133,12 @@ unsigned int AT91F_SpiWrite ( AT91PS_DataflashDesc pDesc ) ...@@ -132,12 +133,12 @@ unsigned int AT91F_SpiWrite ( AT91PS_DataflashDesc pDesc )
} }
/* arm simple, non interrupt dependent timer */ /* arm simple, non interrupt dependent timer */
reset_timer_masked(); start = get_timer(0);
timeout = 0; timeout = 0;
AT91C_BASE_SPI->SPI_PTCR = AT91C_PDC_TXTEN + AT91C_PDC_RXTEN; AT91C_BASE_SPI->SPI_PTCR = AT91C_PDC_TXTEN + AT91C_PDC_RXTEN;
while(!(AT91C_BASE_SPI->SPI_SR & AT91C_SPI_RXBUFF) && while(!(AT91C_BASE_SPI->SPI_SR & AT91C_SPI_RXBUFF) &&
((timeout = get_timer_masked() ) < CONFIG_SYS_SPI_WRITE_TOUT)); ((timeout = get_timer(start) ) < CONFIG_SYS_SPI_WRITE_TOUT));
AT91C_BASE_SPI->SPI_PTCR = AT91C_PDC_TXTDIS + AT91C_PDC_RXTDIS; AT91C_BASE_SPI->SPI_PTCR = AT91C_PDC_TXTDIS + AT91C_PDC_RXTDIS;
pDesc->state = IDLE; pDesc->state = IDLE;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment