Цитата(DenisAlecs @ Sep 8 2009, 09:48)

происходит перемешивание входных и выходных данных...
Не работал с линуксом, но есть опыт с SAM9XE. Основные грабли возникают из-за того, что работа PDC (DMA) не обновляет кеш процессора. Поэтому нужно либо сбрасывать кеш вручную, либо располагать буфера, к которым может быть обращение по DMA, в некешируемой памяти.
Как в линуксе - не знаю, надо смотреть исходники драйвера SPI, как они работают (через PDC или нет) и где лежат буфера.