This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM625:TLV320AIC3106 的 MIC 未能记录

Guru**** 2337870 points
Other Parts Discussed in Thread: TLV320AIC3106
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1519285/am625-the-mic-in-of-tlv320aic3106-is-unable-to-record

器件型号:AM625
主题:TLV320AIC3106 中讨论的其他器件

工具/软件:

问题描述:

  我使用了 TLV320AIC3106、并发现当中的 MIC 录制声音时、它无法做到这一点。 但是、此芯片的输入线路和 SPK 功能正常。

我的 DTS 配置:

/{
......
    tlv320_mclk: clk-0 {
		#clock-cells = <0>;
		compatible = "fixed-clock";
		clock-frequency = <12288000>;
	};

	codec_audio: sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "scb7138-audio";
		simple-audio-card,widgets =
			"Headphone",	"Headphone Jack",
			"Line",		"Line In",
			"Microphone",	"Microphone Jack";
		simple-audio-card,routing =
			"Headphone Jack",	"HPLOUT",
			"Headphone Jack",	"HPROUT",
			"LINE1L",		"Line In",
			"LINE1R",		"Line In",
			"LINE2L",		"Microphone Jack",
			"Microphone Jack",	"Mic Bias";
		simple-audio-card,format = "dsp_b";
		simple-audio-card,bitclock-master = <&sound_master>;
		simple-audio-card,frame-master = <&sound_master>;
		simple-audio-card,bitclock-inversion;

		simple-audio-card,cpu {
			sound-dai = <&mcasp1>;
		};

		sound_master: simple-audio-card,codec {
			sound-dai = <&tlv320aic3106>;
			clocks = <&tlv320_mclk>;
		};
	};
};

&main_pmx0 {

	main_i2c1_pins_default: main-i2c1-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17/A17) I2C1_SCL */
			AM62X_IOPAD(0x1ec, PIN_INPUT_PULLUP, 0) /* (A17/A16) I2C1_SDA */
		>;
	};


	main_mcasp1_pins_default: main-mcasp1-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x090, PIN_INPUT, 2) /* (M24) GPMC0_BE0N_CLE.MCASP1_ACLKX */
			AM62X_IOPAD(0x098, PIN_INPUT, 2) /* (U23) GPMC0_WAIT0.MCASP1_AFSX */
			AM62X_IOPAD(0x08c, PIN_OUTPUT, 2) /* (L25) GPMC0_WEN.MCASP1_AXR0 */
			AM62X_IOPAD(0x084, PIN_INPUT, 2) /* (L23) GPMC0_ADVN_ALE.MCASP1_AXR2 */
		>;
	};
};

&mcasp1 {
	status = "okay";
	#sound-dai-cells = <0>;

	pinctrl-names = "default";
	pinctrl-0 = <&main_mcasp1_pins_default>;

	op-mode = <0>;          /* MCASP_IIS_MODE */
	tdm-slots = <2>;

	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
	       1 0 2 0
	       0 0 0 0
	       0 0 0 0
	       0 0 0 0
	>;
	tx-num-evt = <0>;
	rx-num-evt = <0>;
};

&main_i2c1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c1_pins_default>;
	clock-frequency = <100000>;

	tlv320aic3106: audio-codec@1b {
		#sound-dai-cells = <0>;
		compatible = "ti,tlv320aic3106";
		reg = <0x1b>;
		ai3x-micbias-vg = <0x2>;	/*  2.5V */

		/* Regulators */
		AVDD-supply = <&vcc_3v3_sys>;
		IOVDD-supply = <&vcc_3v3_sys>;
		DRVDD-supply = <&vcc_3v3_sys>;
		DVDD-supply = <&vcc_1v8>;
	};
};

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Chauncy、

    对此处延迟的回复表示歉意。

    您使用的是哪个版本的 Linux SDK? 您使用的是定制电路板还是 TI EVM?

    您如何运行测试?

    • 请提供终端输出、以便我们能够准确地看到您正在执行的步骤以及看到的任何输出。
    • 请提供您的终端输出、以便我们可以看到外设在引导期间是如何初始化的

    此致、

    Nick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Chauncy:

    我从您的 DTS 中了解到编解码器是时钟启动器、MCASP 正在接收时钟。 在我们的 EVM 上也是如此。

    播放是否正常?  在编解码器和 MCASP 连接方面、与我们的 EVM 和定制电路板有何不同?

    您能否还分享一下、是否能够在逻辑分析仪/示波器上正确地看到 BCLK 和 WCLK/帧同步? 预期 BCLK 和 WCLK 是什么?

    您是否在 McASP1 的 AXR 引脚上看到了数据?  

    此致、

    Suren

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

     :是使用 MIC 时测得的波形、以 μ A 为单位

      下面是我的测试站点的图片:

     

     以下是使用 i2c 工具读出的寄存器值:

    root@sbc7138:~# i2cdump -f -y 1 0x1b
    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 10 04 00 00 00 00 00 00 01 00 00 00 80    ...??......?...?
    10: 80 ff ff 78 78 78 78 78 78 06 00 fe 00 00 fe 00    ?..xxxxxx?.?..?.
    20: 00 00 00 00 00 00 00 00 00 00 00 80 80 00 00 00    ...........??...
    30: 00 00 00 04 00 00 00 00 00 00 04 00 00 00 00 00    ...?......?.....
    40: 00 04 00 00 00 00 00 00 04 00 00 00 00 00 00 00    .?......?.......
    50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    60: 00 00 00 00 00 c0 02 00 00 00 00 00 00 00 00 00    .....??.........
    70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    80: 00 00 00 10 04 00 00 00 00 00 00 01 00 00 00 80    ...??......?...?
    90: 80 ff ff 78 78 78 78 78 78 06 00 fe 00 00 fe 00    ?..xxxxxx?.?..?.
    a0: 00 00 00 00 00 00 00 00 00 00 00 80 80 00 00 00    ...........??...
    b0: 00 00 00 04 00 00 00 00 00 00 04 00 00 00 00 00    ...?......?.....
    c0: 00 04 00 00 00 00 00 00 04 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 c0 02 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    ................
    root@sbc7138:~# 
    root@sbc7138:~# i2cset -y -f 1 0x1b 0x00 0x01
    root@sbc7138:~# 
    root@sbc7138:~# i2cdump -f -y 1 0x1b
    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: 01 6b e3 96 66 67 5d 6b e3 96 66 67 5d 7d 83 84    ?k??fg]k??fg]}??
    10: ee 7d 83 84 ee 39 55 f3 2d 53 7e 6b e3 96 66 67    ?}???9U?-S~k??fg
    20: 5d 6b e3 96 66 67 5d 7d 83 84 ee 7d 83 84 ee 39    ]k??fg]}???}???9
    30: 55 f3 2d 53 7e 7f ff 00 00 00 00 00 00 00 00 00    U?-S~?..........
    40: 00 7f ea 80 16 7f d5 7f ea 80 16 7f d5 00 00 00    .????????????...
    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 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    80: 01 6b e3 96 66 67 5d 6b e3 96 66 67 5d 7d 83 84    ?k??fg]k??fg]}??
    90: ee 7d 83 84 ee 39 55 f3 2d 53 7e 6b e3 96 66 67    ?}???9U?-S~k??fg
    a0: 5d 6b e3 96 66 67 5d 7d 83 84 ee 7d 83 84 ee 39    ]k??fg]}???}???9
    b0: 55 f3 2d 53 7e 7f ff 00 00 00 00 00 00 00 00 00    U?-S~?..........
    c0: 00 7f ea 80 16 7f d5 7f ea 80 16 7f d5 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    ................
    root@sbc7138:~# 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Chauncy:

    您期望的 BCLK、WCLK 是什么?

    此外、如果启用了 RXACTIVE、您是否能够检查 padconfig 寄存器、以便记录功能正常?

    此致、

    Suren

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

     我不太清楚中 MIC 处于正常状态的 BCLK 和 WCLK 如何。

     另外、我是否可以询问在哪个文件中可以查看此寄存器的详细信息? 我在此处的材料中找不到有关它的说明。

    感谢你的帮助

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Chauncy:

    您预期的 BCLK 和 WCLK 的值是多少? 您是否检查过 McASP1 寄存器或 McASP1 引脚以查看这些所需的时钟频率?

    L23 的 padconfig 寄存器为 F4084h。 使用 devmem2 和此地址转储值。

    此致、

    Suren