Хм, у меня работает. Модифицировал пример с сайта OSS для захвата.
Если я правельно понимаю, как раз в этом и была проблема, задержка в один такт была учтена, но в SSC_BF(TFMR_FSLEN, 16 - 1), из-за чего ssp успеет считать только 15 бит (эта длина вместе с тактом задержки), последний бит терялся, для второго же канала нет задержки, at91sam9260 читал последний потеренный бит первого канала и 15 бит своего канала, что и выливалось в шум.
Насколько я знаю, завершение приема и передачи данных не привязывается к длине импульса синхронизации кадра (FSLEN), т.к. в SSC возможна длина этого импульса в 1 такт. Например, так можно было сделать в режиме DSP кодека tlv320.
Завершение приема/передачи слова происходит при достижении счетчика принятых/отосланных бит значения DATLEN. Т.е. младший бит первого канала не теряется, соответственно, мы получаем задержку во втором канале на такт. Второй канал начинает считываться сражу за первым, его младший бит также не пропадает, т.к. первый канал следующей выборки начинает считываться с задержкой в 1 такт.
Шум действительно имел место, и был обусловлен сдвигом слов, но происходило это скорее всего из-за неправильно выбранного фронта тактового сигнала.
marat_mmx, вы пробовали подавать на линейный вход кодека только один канал (левый или правый)? У меня в одном из двух случаев молчит. Еще возможен один интересный момент - каналы меняются друг с другом.