Thread 中讨论的其他器件: TAS2780
工具与软件:
您好!
我目前正在嵌入式 Linux 项目中将放大器集成在单声道扬声器配置中。
硬件设置为仅使用 PVDD (无 VBAT)、如 本常见问题解答中所述。
原理图:
PVBUS (连接到 PVDD 和 VBST)是可配置的、我们已将其设置为9V。
对于软件、我从 https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 的 for-next 分支中抓取了最新的驱动程序。 据我所知、运行时即使没有配置 DSP 参数也是如此。 我们正在使用内核5.10、所以我必须做一些小的改动才能编译它。
我使用 https://git.ti.com/cgit/tas2781-linux-drivers/tas2781-linux-driver/tree/regbin/toolset 中的 regbin 工具 以及包含的 JSON 文件 tas2563-1amp-reg.json 创建了固件二进制文件 、并 使用 config_extra_firmware 将其编译到内核中。
由于我们不使用 VBAT、因此在写入 bin 文件之前、我向每个上电配置添加了寄存器设置簿0x00、页0x00、寄存器0x33、值0xc4。
驱动程序抱怨 coef.bin 文件未预设:
# dmesg | grep tas2.
[0.706546] tasdev-codec 2-004f: tas2563_coef.bin 的直接固件加载失败,错误-2
[ 0.716538] tasdev-codec 2-004f:tasdevice_dsp_parser:load tas2563_coef.bin error
[0.724327] tasdev-codec 2-004f:dspfw load tas2563_coef.bin error
但我认为它无论如何都会加载,因为 我可以 在 amixer 中看到配置文件选择:
#其他内容
numid=2、iface=混频器、NAME='DMIC 高通滤波器1交换机'
; type=Boolean,access=rw----- 、值=1
: values=on
numid=3, iface=混频器, NAME='DMIC 高通滤波器2交换机'
; type=Boolean,access=rw----- 、值=1
: values=on
numid=4、iface=混频器、名称='DMIC 低通滤波器开关'
; type=Boolean,access=rw----- 、值=1
: values=on
numid=5、iface=混频器、名称="MMIC SW_LR 交换机"
; type=Boolean,access=rw----- 、值=1
: values=off
numid=1,iface=mixer, NAME='DMIC 卷'
; type=integer、access=rw--R--、values=1、min=0、max=31、step=0
: values=15.
|dBscale-min=0.00dB、step=3.00dB、MUTE=0
.... [多个多路复用器配置设置]....
numid=8、iface=混频器、NAME='Mixer0 LR_mix 交换机'
; type=Boolean,access=rw----- 、值=1
: values=off
numid=9、iface=混频器、NAME='MIXer0 MIX_MODE 选项'
; type=enomed,access=rw----- ,values=1、items=4
;项目#0 '线性加权加号'
;项目#1 '平均'
;项目#2 "夹紧"
;项目#3 '非线性变形'
: values=1
numid=6、iface=混频器、NAME="断点强制固件加载"
; type=Boolean,access=rw----- 、值=1
: values=off
numid=7,iface=Mixer,name='Speaker 配置文件 ID"
; type=integer、access=rw---- 、值=1、最小=0、最大=7、步进=0
: values=0
numid=10、iface=混频器、name='baic1_fmt'
; type=enomed,access=rw----- ,values=1、items=11
;项目#0 'PCMA'
;项目#1 'PCMB'
;项目#2 'DSPA'
;项目#3 "DSPB"
;项目#4 "TDM1A"
;项目#5 "TDM1B"
;项目#6 "TDM2A"
;项目#7 "TDM2B"
;项目#8'I2S'
;项目#9 '左侧'
;项目#10'右'
: values=8.
aplay 没有抱怨:
# aplay -l
****播放硬件设备列表****
卡0:dv20 [d_v20]、设备0:DMA1播放(*)[]
子器件:0/1
子器件#0:子器件#0
#在/data/sound/test.wav 上播放
Playing wave '/data/audio/test.wav : Signed 16 bit Little Endian, Rate 44100 Hz, Mono.
# i2cdump -y -f -r 0x00-0x7F 2 0x4f
未指定大小(使用字节数据访问)
0 1 2 3 4 5 6 7 8 9 A b c d e f 0123456789abcdef
00:00 00 00 20 C6 22 13 02 00 10 f1 46 44 04 05 06 ...????????
10:07 14 12 76 01 2e 60 0e 0c 00 fc A6 df ff 04???v?????`?????????????
20: 00 00 80 00 04 00 22 80 00 80 00 00 00 00 00 A2 .. ?
30:99 40 80 C4 4b 74 03 00 0d 0c be 58 68 08 10 00?@?kT??xH??。
40:76 41 D8 c0 10 21 00 b4 AC 00 00 00 00 00 00 VA??!??…
50:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 f0 00 00 00 00 80 00 00 00 00 00 10 7b 00 ...?...?...?{.
我接下来应该尝试什么?
谢谢!
Stephan