• Внешний USB-ЦАП-Аудиопроцессор CDD-010 можно купить

Nano Pi Neo Armbian ADAU1701 ad1938 многоканальный звук

alexander_v

Member
Добрый день уважаемые форумчане. имеется одноплатный компьютер с установленным Армбианом. есть большое желание вывести многоканальный звук TDM.
Armbian Ядро 5.15
Как я понял нужен правильный файл dtbo размещённый в overlays-user и прописанный при старте.
Для теста нашел файл dts для pcm5102 его чуть поправил под мою шину и скомпилировал в DTBO прописал в стартовом файле . - ЗАВЁЛСЯ! но Стерео. ну тут вариантов других и не могло быть.
В папке usr/lib/modules/5.15.74-sunhi/kernel/sound/soc/codecs лежат множество интересных KO файлов в том числе файл 5102.
тут нашел их еще до компиляции в КО https://git.kernel.org/pub/scm/linu...ux.git/tree/sound/soc//codecs/?h=linux-5.15.y

Вопрос как завести например ad193x, как его правильно в dts(DTBO) сконфигурировтаь ?

Подскажите други приятели!
 

Евгений

Administrator
Команда форума
Ваш одноплатный компьютер точно поддерживает многоканальный звук в TDM?
 

alexander_v

Member
Ваш одноплатный компьютер точно поддерживает многоканальный звук в TDM?
Думаю что скорее да.
Это же реализация шины и драйвера.
В папке usr/lib/modules/5.15.74-sunhi/kernel/sound/soc/codecs имеются множество кодеков где присутствует tdm режим

Я не могу разобраться с синтаксисом dts dtbo файла. Думал что подключить через simple audio card
 

Евгений

Administrator
Команда форума
Думаю что скорее да.
Это же реализация шины и драйвера.
В папке usr/lib/modules/5.15.74-sunhi/kernel/sound/soc/codecs имеются множество кодеков где присутствует tdm режим
Двухканальный звук тоже называют TDM. Например, Raspberry не поддерживает многоканальный звук в TDM.
 

alexander_v

Member
Двухканальный звук тоже называют TDM. Например, Raspberry не поддерживает многоканальный звук в TDM.
вот кусок кода с одноплатника .... получается что тут тдм есть многоканальный

static int ad193x_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask,
unsigned int rx_mask, int slots, int width)
{
struct ad193x_priv *ad193x = snd_soc_component_get_drvdata(dai->component);
unsigned int channels;

switch (slots) {
case 2:
channels = AD193X_2_CHANNELS;
break;
case 4:
channels = AD193X_4_CHANNELS;
break;
 

alexander_v

Member
Насколько помню, у ad193 вообще нет 4-х канального режима: либо 2 канала, либо 8. Ничего по этому сказать не могу.
Не понимаю я просто этот файл и его синтаксис, dtbo который .... .
Как его пправильно писать что за фрагменты в нём.. есть ли у вас понимание?
ТАк то если бы понять можно на основании драйверов понаписать правильную инициализацию
 

Евгений

Administrator
Команда форума
Это кусок что бы не засорять. там дальше есть как раз про 8 каналов еще код
Речь идет про приведенный кусок кода, точнее про 4-х канальный режим ad193, в котором в TDM этот кодек не работает. Возможно, подразумевается подключение к нескольким линиям данных I2S (или двухканального TDM) для вывода с ad193 4-х и 6-х канального звука, т.к. повторюсь: у ad193 вообще нет 4-х канального режима в TDM, он так не работает. Поэтому сначала имеет смысл убедиться, что Ваш одноплатный компьютер точно может выводить многоканальный звук в TDM.
 

alexander_v

Member
а как с синтаксисом файда dts. ? вы не поможете? simplе audi card не даст результатов?
 

alexander_v

Member
так я уже пробовал искать , почему инициализации есть несколько сигментов я так и не понял. вот пример моего стерео вывода

/dts-v1/;
/plugin/;

/ {
compatible = "allwinner,sun8i-h3";

fragment@0 {
target-path = "/";
__overlay__ {
pcm5102a: pcm5102a {
#sound-dai-cells = <0>;
compatible = "ti,pcm5102a";
pcm510x,format = "i2s";
};
};
};

fragment@1 {
target = <&i2s0>;
__overlay__ {
status = "okay";
pinctrl-0 = <&i2s0_pins>;
sound-dai = <&pcm5102a>;
pinctrl-names = "default";
};
};

fragment@2 {
target-path = "/";
__overlay__ {
sound_i2s {
compatible = "simple-audio-card";
simple-audio-card,name = "I2S-master";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,format = "i2s";
status = "okay";

simple-audio-card,cpu {
sound-dai = <&i2s0>;
};

simple-audio-card,codec {
sound-dai = <&pcm5102a>;

};
};
};
};
 

alexander_v

Member
Речь идет про приведенный кусок кода, точнее про 4-х канальный режим ad193, в котором в TDM этот кодек не работает. Возможно, подразумевается подключение к нескольким линиям данных I2S (или двухканального TDM) для вывода с ad193 4-х и 6-х канального звука, т.к. повторюсь: у ad193 вообще нет 4-х канального режима в TDM, он так не работает. Поэтому сначала имеет смысл убедиться, что Ваш одноплатный компьютер точно может выводить многоканальный звук в TDM.
сейчас включил , но еще не нарисовал схему в сигме, разве это не список режимов???
 

Вложения

alexander_v

Member
у меня TDM на ad1938 завелся, но пока с регистрами не поняток, но с 1 шины 1 вход 1938 раздаёт на все, и внутренним регулятором уровня рулит в 1938. но пока не полная победа
 
Последнее редактирование:

alexander_v

Member
Речь идет про приведенный кусок кода, точнее про 4-х канальный режим ad193, в котором в TDM этот кодек не работает. Возможно, подразумевается подключение к нескольким линиям данных I2S (или двухканального TDM) для вывода с ad193 4-х и 6-х канального звука, т.к. повторюсь: у ad193 вообще нет 4-х канального режима в TDM, он так не работает. Поэтому сначала имеет смысл убедиться, что Ваш одноплатный компьютер точно может выводить многоканальный звук в TDM.
В описании процессора моего Даташит, есть описание поддержки многоканального вывода звука до 16 каналов. Поэтому тут вопрос как запустить и через что. 525 страница например
 
Верх