器件型号:TAS2563
工具/软件:
尊敬的团队:
我正在 AM623平台上使用内核版本为6.6.15的 TAS2563编解码器。
当我尝试使用播放音频文件样本时aplay,我没有收到任何错误,但没有音频输出。
根据寄存器转储、B0P0R0x11=0x24表示SBCLK:FSYNC=64采样率配置为48 kHz、这与我的设置一致。 但是、寄存器B0P0R0x24=0x04显示 TDM 时钟错误。
有什么我可能会错过的吗?
播放时:
$ sudo aplay -D hw:0,0 a1.wav -v Playing WAVE 'a1.wav' : Signed 32 bit Little Endian, Rate 48000 Hz, Mono Hardware PCM card 0 'AM623-GTC700C' device 0 subdevice 0 Its setup is: stream : PLAYBACK access : RW_INTERLEAVED format : S32_LE subformat : STD channels : 1 rate : 48000 exact rate : 48000 (48000/1) msbits : 32 buffer_size : 24000 period_size : 6000 period_time : 125000 tstamp_mode : NONE tstamp_type : MONOTONIC period_step : 1 avail_min : 6000 period_event : 0 start_threshold : 24000 stop_threshold : 24000 silence_threshold: 0 silence_size : 0 boundary : 6755399441055744000 appl_ptr : 0 hw_ptr : 0 $ amixer Simple mixer control 'Speaker Digital',0 Capabilities: volume volume-joined Playback channels: Mono Capture channels: Mono Limits: 0 - 255 Mono: 253 [99%] [5.00dB] Simple mixer control 'Speaker Force Firmware Load',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [on] Simple mixer control 'Speaker Profile Id',0 Capabilities: volume volume-joined Playback channels: Mono Capture channels: Mono Limits: 0 - 7 Mono: 7 [100%] $
执行以下操作时的寄存器转储:
$ i2cdump -f -y 3 0x4c
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 00 00 20 c6 22 09 02 20 10 f1 02 00 04 05 06 ... ?"?? ???.???
10: 07 24 12 76 01 2e 60 0e 0c 00 fc a6 df ff ff 00 ?$?v?.`??.???...
20: 00 11 00 00 04 00 51 80 00 dc 34 c0 7c 8c c0 a7 .?..?.Q?.?4?|???
30: 99 40 81 34 4b 74 01 00 0d 0c be 58 68 08 10 00 ?@?4Kt?.???Xh??.
40: 76 41 d8 c0 10 21 00 4e ac 4d c0 00 00 00 00 00 vA???!.N?M?.....
50: 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 ................
70: 00 00 00 f0 00 0f 00 00 cc 00 00 00 00 10 98 00 ...?.?..?....??.
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
器件树配置:
codec_audio: sound {
compatible = "simple-audio-card";
simple-audio-card,name = "AM623-GTC700C";
simple-audio-card,widgets =
"Speaker", "Internal Speaker",
"Microphone", "Internal Mic";
simple-audio-card,routing =
"Internal Speaker", "OUT",
"DMIC", "Internal Mic";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&sound_master>;
simple-audio-card,frame-master = <&sound_master>;
simple-audio-card,mclk-fs = <256>;
simple-audio-card,bitclock-inversion;
sound_master: simple-audio-card,cpu {
sound-dai = <&mcasp2>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <32>;
};
simple-audio-card,codec {
sound-dai = <&tas2563>;
};
};
tas2563: tas2563@4c{
status = "okay";
reg = <0x4c>;
compatible = "ti,tas2563";
#sound-dai-cells = <0>;
ti,imon-slot-no = <0>;
ti,vmon-slot-no = <0>;
ti,asi-format = <0>;
ti,left-slot = <0>;
ti,right-slot = <1>;
};
&mcasp2 {
status = "okay";
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&main_mcasp2_pins_default>;
op-mode = <0>; /* MCASP_IIS_MODE */
tdm-slots = <2>;
assigned-clock-rates = <12288000>;
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
2 2 1 0
>;
tx-num-evt = <32>;
rx-num-evt = <32>;
};
