LINUX.ORG.RU

Linux ASoC: работа с кодеком WM9093


0

1

Всем доброго времени суток!

Есть SoC MSM7227, есть усилитель WM9093, подсоединенный к SoC (к аудиовыходам и к GPIO для управления им через I2C).
Для MSM7227 есть аудио устройство, им можно управлять через какой нибудь alsamixer, играть в него звук и т.п.
С WM9093 все не понятно. I2C устройство зарегистрировано на соответствующих GPIO выводах, драйвер (модуль) WM9093 загружается, устройство опознает, но со стороны Alsa ничего не видно. Содержимое /proc все тоже самое, никаких новых звуковых устройств не появилось, как управлять усилителем - не понятно. Я ожидал что вышеописанного достаточно.

В Documentation/sound/alsa/soc/ написано что ASoC подсистема состоит из трех частей: кодек, платформоспецифичный код, устройствоспецифичный код. Я так понимаю что по данной схеме WM9093 это кодек, есть код платформы MSM7227, а вот последнего звена нету. Т.е. должен быть «клей», как я понимаю, для регистрации первых двух компонентов в Alsa.

Подскажите куда копать. Где найти примеры кода и доки?

★★★★★

>есть усилитель WM9093

Подскажите куда копать.


С такими знаниями электроники тебе долго копать придется. Эти кодеки в первую очередь ЦАП, усилителя у него вообще может не быть. Примеров «клея» до и более в sound/soc/

bakugan
()
Ответ на: комментарий от bakugan

Это именно усилитель, на сайте производителя написано.
Насколько я понял, в sound/soc/ нет board(machine)-специфичного кода, только platform и codec. По идеи такой должен быть в каком нибудь arch/arm/mach-msm/board_name. Естественно такой там будет только в исходниках ядра конкретного устройства, которое использует эти кодеки.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

Извини был не прав, это действительно усилитель похоже, но ты сам виноват :-)

ASoC: работа с кодеком WM9093


под кодеком в альсе понимается аудио цап/ацп.

Насколько я понял, в sound/soc/ нет board(machine)-специфичного кода


Там все есть — и драйверы интерфейса (i2s, ac97) со стороны ЦПУ и общий для кодеков код (./codec) и платформо-специфичный код (там же где и код соответствующей платформы). Пример «клея» для DAI например для sh4 — sound/soc/sh/fsi-ak4642.c. Аналогично есть и для других платформ, где-то он совсем простой как в sh а где и посложней — например добавлен код для мультиплексора каналов, настройки генераторов и тд.

bakugan
()
Ответ на: комментарий от bakugan

Спасибо!

Написал что это кодек т.к. его код лежит в sound/soc/codecs/.
Может быть я спросил не совсем то что мне нужно. Посмотрел wm9093.c, увидел там такой комментарий:
/* We're not really registering as a CODEC since ASoC core
* does not yet support multiple CODECs but having the CODEC
* structure means we can reuse some of the ASoC core
* features.
*/
Так что может быть эта штука заводится как нибудь по-другому.
Посоветуй что нибудь почитать на тему ASoC, чтобы понимать как оно работает, а не методом тыка.

ls-h ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.