AnsweredAssumed Answered

imx6DL+TC358743 audio 問題

Question asked by Frank Weng on May 10, 2018
Latest reply on May 22, 2018 by li weihua

imx6DL  與 TC358743 ADU 介面只有採用Transmit 0/receive 3 mode,線路RXD/RXFS/RXCLK

RXFS(48KHZ) and RXCLK(3Mhz) 都由TC358743 產生,RXD 也有訊息

有關audio dts 設定如下

sound-hdmi-input {
   compatible = "fsl,imx-audio-tc358743";
   cpu-dai = <&ssi2>;
   model = "imx-audio-tc358743";
   mux-int-port = <2>;
   mux-ext-port = <5>;
   pinctrl-names = "default";
   pinctrl-0 = <&pinctrl_audmux_tc358743>;
   status = "okay";
};

&ssi2 {
   status = "okay";
};

 

pinctrl_audmux_tc358743: audmux-tc358743grp {
fsl,pins = <
   MX6QDL_PAD_DISP0_DAT13__AUD5_RXFS 0x130b0
   MX6QDL_PAD_DISP0_DAT14__AUD5_RXC 0x130b0
   MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0
>;
};

 

 

在TC358743 source code Audio  hw_params 相關設定如下

 

 snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_IF |
SND_SOC_DAIFMT_CBM_CFM);


 snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S |SND_SOC_DAIFMT_NB_NF |
SND_SOC_DAIFMT_CBM_CFM);


snd_soc_dai_set_sysclk(codec_dai, 0,CODEC_CLOCK, SND_SOC_CLOCK_OUT);

snd_soc_dai_set_tdm_slot(cpu_dai, 0xffffffc, 0xffffffc, 2, 0);

snd_soc_dai_set_sysclk(cpu_dai, IMX_SSP_SYS_CLK, 0,SND_SOC_CLOCK_IN);
ptcr=[0xe739c800]  pdcr=[0x8000]

 

 

debug log

root@FA30H_HW100:/proc/asound/card1/pcm0c # dmesg | grep -A15 tc358743-hifi
imx-tc358743 sound-hdmi-input: tc358743-hifi <-> 202c000.ssi mapping ok
rtc-m41t80 2-0068: setting system clock to 2018-05-10 11:29:19 UTC (1525951759)
VGEN1: disabling
SW4: disabling
usb_otg_vbus: disabling
ALSA device list:
   #0: imx-hdmi-soc
   #1: imx-audio-tc358743

 

tc358743 hdmi input audio 與 202c000.ssi mapp ok

tc358743 Audio 為 pcmC1D0c

使用tinycap 對 pcmC1D0c 進行錄音動作,但並無抓取任何資料

/sdcard/Music/hdmi_test.wav -D 1 -d 0 -r 48000 -c 2 <
Capturing sample: 2 ch, 48000 hz, 16 bit
Captured 0 frames

 

請問是那裡沒有設定成確,造成無法進行錄音,

是否有相關真對audio只使用Receive mode(RXD/RXFS/RXCLK) 設定文件。

Outcomes