1
0
Fork 0

Timer: Fix at91rm9200/spi.c timer usage

utp
Graeme Russ 2011-07-15 02:20:40 +00:00 committed by Wolfgang Denk
parent 4769be21cc
commit 53fc43c682
1 changed files with 3 additions and 2 deletions

View File

@ -108,6 +108,7 @@ void AT91F_SpiEnable(int cs)
unsigned int AT91F_SpiWrite ( AT91PS_DataflashDesc pDesc )
{
unsigned int timeout;
unsigned long start;
pDesc->state = BUSY;
@ -132,12 +133,12 @@ unsigned int AT91F_SpiWrite ( AT91PS_DataflashDesc pDesc )
}
/* arm simple, non interrupt dependent timer */
reset_timer_masked();
start = get_timer(0);
timeout = 0;
AT91C_BASE_SPI->SPI_PTCR = AT91C_PDC_TXTEN + AT91C_PDC_RXTEN;
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;
pDesc->state = IDLE;