Не нашел той ветки, где обсуждался запуск этого кодека.
Прикрутил его к своей плате, но драйвер взял не тот что обсуждается здесь, а тот что входит в ядро (ALSA SoC). Отличия в том, что все что касается ALSA, SSC и SPI для TLVaic23 уже реализовано. Оставалось написать свой небольшой "мостик" (что я и сделал), в котором вся специфика платы (MCLK для кодека, SPI...) Вобщем работает.
если кому интересно - поделюсь опытом и исходниками.
------
Пользуясь случаем хочу выразить свой "ах" от нового форума.
Это что-то с чем-то
2 Pavel Ivanchenko. Эх-хе-хех.. файлик то лежит, скачал. И.. никакой инструкции. Куда положить, как к ядру подключать.. нифига не понятно. Пробую положить рядом с at73 и прописать по образу и подобию, в логе:
ASoC version 0.13.1
ALSA device list:
#0: Dummy 1
Возможно (традиционно) надо править конфиг платы, но как?
Забыл упомянуть, плата SK-AT91AM9, чип TLV320 (паял сам), + пара кондюков на выход, блокировочники пока не ставил.
2alexey123 Если не жалко - поделитесь крупицами мастерства. А то чип запаял, а экспресс-проверку исправности монтажа сделать не могу - обидно, да :)))
тэкс.. легкий прогресс:
Advanced Linux Sound Architecture Driver Version 1.0.15 (Tue Nov 20 19:16:42 2007 UTC).
tlv320aic23b spi1.0: tlv320aic23b: supported bitrate is 47348 (66 divider)
ASoC version 0.13.1
ALSA device list:
#0: Dummy 1
#1: AT91SAM9260-EK external DAC on irq 14
команда
[@Armets /dev]$cat /bin/busybox >/dev/dsp1
tlv320aic23b: playback bitrate is 47348 (66 divider)
генерит мерзкое петюкание в наушниках, что указывает на вероятно исправный монтаж..
счас налью *.wav и попробую скормить туда же :)
ps сливаю в /dev/dsp маздайский вав - хрюкание отдаленно напоминающее исходное звучание - хм.. буду дальше ковырять
если пальцем потыкать в старшие пины tlv320, то возникает фоновая наводка, вывод - входы работают :)
для запуска ASoC-драйвера для aic23b мне потребовалось дописать spi-часть в /soc/codecs/tlv320aic23.c и внести дополнения в /soc/at91/at91-ssc.c (особенности подключения кодека к 9260).
если авторский драйвер уже звучит - оптимально доработать его.
>>хрюкание отдаленно напоминающее исходное звучание
я бы времянки на SSC посмотрел.
Ничего дорабатывать не требуется - все и так работает.
Дело в том, что /dev/dsp - это символьное устройство, и оно ждет звуковой поток только в том формате на который настроено. А настроено оно на 16 бит стерео с частотой 48кГц. Ваш WAV файл скорее не в таком формате записан, поэтому вы и слышите хрюкание похожее на оригинал.
Так что можете сконвертировать WAV в указанный формат и все будет работать или поставьте на плату какой нибудь плеер, например madplay.
Если у вас подключен микрофон или линейный вход, то проще всего сделать запись с него и воспроизвести ее:
Имейте ввиду, на платах Павла перепутаны линейный и микрофонный входы.
При выводе "нормальных" wav-файлов на dsp надо иметь ввиду, что наличие заголовка в файле, в котором указывается формат, приведет к сильному щелчку в начале воспроизведения.
Спасибо за дельные мысли, я о таком размышлял пока шел с работы. Странно что хрюки были слегка мелодичные, мне думалось что PCM это пакованный формат, а не бинарный синус.. надо будет в редакторе глянуть.
Сегодня с утреца в buildroot собрал madplayer и mp123, в результате 96кбпс mp3 звучал довольно чисто а вот 128+ с хрустом и паузами.. на WAV оба поморщились и отказались проигрывать.. где-то что недонастроенно..
И самое неприятное, что при "холодном" запуске платы звук.. отсутствует. Драйвер встает, SPI встает, SSC тоже, ALSA рапортует мол есть девайс. Плейер делает вид что играет а звука нет. Впечатление, что не доходит тактовая до кодека.
С горя собрал AUMIX, не помогло..
ЗЫ Попробовал проиграть звук из интернета - работает. Прикольно :)
Кстати, есть момент с тактовой SPI ...
Драйвера у атела могучие, а линия длинная получилась (она еще на разъем выведена), видимо овершоты на фронтах образуются и кодек на это болезненно реагирует, мне иногда приходится довешивать емкость ~100пФ на тактовую SPI.
В новой ревизии платы устранил этот эффект.