Linux音频调试示例

本文详述了Linux系统下音频调试的过程,包括硬件设计、设备树配置、驱动程序、激活音频流及问题定位。内容涵盖在设备树中添加i2c设备、使能i2s总线、播放与录音的实现,以及针对声卡未识别和录音/播放失败的故障排查方法。同时,提到了用于调试的alsa-utils工具的使用。
摘要由CSDN通过智能技术生成

Linux音频调试示例

Posted 2023-04-01 xxccry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux音频调试示例相关的知识,希望对你有一定的参考价值。

Linux音频调试示例

硬件设计

cpu codec peripheral interface
nvidia-jetson max9867 line-in×1, hp×1

  codec与cpu之间通过i2c读写寄存器,i2s传输音频信号(i2s总线简介)。
  cpu作为主设备,codec作为从设备,cpu提供主时钟(aud_mclk)。
  codec连接1路line-in,1路headphone。

设备树

  因为cpu是nvidia jetson系列,所以基于Nvidia官方释放的“L4T Sources”(Jetson下载中心)修改。

在i2c节点添加设备

/ 
	i2c@c250000 		// 硬件连通的i2c通道
		status = "okay";
		max9867: codec@18 
			compatible = "maxim,max9867";		// 与官方驱动匹配
			reg = <0x18>;						// i2c地址
		;
	;
;

使能i2s总线

// 在tegraxx_soc_audio.dtsi中查找
/ 
	aconnect@2a41000 
		ahub 
			i2s@2901300 		// 硬件连通的i2s通道
				status = "okay";
			;
		;
	;
;

添加dai_link

/ 
	sound 
		status = "okay";
		compatible = "nvidia,tegra-audio-t186ref-mobile";		// 修改,与rt565x解绑
		nvidia,model = "tegra-snd-t19x-mobile";		// 修改,与rt565x解绑

		nvidia,audio-routing =		// 需要与codec驱动匹配,从右到左,代表数据流向
                					// x是前缀,与dai-link的name-prefix匹配
			"x LINE_IN",    "x Linein",
			"x Headphone",  "x HPOUT"
                        
		nvidia,dai-link-
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_20312079

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值