at_91 serial driver (for Atmel AT91RM9200)

May 30, 2006 3 Replies

Hi,



I'm wondering about using the Atmel AT91RM9200 under Linux for an embedded application. Among others, I need to run serial communication at 76800 bits/s over one of the USARTs.



The RM9200's USARTs have no FIFO and at that speed, I guess I need DMA in order not to loose bytes because of Linux's interrupt latency (>130 us in some cases I guess).



I have read that in the serial_usart3 driver used for AVR32

formatting link
the incoming DMA "buffer is split in half so that an interrupt fires when half the buffer has been filled up and the driver can start consuming the data and eventually re-use the buffer. In addition, the USART module is set up to fire an interrupt when there is data in the buffer, but no additional data has been received within a certain timeout."



This sounds perfect, then I have to worry neither about the risk of delaying too much incoming bytes because the DMA buffer is not full nor about loosing some bytes (since I guess that I can choose the size of the DMA buffer).



What I'm wondering is whether the at_91 serial driver which is included in the vanilla kernel (I have read it is included in the main tree from



2.6.16) also does that.

Does anybody here have some experience with that kind of issues?



Thanks in advance,



Best regards,



Alain Mosnier


BTW, does anyone know why

formatting link
seems to be down?

Is there a better newsgroup/mailing list to post questions about such a topic (serial driver for ARM9, or more generally for UART without FIFO and/or with DMA)?

Regards,

Alain Mosnier

formatting link

The maill> BTW, does anyone know why

formatting link
seems to be down?

searching this site, I don't find a way to subscribe to the mailing lists. How can this be done ?

Thanks,

-Michael

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required