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.

[参考译文] TLV320AIC3106:适用于 SPI 的 AM43xx Linux 参考集成

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1016974/tlv320aic3106-am43xx-linux-reference-integration-for-spi

器件型号:TLV320AIC3106

您好!

是否有任何示例代码可用于通过 SPI 将 TLV320AIC3106的纯 Linux 集成(DTS)集成到基于 AM 3/4/5的 Linux 系统中?

很抱歉这个直接问题、但基于 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/sound/tlv320aic3x.txt 、我们遇到了一些错误、并且-由于我们不是 Linux 音频领域的专家-我可能更容易从现有参考开始。

此致、谢谢
Peter

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

    您好、Peter、  

    您能否分享您遇到的错误?  

    此外、 我们在支持常见问题 页面上提供了有关驱动程序的更多信息。  

    此致、  

    Justin Beigel

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

    您好 Justin、

    以下是我根据您的常见问题解答和驱动程序文档进行的设置:

    	sound {
    		compatible = "simple-audio-card";
    		simple-audio-card,name = "SMaWay Audio";
    		simple-audio-card,widgets =
    			"Headphone", "Headphone Jack",
    			"Line", "Line In";
    		simple-audio-card,routing =
    			"Headphone Jack",	"HPLOUT",
    			"Headphone Jack",	"HPROUT",
    			"LINE1L",		"Line In",
    			"LINE1R",		"Line In";
    		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 = <&tlv320aic3x>;
    			system-clock-frequency = <12000000>;
    		};
    		
    	...
    	
    	&spi4 {
    	#address-cells = <1>;
        #size-cells = <0>;
    
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&spi4_pins>;
    
    	tlv320aic3x: codec@0 {
    		compatible = "ti,tlv320aic3x";
    		reg = <0>; // CS number
    		#sound-dai-cells = <0>;
    		spi-max-frequency = <1000000>;
    		AVDD-supply = <&dcdc4>;
    		DRVDD-supply = <&dcdc4>;
    		DVDD-supply = <&ldo1>;
    		ai3x-ocmv = <0>;
    	};
    };
    
    &mcasp0 {
    	#sound-dai-cells = <0>;
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&mcasp0_pins>;
    
    	status = "okay";
    
    	op-mode = <0>;          /* MCASP_IIS_MODE */
    	tdm-slots = <2>;
    	/* 4 serializers */
    	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
    		0 0 1 2
    	>;
    	tx-num-evt = <32>;
    	rx-num-evt = <32>;
    };
    

    在进行一些更改后、我实际上不再收到此警告:

    arch/arm/boot/dts/am437x-smaway.dtb: Warning (sound_dai_property): /sound/simple-audio-card,cpu: Missing property '#sound-dai-cells' in node /ocp@44000000/mcasp@4803c000 or bad phandle (referred from sound-dai[0])

    我可以忽略这一点、还是对如何优化 DTS 有进一步的建议?

    此致
    Peter

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

    尊敬的 Peter:

    如果这些只是警告、您现在很可能会忽略。
    遗憾的是、对音频转换器驱动程序的支持现在正在进行转换、因此我们无法为与硬件或器件本身无关的内容提供更多支持。

    此致、
    -Ivan Salazar
    应用工程师

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

    您好、Ivan、

    遗憾的是、这不仅是警告、而且内核未检测到模块。

    这是我的 DTS:

    	sound {
    		compatible = "simple-audio-card";
    		simple-audio-card,name = "SMaWay Audio";
    		simple-audio-card,widgets =
    			"Headphone", "Headphone Jack",
    			"Line", "Line In";
    		simple-audio-card,routing =
    			"Headphone Jack",	"HPLOUT",
    			"Headphone Jack",	"HPROUT",
    			"LINE1L",		"Line In",
    			"LINE1R",		"Line In";
    		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 = <&tlv320aic3x>;
    			system-clock-frequency = <12000000>;
    		};
    		
    ...
    
    	spi4_pins: spi4_pins {
    		pinctrl-single,pins = <
    			AM4372_IOPAD(0xa50, PIN_OUTPUT | MUX_MODE0) // (P25) spi4_sclk.spi4_sclk 
    			AM4372_IOPAD(0xa54, PIN_OUTPUT | MUX_MODE0) // (R24) spi4_d0.spi4_d0 
    			AM4372_IOPAD(0xa58, PIN_OUTPUT | MUX_MODE0) // (P24) spi4_d1.spi4_d1 
    			AM4372_IOPAD(0xa5c, PIN_OUTPUT | MUX_MODE0) // (N25) spi4_cs0.spi4_cs0 
    		>;
    	};
    
    ...
    
    &spi4 {
    	#address-cells = <1>;
        #size-cells = <0>;
    
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&spi4_pins>;
    
    	tlv320aic3x: codec@0 {
    		compatible = "ti,tlv320aic3x";
    		reg = <0>; // CS number
    		#sound-dai-cells = <0>;
    		spi-max-frequency = <1000000>;
    		AVDD-supply = <&dcdc4>;
    		DRVDD-supply = <&dcdc4>;
    		DVDD-supply = <&ldo1>;
    		ai3x-ocmv = <0>;
    	};
    };
    
    &mcasp0 {
    	#sound-dai-cells = <0>;
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&mcasp0_pins>;
    
    	status = "okay";
    
    	op-mode = <0>;          /* MCASP_IIS_MODE */
    	tdm-slots = <2>;
    	/* 4 serializers */
    	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
    		0 0 1 2
    	>;
    	tx-num-evt = <32>;
    	rx-num-evt = <32>;
    };

    鉴于 SPI4引脚排列正确、您是否有任何想法、我们可能出了什么问题?

    此致
    Peter

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

    尊敬的 Peter:

    我将看一下这个、看看是否有任何帮助、 尽管我不是驱动程序/软件方面的专家、 但正如前面提到的、目前对这些与芯片本身不直接相关的工具的支持是有限的。 如果我能提供任何意见、我将在本周结束前再次与您进行讨论。

    此致、
    -Ivan Salazar
    应用工程师

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

    感谢您的努力。 "过渡"是否意味着您正在放弃此产品系列、我们不应将该模块用于新设计?

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

    Peter、

    实际上、我所说的转换只是产品的支持。 该器件将保持正常生产、但会在支持和开发方面分配给不同的团队。

    此致、
    -Ivan Salazar
    应用工程师  

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

    有新消息吗?

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

    这种过渡持续多久、以及何时可以从您那里获得支持?
    随着测试和生产计划的中断、这给我们带来了一种严峻的形势。

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

    很抱歉、目前我们无法为驱动程序提供支持。

    对此、我深表歉意。