This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/TAS2552SW-Linux:如何使用ALSA片上系统(ASOC)

Guru**** 2364370 points
Other Parts Discussed in Thread: TAS2552
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/630142/linux-tas2552sw-linux-how-to-use-alsa-system-on-chip-asoc

部件号:TAS2552SW-Linux
主题中讨论的其他部件:TAS2552

工具/软件:Linux

我们希望将TAS2552放大器和转换器与基于ARM的嵌入式Linux配合使用。

但是,在配置DTS后,有ALSA弹力卡,但aplay显示错误:

aplay:set_params:1305:频道计数不可用

我们在DTS中配置了两个项目:

      tas2552_sound:tas2552-sound{
               状态="正常";
               兼容="简单音频卡";
               型号="ti-tas2550";

               音频路由=
                       "EXT SPK","Out (输出)",
                       "内置麦克风","输入";
               simile-audio-card,format ="I2S";
               simple-audio-card,name ="P5tas2552";
               简单音频卡,CPU{
                       sound-dai =<&i2s0>;
               };
               simple音频卡,codec{
                       sound-dai =<&tas2552>;
               };
       };

i2c2{
       状态="正常";
       时钟频率=<40万>;

       tas2552:tas2552@40{
               兼容="ti,tas2552";
               REG =<0x40>;
               #sound - dai细胞=<0>;
               VBAT-SUPPLY =<&VDDA_CODE>;
               IOVdd-supply =<&vccadc_ref>;
               avdD-supply=<&vccadc_ref>;
       };
};

这是 主板启动期间消息的摘录:

...
[   Linux]高级0.18.9809万 声音体系结构驱动程序已初始化。
...
[ 4.87.6924万   i2S-hifi <->ff8a0000.i2S映射正常
[ 4.88.8926万   ] asoc-simple-card tas2552-sound:tas2552-放大器<->ff88万.i2S映射正常
...
 [   ALSA] 5.13.1152万 设备列表:
[   HDMI]  #0:5.13.9035万 编解码器
[ 5.14.6635万   ]  #1:P5tas2552


[ OK ]已到达目标声卡。

要使用TAS2552作为默认值,我创建了/etc/asound.conf:

# cat /etc/asound.conf
pcm.!default {
   键入hw
   卡1
}

CTL.!默认值{
   键入hw
   卡1
}

使用ALSA-工具访问:

# aplay -l
****播放硬件设备列表****
卡0:HDMICODEC [HDMI-codec],设备0:ff8a0000.I2S-I2S-hifi I2S-hifi-0[]
 子设备:1/1
 子设备#0:子设备#0
卡1:P5tas2552 [P5tas2552],设备0:ff88万.I2S-tas2552-放大2552放大器tas2552-ampler-0 []
 子设备:1/1
 子设备#0:子设备#0
# aplay -L

   丢弃所有样本(回放)或生成零样本(捕获)
sysdefault:card=hdicodec
   HDMI-codec,
   默认音频设备
sysdefault:card=P5tas2552
   P5tas2552,
   默认音频设备
# amixer set 'Speaker Driver' 100 % (amixer设置程序驱动程序)
简单的混音器控制'Spaker Driver',0
 功能:pvolume pvolume-joined
 回放频道:单声道
 限制:播放0 - 31
 单声道:播放31 [ 100 % ][24.00dB]
# amixer set 'Input Selection'"Digital"(输入选择)
简单混合器控制'Input Selection',0
 能力:枚举
 项目:数字式模拟式
 项目0:数字
# aplay -v -c 1 -t raw /usr/share/doc/sounds/alsa/Noise.wav
播放wave '/usr/share/sounds/alsa/noise.wav':签名的16位Little Endian,速率4.8万 Hz,Mono
aplay:set_params:1305:频道计数不可用

 

 我们非常感谢您提供任何提示。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,用户512.9649万,

    您正在哪台TI器件上运行嵌入式Linux?

    此致,
    Pavel
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    哈罗!

    Linux正在另一个CPU上运行(RK3399 -抱歉),但 AOC可与HDMI配合使用。

    我们认为TI TAS2552可以由任何具有I2S和I2C接口的SoC驱动。

    我们使用buildroot创建rootfs,内核也由我们编译。

    HDMI上的以下DTS声音。 这就是为什么我的ASOC应该与RK3399合作的原因。

    DW_HDMI_audio:DW-HDMI-audio{
    状态="已启用";
    兼容="Rockchip,dw-HDMI-audio";
    #sound - dai细胞=<0>;
    };
    
    HDMI_CODEC:HDMI-CODEC{
    兼容="简单音频卡";
    simile-audio-card,format ="I2S";
    simple-audio-card,MCLK-FS =<256>;
    simple-audio-card,name ="HDMI-codec";
    
    简单音频卡,CPU{
    sound - dai =<&i2s2>;
    };
    
    simple音频卡,codec{
    SOUND DAI =<&HDMI>;
    };
    };
    
    HDMI_sound:HDMI-sound{
    状态="已禁用";
    兼容="简单音频卡";
    simile-audio-card,format ="I2S";
    simple-audio-card,MCLK-FS =<256>;
    simple-audio-card,name =“Rockchip,HDMI”;
    
    简单音频卡,CPU{
    sound - dai =<&i2s2>;
    };
    simple音频卡,codec{
    SOUND DAI =<&HDMI>;
    };
    };
    

    此致,

    Klaus

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Klaus,

    此问题似乎特定于TAS2552放大器。 我建议您在音频放大器论坛上提问/发帖:

    e2e.ti.com/.../6

    此致,
    Pavel