器件型号: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>; };